OS Concepts Chapter 2 Solution To Exercises Part 1

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

Solution to Exercises

2.12The services and functions provided by an operating system can be divided into two
main categories. Briefly describe the two categories and discuss how they differ.
Answer:
One class of services provided by an operating system is to enforce protection between
different processes running concurrently in the system. Processes are allowed to access
only those memory locations that are associated with their address spaces.
Also, processes are not allowed to corrupt files associated with other users. A process is
also not allowed to access devices directly without operating system intervention. The
second class of services provided by an operating system is to provide new functionality
that is not supported directly by the underlying hardware. Virtual memory and file
systems are two such examples of new services provided by an operating system.
2.13 Describe three general methods for passing parameters to the operating system.
Answer:
a. Pass parameters in registers
b. Registers pass starting addresses of blocks of parameters
c. Parameters can be placed, or pushed, onto the stack by the program, and popped off the
stack by the operating system
2.14 Describe how you could obtain a statistical profile of the amount of time
spent by a program executing different sections of its code. Discuss the importance of
obtaining such a statistical profile.
Answer:
One could issue periodic timer interrupts and monitor what instructions or what sections
of code are currently executing when the interrupts are delivered. A statistical profile of
which pieces of code were active should be consistent with the time spent by the program
in different sections of its code. Once such a statistical profile has been obtained, the
programmer could optimize those sections of code that are consuming more of the CPU
resources.
2.15 What are the five major activities of an operating system in regard to file
management?
Answer:

The creation and deletion of files


The creation and deletion of directories

The support of primitives for manipulating files and directories


The mapping of files onto secondary storage
The backup of files on stable (nonvolatile) storage media
2.16 What are the advantages and disadvantages of using the same system call interface
for manipulating both files and devices?
Answer:
Each device can be accessed as though it was a file in the file system. Since most of the
kernel deals with devices through this file interface, it is relatively easy to add a new
device driver by implementing the hardware-specific code to support this abstract file
interface.Therefore, this benefits the development of both user program code,which can
be written to access devices and files in the same manner,and device-driver code, which
can be written to support a well-defined API .
The disadvantage with using the same interface is that it might be difficult to capture the
functionality of certain devices within the context of the file access API, thereby resulting
in either a loss of functionality or a loss of performance. Some of this could be overcome
by the use of the ioctl operation that provides a general-purpose interface for processes
to invoke operations on devices.
2.17 Would it be possible for the user to develop a new command interpreter using the
system-call interface provided by the operating system?
Answer:
An user should be able to develop a new command interpreter using the system-call
interface provided by the operating system. The command interpreter allows an user to
create and manage processes and also determine ways by which they communicate (such
as through pipes and files). As all of this functionality could be accessed by an userlevel program using the system calls, it should be possible for the user to develop a new
command-line interpreter.

You might also like