1A minimal software processor in whose context a series of instructions can be executed.
Saving its context implies stopping the current execution and saving all the data needed to continue the execution at a later stage.
Thread
2A software processor in whose context one or more threads may be executed.
Executing a thread, means executing a series of instructions in the context of that thread.
process
3The minimal collection of values stored in the registers of a
processor used for the execution of a series of instructions (e.g., stack pointer,
addressing registers, program counter)
processor context
4The minimal collection of values stored in registers and
memory, used for the execution of a series of instructions (i.e., processor
context, state)
Thread context
5The minimal collection of values stored in registers and
memory, used for the execution of a thread (i.e., thread context, but now also
at least MMU register values)
Process context
6Do threads or processes share the same address space?
threads
7What is "cheaper" thread switching or process switching?
thread
8what is an example of 1 indirect cost for context switching
cache misses
9This describes what kind of thread?:
all operations can be handled within a single process
all services provided by the kernel are done on behalf of the process where the thread lives
threads are used when there are many external events
threads block on a per event basis
user threads
10This describes what kind of thread?:
the kernel has an implementation of threads
if a thread is blocked the kernel can schedule the thread associated with the event
thread signaling is done by the kernel
each thread operation requires a trap to the kernel
kernel threads
11What does this describe?:
kernel threads managing user threads
hybrid threads
12When user level threads block, __ also is blocked
the process
13What is TLP?
thread level parallelism
14Why is ___ important?:
hardware changes faster than software
ease of portability and code migration
isolation of failing or attacked components
virtualization
15A VM with a seperate set of instructures, an interpereter/emulator, running atop an OS
Process VM
16A VM with low-level instructions, along with bare-bones minimal operating system.
Native VMM
17A VM with low-level instructions, but delegating most work to a full-fledged OS
Hosted VMM
18if and only if executed in
user mode, it causes a trap to the operating
system
privilaged instruction
19An instruction that may affect configuration of a machine (e.g., one affecting
relocation register or interrupt table)
control-sensitive instruction
20An instruction whose effect is partially determined by context (e.g., POPF sets an
interrupt-enabled flag, but only in system mode).
behavior-sensitive instruction
21condition for virtualization
All sensitive instructions must be privilaged instructions
22modify guest OS, either by preventing nonprivileged sensitive instructions, or
making them nonsensitive (i.e., changing the context)
paravirtualization
23a collection of processes in a container that is given their own view of identifiers
Namespaces
24combine several file systems into a layered fashion with only the highest layer
allowing for write operations (and the one being part of a container)
Union file system
25resource restrictions can be imposed upon a collection of processes
Control groups
26In this window system, your computer acts as a client to the x-kernel, which then will process things for you and display the results to the screen
X window system
27What are the issues with X windowing system?
no clear seperation between application logic vs __ commands
UI
28This is an alternative to X window system, it lets applications control the display completely. (its more efficient too)
VNC
29Billions of websites, billions of different computers and screens, How do we make an ultimate networked user interface to websites?
Web Browsers
30Server handles the request before attending a next request
iterative server
31Uses a dispatcher, which picks up an incoming request that is then passed
on to a separate thread/process
concurrent server
33telnet (file transfer) is port
23
36how can we handle out-of-band communication? this is when we need to interrupt a server once it is busy with a lower priority task? We can use TCP or a __ for urgent messages
seperate port
37Stateless or stateful?:
- dont record whether a file has been opened
- dont promise to invalidate a clients cache
- dont keep track of your clients
- no status on cleint after handling request
stateless
38they are specialized servers designed to manage and serve distributed objects which are instances of classes that encapsulate both data and behavior and can be invoked remotely.
object servers
39policies concerning threading models for object servers ( whether they are activated in a single threaded context one request at a time, as a per thread request such that each request handled by a separate thread ,or in a thread pool context by a thread selected form a pool of threads.
activation policies
40what implements a specific activation policy?
object adapter
41This is the three tier architecture for server ___:
1. presentation tier (front end)
2. application layer (middleware, request handling)
3. data tier (backend) databases lol
clusters
42___s like Akamai are used to distribute cache data closer to a geographic location
CDN
43Why do we migrate code?
a) ensuring that servers in the data center are sufficiently loaded
b) minimizing communication needed between client and server
c) a and b
c
44What if you have something computationally heavy, distributed across a long distance, but you CANT have clients send data because of privacy?
migrate code
45move only the code and data segment of a thread to another machine, then reboot execution
weak mobility
46Move the entire component (thread) to another machine, including execution state.
can be achieved with migration (move object over)
or cloning (start clone and set in same execution state)
strong mobility
471.__ migrates vms by ___ memory pages to the new machine and resending the ones that are later modified during the migration process
Pushing
482.___ and ___ implies stopping the current virtual machiene, copying over memory, and starting the new virtual machine.
stop copy
493.Letting the new virtual machine ___ in new pages as needed: processes start on the new virtual machine immediately and copy memory pages on demand.
pull
50A complete migration may actually take tens of seconds. We also need to realize that during the
migration, a service will be completely unavailable for multiple seconds.
performance with vm migration
51Layers of OSI model
Physical, Data Link, Network, Transport, Session, Presentation, Application
52OSI physical layer is for
bit transmission
53osi data link layer is for
frames, error control
54osi network layer is for
routing packets
55osi transport layer is ___ or UDP
TCP
57UDP is ___ based
datagram
58The osi ____ layer is to provide common services and protocols that can
be used by many different applications
middleware
59Middle ware contains
a) communication, naming, and security protocols
b) unmarshaling of data (turn into bits or change bits to normal data)
c) scaling mechanisms
d) both a and b
e) all
e
60This type of messaging, discards messages when they can't be delivered
Transient
61This type of messaging stores messages until they can be delivered
persistent
62Client waits for reply
Synchronous
63Client continues without waiting
Asynchronous
64At request submission
At request delivery
After request processing
these are all of the places for synchronization
synchronization
65• Client cannot do any other work while waiting for reply
• Failures have to be handled immediately: the client is waiting
• The model may simply not be appropriate (mail, news)
Drawbacks synchronous communication
66 this form of middleware implements ___ ___ Communication
Messages are queued
Know that the middleware often ensures fault tolerance
Know its benefits:
Decouples sender and receiver
Enables scalability and resilience
asynchronous persistent
67parameters are passed in RPC by marshaling (converting data to byte stream), and with ___ agreements(int, float..)
encoding
68while procedure is executed, nothing can be
assumed about parameter values.
Copy in/copy out semantics
69BERKELEY SOCKET FUNC ____ Create a new communication end point
socket
70BERKELEY SOCKET FUNC ____ attach a local address to a socket
bind
71BERKELEY SOCKET FUNC ____ tell operating system what the maximum number of pending connection requests should be
listen
72BERKELEY SOCKET FUNC ____ block caller until a connection request arrives
accept
73send some data over the connection
send
74recieve some data over the connection
recieve
75release the connection
close