What is a virtual processor?
Provides a set of instructions along with the capability of automatically executing a series of these instructions
What is the basic idea of a virtual process?
A virtual software processor in whose context one or more threads are executed
What is the basic idea of a virtual thread?
A minimal software processor in whose context a series of instructions can be executed
What is context switching for a processor context?
A minimal collection of values stored in the registers of a processor used for the execution of a series of instructions
What is context switching for a process context?
A minimal collection of values stored in the registers and memory, used for the execution of a process (and the threaads therein)
What is context switching for a thread context?
A minimal collection of values stored in the registers and memory, used for the execution of a series of instructions
How is conext switching done for threads?
Threads share the same address space.
-> Thread context switching can be done entirely independent of the operating system (OS).
How does context switching work for processes?
Process switching is generally more expensive as it involves getting the OS in the loop
What is the difference between single-threaded processes and multi-threaded processes?
Single-threaded Process:
When a blocking system call is executed, the process as a whole is blocked
Multi-threaded Process:
Parallelism: Speedup computing by putting threads on different CPUs (while shared data is in the shared main memory)
Large applications
Software Engineering: Dedicated threads for dedicated tasks
What are the benefits and drawbacks of the User-space solution? (“Many-to-One Threading Model”)
Benefits:
Extremely cheap, since the only thing to do is lease/release address space
Context switching is easy to achieve
Drawback:
All services provided by the kernel are done on
behalf of the process in which a thread resides
What is the Kernel solution? (“One-to-One Threading Model”)
→ Mix user-level and kernel-level threads into a single concept
What are the benefits and drawbacks of Kernel solution? (“One-to-One Threading Model”)
Benefit:
Operations that block a thread are no longer a problem
Loss of efficiency: All thread operation have to be carried out by the kernel
Which interfaces operate in the instruction set architecture (ISA)?
Privileged instructions:
Allowed to be executed only by the operating system
General instructions:
Can be executed by any program
What is the difference between a native VM Monitor and a hosted one?
What is the basic model of a server?
A server is a process waiting for incoming service requests
The server subsequently makes sure that the request is taken care of, after which it waits for the next incoming request
What kind of servers exist?
Iterative servers
Concurrent servers
How is it possible to interrupt a server once it has accepted a service request?
Use a separate port for urgent data:
Server has a separate thread/process for urgent messages
Message comes in => Associated request is put on hold
Use out-of-band communication facilities of the transport layer
What is the difference between stateful and stateless servers?
Stateful servers:
Maintain persistent information about its clients
Performance gains possible, since the server has additional information about its clients
Stateless servers:
Keep no information on the state of its clients
Clients and servers are completely independent
State inconsistencies due to client or server crashes are reduced
Possible loss of performance
Which different tiers exist im server clusters?
Last changed2 years ago