Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Burroughs MCP wikipedia , lookup
Berkeley Software Distribution wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Mobile operating system wikipedia , lookup
Unix security wikipedia , lookup
Process management (computing) wikipedia , lookup
Distributed operating system wikipedia , lookup
Security-focused operating system wikipedia , lookup
CS533 Concepts of Operating Systems Class 9 Lightweight and User-Level Remote Procedure Call Questions Why do LRPC procedure descriptors include the number of simultaneous calls permitted to the procedure by a client? Why must the binding object be presented to the kernel on every call? Why doesn’t the server handle the callers return address directly? Why does the kernel maintain a stack of linkage records for each caller, instead of just one? CS533 - Concepts of Operating Systems 2 Questions Why isn’t a binding object required to validate the return call, just like the initial call? In what way does LRPC depend on the calling conventions of Modula2+ ? How are parameters passed by reference? How does LRPC maintain safety? CS533 - Concepts of Operating Systems 3 Questions How many copies does RPC do? o o What stops a 2nd client thread from changing arguments on the A-stack once the server has started using them? o What are they? How many does LRPC do? How might this problem be addressed? How does LRPC solve the problem of a client thread being “captured” by a server? o Why is this not necessary in normal RPC? CS533 - Concepts of Operating Systems 4 Questions How does LRPC optimize VM context switching on a multiprocessor? o o o Why does this work? Why is this approach potentially wasteful? Why does it help to spin idle CPUs in commonly executed VM contexts? Why does a tagged TLB save TLB flushing but not MMU context switching? CS533 - Concepts of Operating Systems 5 Questions Where does most of LRPC’s overhead come from? How can the kernel be eliminated from the call path on SMMPs with user-level threads? To a thread URPC is synchronous, but to the thread library it is asynchronous … explain. Why do kernel thread switches have long term cache and TLB effects that user thread switches do not? CS533 - Concepts of Operating Systems 6 Questions In what ways does URPC do “cooperative scheduling” across address space boundaries? In what ways does URPC do load balancing? How does URPC affect throughput and latency? Why might URPC scale better than kernel-based RPC? How can a client’s CPU be hijacked by a server? o How could you solve this problem? CS533 - Concepts of Operating Systems 7 Questions Now we have scheduling, synchronization, and IPC outside the kernel o o What should be IN the kernel? Note, these papers predated scheduler activations Second half of CS533 examines the evolution of kernel structuring approaches CS533 - Concepts of Operating Systems 8 Reminder Midterm exam on Thursday Closed book Questions on race conditions, deadlock, monitors, RCU, manual and automatic stack management, userlevel threads, scheduler activations, RPC vs LRPC vs URPC I won’t be there, but Jie Huang will be … CS533 - Concepts of Operating Systems 9