Paravirtualization The context for this question is the same…

Paravirtualization The context for this question is the same as the previous question. Above picture shows the I/O ring data structure used in Xen to facilitate communication between the guest OS and Xen.  Guest-OS places a request in the I/O ring using the “Request Producer” pointer. Xen places a response in the I/O ring using the “Response Producer” pointer.  [2 points] Why does Xen typically not run out of space to place a response on this ring? State the invariant briefly.

Microkernel [3 points] Greg, a core Linux contributor, is sk…

Microkernel [3 points] Greg, a core Linux contributor, is skeptical about Microkernel. He mentions that the 100x cost of the Protected Procedure Calls between different servers due to Address-Space Switching are too high to be able to achieve good performance. Provide two points as counterarguments to Greg’s point of view.

Microkernel You are building an OS using a microkernel-based…

Microkernel You are building an OS using a microkernel-based approach following the principles of the L3 microkernel. The processor architecture you are building this OS for has the following features:  A 32-bit hardware address space.  Paged virtual memory system (8KB pages) with a processor register called PTBR that points to the page table in memory to enable hardware address translation.  A TLB that doesn’t support tagging entries with address space IDs  A pair of hardware-enforced segment registers (lower and upper bound of virtual addresses) which limit the virtual address space that can be accessed by a process running on the processor.  A virtually-indexed physically tagged processor cache.  You end up with the following subsystems that each need to be a separate protection domain.  A: 2^30 bytes  B: 2^30 bytes  C: 100 * 2^20 bytes  D: 500 * 2^20 bytes  E: 1000 * 2^20 bytes  F: 2000 * 2^20 bytes These subsystems are packed into two hardware address spaces: protection domains A and B in the first; and protection domains C, D, E, and F in the second. Based on this grouping, answer the following questions. [2 points] There is a context switch from A to B. What does your OS do to facilitate this context switch? 

Write pseudocode to implement the ROI pooling forward pass l…

Write pseudocode to implement the ROI pooling forward pass logic for a single 2D data sample (no batches). Clearly mark your inputs, your outputs, and your parameters. No need to handle special edge cases. Using numpy calls/syntax is allowed. Points may be deducted for lengthy solutions. roi_pooling_forward() { return }