4003-440 and 4003-713 Operating Systems Homework #1 Due December 11, 2006 Name: ____David Oguns______________________Section: _01_____________________ 1. The issue of resource utilization shows up in different forms in different types of operating systems. List what resources must be managed carefully in the following settings: a. Mainframe or minicomputer systems Fair distribution of CPU time, memory, and IO between multiple users. b. Workstations connected to servers Compromise between CPU/Memory/IO and individual usability. c. Handheld computers Usability and performance per battery life. 2. Under what circumstances would a user be better off using a timesharing system rather than a PC or single-user workstation? Under what circumstances would the user be better off using a PC or single-user workstation? If other users need to access the same system, then a time sharing system would work better than a PC or a single-user workstation. If there is only a single and exclusive user, then a PC or single-user workstation would be better. 3. Which of the functionalities listed below need to be supported by the operating system for the following two settings: (a) handheld devices and (b) real-time systems. a. Batch programming B b. Virtual memory B c. Time sharing BA 4. How do clustered systems differ from multiprocessor systems? What is required for two machines belonging to a cluster to cooperate to provide a highly available service? Clustered systems don’t share as many resources closely such as clock, memory, and peripheral devices. Each system can generally accomplish everything on it’s own with its exclusive resources. Typically systems in a cluster are linked via network. Usually redundancy and a layer of clustering software are needed for two systems in a cluster to work together. 5. Consider a computing cluster consisting of two nodes running a database. Describe two ways (asymmetric clustering and parallel clustering) in which the cluster software can manage access to the data on the disk. Discuss the benefits and disadvantages of each. In asymmetric clustering, software managing the cluster would manage data access on disk by allowing the active server to perform its duties normally and monitoring what IO operations complete and which are in queue to being handled. If the active server fails, the hot-standby machine simply takes over and restarts the current IO operation - assuming it never completed – and then copies over the work queue and starts processing it. If the “dead” server recovers, it would allow the backup to complete its work and accept all incoming jobs from that point on, waiting until all of the jobs from the hot-standby machine is done to ensure accurate results. The benefit of this is that reliability is ensured through failover relatively easily and as long as both machines don’t die at the same time, the resource should always be available. The disadvantage of this is that only one machine is being used at one time, at all times. It only makes use of 50% of the hardware. In symmetric clustering, the software managing the cluster would need to manage read and writes from across multiple hosts. Basically, it would need to make sure that the data access is accurate by locking files being written do so they aren’t read from until they are ready, and also they would need to make sure operations occur in the correct order between hosts so the correct data is read after a write if that is the order that the operations came in. The benefit of this approach is that it is more resourceful than asymmetric clustering. All nodes in the cluster are operating and potentially are using 100% of available resources minus the overhead in the clustering software. The disadvantage of this approach is that the overhead of managing data access becomes greater and more bug prone as the disk is being accessed by multiple clients at once.