Mark true or false regarding Critical Regions: 1. Critical R…

Mark true or false regarding Critical Regions: 1. Critical Regions are regions of code that we must protect (e.g. from interruptions.) 2. Issues related to race conditions can be solved by identifying critical regions. 3. We must have some atomic operations (indivisible) or at least equivalency to define/implement critical regions. 4. Locking and Unlocking are operations that help define critical regions.

For each question about Processes, choose True or False: 1….

For each question about Processes, choose True or False: 1. All processes have memory areas for the stack, the heap, the pipes, and text while running   2. Another process signaling the termination of the current process is a voluntary Normal Exit 3. Processes are created by System initialization (“init”) or by Process request, which is technically called “spoon”.   4. In the process model, a process has independence of execution. A process does not depend on any other processes executing.  

Free Response Question 1: In preparation for the Silurian in…

Free Response Question 1: In preparation for the Silurian invasion, the Lizard Legion maintains a database tracking all persons of interest on Earth. This database is hosted on the Basilisk Hypercomputer, a multiuser system that the Silurian overseers use for their daily tasks. Recently, the Legion has redoubled its efforts to maintain and update the database. Unfortunately, this has somehow resulted in a catastrophic reduction in work efficiency for users on the Basilisk Hypercomputer. The Silurian High Council, furious at the disruption and chaos, tasks you with solving the problem. In your initial research, you note that the lack of work efficiency is due to Silurian overseers spending hours twiddling their digits in front of frozen workstations; the overseers you speak to claim they are attempting to access the database. You decide to look into the database program and learn that every time a user on the Basilisk Hypercomputer accesses the database, that user acquires exclusive access. Any other users requesting access before the first user is finished acquire a spinlock/perform busy waiting until it is their turn. A) What exactly is the issue causing the frozen workstations? Explain your reasoning. B) Explain how you might modify the database program to prevent this issue. C) What are the downsides or consequences of your solution?    Free Response Question 2: The Lizard Legion just finished implementing a high-speed network system. Unfortunately, their system runs much slower than expected! The intended use case for the system is to process incoming packets. Users of the system will produce packets to be sent to a holding chamber, where multiple servers accept and process these packets concurrently. Currently, when a user sends a packet to the holding chamber, all other users must wait. On top of that, it seems like multiple servers are processing the same packet at the same time, even though after a packet is processed, the server removes it from the holding chamber. A) What type of synchronization problem is this? B) Why are multiple servers processing the same packet at the same time, even though the server removes the packet from the holding chamber once processed? How do we fix this? C) How can we optimize the system so that multiple users can send packets to the holding chamber at the same time? What concerns should we keep track of regarding safety and concurrency?

Identify whether the following statements apply to the produ…

Identify whether the following statements apply to the producer-consumer problem, the readers-writers problem, neither, or both. 1. This strategy involves a finite data buffer.   2. A proposed solution involves semaphores.   3. A proposed solution involves alpha locks.   4. Otherwise known as the persistent database problem.  

Select whether each of the following statements is True or F…

Select whether each of the following statements is True or False. “Masking” is a strategy used to manage multiple interrupts. Imprecise Interrupts are less complex to implement/handle than Precise Interrupts. Interrupts are invoked at pre-defined moments in time. The developer must decide when interrupts will happen. Once the interrupt is handled successfully, the process that caused the interrupt is executed immediately.