COSC 361 Operating Systems Homework 1

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

2.13) What is the main advantage of the microkernel approach to system design?

It is easier to build upon the operating system (modularity). How do user programs and system services interact in a microkernel architecture? Interprocess communication systems. What are the disadvantages of using the microkernel approach? Large amounts of system overhead involved with services and programs/processes swapping and communicating. 2.14) What system calls have to be executed by a command interpreter or shell in order to start a new process? Unix requires that a fork system call be made to clone a current, running process then an execution system call masks the new process with the new execution instructions. 2.16) Discuss the pros and cons of the synthesis approach to kernel design and systemperformance optimization. Pro: The synthesis approach with have better performance over the kernel design. Cons: Synthesis lacks modularity. Fluid code makes the synthesis approach difficult to debug. 2.17) In what ways is the modular kernel approach similar to the layered approach? Kernel sections have protected and defined interfaces. In what ways does it differ from the layered approach? Modular kernel has more flexibility. 2.18) How could a system be designed to allow a choice of operating systems from which to boot? Operating systems are stored on a disk in their own partitions marked as bootable. Then a bootstrapper will allow the user to select the desired OS. What would the bootstrap program need to do? Rather than directly loading the OS from the disk, the bootstrapper (Such as GRUB or LILO) is run first and reads the required boot procedures (like WindowsMBR)

3.2) Consider the RPC mechanism. Describe the undesirable consequence that could arise from not enforcing either the at most once or exactly once semantic. Describe possible uses for a mechanism that has neither of these guarantees.

Remote procedure calls can fault or be duplicated and executed more than once if neither semantic is enforced. When multiple instances are needed where the procedure or input is different, the aforementioned mechanism has a use. 3.3) With respect to the RPC mechanism, consider the exactly once semantic. Does the algorithm for implementing this semantic execute correctly even if the ACK message back to the client is lost due to a network problem? Yes. Describe the sequence of messages and discuss whether exactly once is still preserved. An RPC call is made to the server, then the ACK message is sent but lost. It will timeout and resend the same RPC call to the server with a timestamp. The server receives the RPC call and checks to see if call was already received by comparing timestamps. When the servers sees the timestamps are identical, it sends back ACK message do not execute. This process repeats until ACK is finally received. 3.4) Palm OS provides no means of concurrent processing. Discuss three major complications that concurrent processing adds to an operating system. 1. Processes must have protections that limit their effective, usable memory. 2. Preventing the occurrence of deadlock between processes so they dont wait for resources. 3. Implement time sharing to allow processes to access the system. 3.7) Construct a process tree similar to Figure 3.9. To obtain process information for the UNIX or Linux system, use the command ps -ae1. Use the command man ps to get more information about the ps command. On Windows systems, you will have to use the task manager.

You might also like