4003-440 and 4003-713 Operating Systems

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
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. Virtual memory
c. Time sharing
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
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.