Solution Manual For Operating System Concepts Essentials 2nd Edition by Silberschatz
Solution Manual For Operating System Concepts Essentials 2nd Edition by Silberschatz
CHAPTER
Introduction
Chapter 1 introduces the general topic of operating systems and a handful of
important concepts (multiprogramming, time sharing, distributed system, and
so on). The purpose is to show why operating systems are what they are by
showing how they developed. In operating systems, as in much of computer
science, we are led to the present by the paths we took in the past, and we can
better understand both the present and the future by understanding the past.
Additional work that might be considered is learning about the particular
systems that the students will have access to at your institution. This is still just
a general overview, as specific interfaces are considered in Chapter 3.
Exercises
1.12 In a multiprogramming and time-sharing environment, several users
share the system simultaneously. This situation can result in various
security problems.
a. What are two such problems?
b. Can we ensure the same degree of security in a time-shared
machine as in a dedicated machine? Explain your answer.
Answer:
a. Stealing or copying one’s programs or data; using system resources
(CPU, memory, disk space, peripherals) without proper accounting.
b. Probably not, since any protection scheme devised by humans
can inevitably be broken by a human, and the more complex
the scheme, the more difficult it is to feel confident of its correct
implementation.
1.13 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
1
2 Chapter 1 Introduction
Answer:
1.14 Under what circumstances would a user be better off using a time-
sharing system rather than a PC or a single-user workstation?
Answer:
When there are few other users, the task is large, and the hardware is fast,
time-sharing makes sense. The full power of the system can be brought
to bear on the user’s problem. The problem can be solved faster than on
a personal computer. Another case occurs when lots of other users need
resources at the same time.
A personal computer is best when the job is small enough to be
executed reasonably on it and when performance is sufficient to execute
the program to the user’s satisfaction.
1.15 Describe the differences between symmetric and asymmetric multipro-
cessing. What are three advantages and one disadvantage of multipro-
cessor systems?
Answer:
Symmetric multiprocessing treats all processors as equals, and I/O can be
processed on any CPU. Asymmetric multiprocessing has one master CPU
and the remainder CPUs are slaves. The master distributes tasks among
the slaves, and I/O is usually done by the master only. Multiprocessors
can save money by not duplicating power supplies, housings, and
peripherals. They can execute programs more quickly and can have
increased reliability. They are also more complex in both hardware and
software than uniprocessor systems.
1.16 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?
Answer:
Clustered systems are typically constructed by combining multiple com-
puters into a single system to perform a computational task distributed
across the cluster. Multiprocessor systems on the other hand could be a
single physical entity comprising of multiple CPUs. A clustered system
is less tightly coupled than a multiprocessor system. Clustered systems
communicate using messages, while processors in a multiprocessor
system could communicate using shared memory.
In order for two machines to provide a highly available service,
the state on the two machines should be replicated and should be
consistently updated. When one of the machines fails, the other could
then takeover the functionality of the failed machine.
Exercises 3
Answer:
The CPU can initiate a DMA operation by writing values into special
registers that can be independently accessed by the device. The device
initiates the corresponding operation once it receives a command from
the CPU. When the device is finished with its operation, it interrupts the
CPU to indicate the completion of the operation.
Both the device and the CPU can be accessing memory simultaneously.
The memory controller provides access to the memory bus in a fair
manner to these two entities. A CPU might therefore be unable to issue
memory operations at peak speeds since it has to compete with the
device in order to obtain access to the memory bus.
1.21 Some computer systems do not provide a privileged mode of operation
in hardware. Is it possible to construct a secure operating system for
these computer systems? Give arguments both that it is and that it is not
possible.
Answer:
An operating system for a machine of this type would need to remain in
control (or monitor mode) at all times. This could be accomplished by
two methods:
c. LAN or WAN