CS533 Concepts of Operating Systems Class 10 Remote Procedure Call & LRPC
CS533 - Concepts of Operating Systems Questions What are stubs and what do they do? How do they relate to adaptors from the last class? How do they relate to the idea of wrapping I/O calls? Can RPC pass parameters by reference? CS533 - Concepts of Operating Systems
CS533 - Concepts of Operating Systems 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
CS533 - Concepts of Operating Systems 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 does LRPC maintain safety? CS533 - Concepts of Operating Systems
CS533 - Concepts of Operating Systems Questions How many copies does RPC do? What are they? How many does LRPC do? What stops a 2nd client thread from changing arguments on the A-stack once the server has started using them? How might this problem be addressed? How does LRPC solve the problem of a client thread being “captured” by a server? Why is this not necessary in normal RPC? CS533 - Concepts of Operating Systems
CS533 - Concepts of Operating Systems Questions How does LRPC optimize VM context switching on a multiprocessor? 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
CS533 - Concepts of Operating Systems Reminder Class 11 presenters Discuss your presentation plans with me ahead of time Mail me the final version of your slides BEFORE the class CS533 - Concepts of Operating Systems