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

Operating Systems CHAPTER 1 COMPLETE SOLUTION MADE BY

ABHISHEK KUMAR

1.1. - 1.17

Q 1.1. What are the main purposes of an operating system?

 Answer:

i. Resource Allocation
ii. Supervision
iii. Managing I/O Devices

Q 1.2. We have stressed the need for an operating system to make efficient use of the
computing hardware. When it is appropiate for the operating system to forsake this
principle and to "waste resources"? Why is such a system not really wasteful?

 Answer:

 ** Part 1: **

o It may be appropiate for operating systems to forsake the principle to


make efficient use of the computer hardware and waste resources in case
of single-user systems. In such systems, the use of computer resources
must be maximized for the user.

 ** Part 2: **

o Such a system is not really wasteful because although a graphical user


interface may waste CPU cycles, but by maximizing the use of the system,
it optimizes the user's interaction with the system.

Q 1.3. What is the main difficulty that a programmer must overcome in writing an


operating system for a real-time environment?

 Answer: The main difficulty is keeping the operating system within the fixed
time constraints of a real-time system.
Q 1.4. Keeping in mind the various definitions of operating system, consider whether
the operating system should include applications such as web browsers and mail
programs. Argue both that it should and it should not, and support your answers.

 Answer:

o **Part 1: **

 As per computer architecture, the computer system is categorised


into four major components: application programs, operating
system, hardware, and user. The mail program and web browser
belongs to application program, not to operating system.
 Operating system is defined as the program, which is running all
the time on the computer system. But the mail programs and the
web browsers do not run all the time on the system. Hence they
cannot be regarded as operating systems.

o **Part 2: **

 Operating System is defined as the program which acts as the


interface between the hardware and the computer user, controlling
and allocating the resources, thus they are part of the operating
system.
 Also, the operating systems generally include all those
applications which are provided by vendors. As many vendors
provide mail programs and web browsers along with operating
systems, they are also included in operating systems.
**Q 1.5. ** How does the distinction between kernel module and user mode function as
a rudimentary form of protection (security) system?

 Answer:

o **Kernel Mode: **

o It is mandatory that certain instructions must be executed only when the


operating system is in kernel mode.
o Access to hardware Devices can be done only when the program is
executing in kernel mode.
o Interrupts can be controlled only when the CPU is executing in kernel
mode.
o The privileged instructions can be executed only when the CPU is in
kernel mode.

o **User Mode: **

o When the CPU is executing in user mode, its capacity is limited.


o Executing privileged instructions in user mode will cause a trap to the
operating system. Thus, dual mode of operation provides a rudimentary
form of protection.
** Q 1.6. ** Which of the following instructions should be privileged?

 Answer:

a. Set value of timer (Kernel Mode)


b. Read the clock. (User Mode)
c. Clear memory. (Kernel Mode)
d. Issue a trap instruction. (User Mode)
e. Turn off interrupts. (Kernel Mode)
f. Modify entries in device-status table (Kernel Mode)
g. Switch from User to Kernel Mode (User Mode)
h. Access I/O device (Kernel Mode)
** Q 1.7. ** Some early computers protected the operating system by placing a memory
partition that could not be modified by either the user job or operating system itself.
Describe two difficulties that you think could arise with such a scheme.

 Answer: By placing the operating system in a memory partition that could not
be modified by either the user job or the operating system itself, the
difficulties are listed below:
i. The critical data such as passwords and access control information that
are required by or generated by the operating system would have to be
passed through or stored in unprotected memory slots and would be
accessible to unauthotized users.
ii. The operating system could never be updated or patched, since it is not
modifiable or accessible by the user or the operating system itself.
** Q 1.8. ** Some CPUs provide for more than two modes of operation. What are two
possible uses of these multiple modes?

 Answer:

o Part 1:

a. Kernel Mode
b. User Mode

o Part 2:

a. Some CPU's have supported **multiple modes** of operation by


providing different distinctions in kernel mode and user mode
separately, rather than distinguishing between just kernel and
user mode.

o Part 3:
a. One possibility would be to provide different distinctions within
kernel code. For example, a specific code would allow USB devices
could allow USB devices to driver to run. This would mean that
that USB devices could be serviced without having to switch to
kernel mode, there by essentially allowing USB device drivers to
run in a quasi-user/kernel mode.
b. Second possibility would be to provide different distinctions
within user mode. Multiple user modes could be used to provide a
finer-grained security policy. Perhaps users belonging to the
same group could execute each others code. When the machine was
in this mode, a member of the group could run belonging to anyone
else in the group.
** Q 1.9. ** Timers could be used to compute the current time. Provide a short
description of how this could be accomplished.

 Answer: Timers can take the help of a program that uses the following steps to
calculate current time with the help of timer interrupts:

i. Sets the timer for some time later than the current time and goes to
sleep.
ii. An interrupt wakes up the program; that is when it updates its local
state, which it uses to keep a record of the number of interrupts it has
received by far.
iii. Then it repeats this process of establishing timer interrupts and
updating its local state when these timer interrupts are raised.
** Q 1.10. ** Give two reasons why caches are useful. What problems do they solve?
What problems do they cause? If a cache can be made as large as the device for which it
is caching (for instance, a cache as large as a disk), why not make it that large and
eliminate the device?

 **Part 1: **

 If the active portions of program and data are placed in a fast small memory,
the average memory access time can be reduced, thus reducing the total
execution time of the program. Such a fast small memory is referred as cache
memory.

 **Part 2: **

o Caches are useful when two or more components need to exchange data, and
the components perform transfer at different speeds. Caches solve the
transfer problem by providing a buffer of intermediate speed between the
components. If the fast device finds the data it needs in the cache, it
need not wait for the slower device. The data in the cache must be kept
consistent with the data in the components. If a component has a data
value change, and the datum is also in the cache, the cache must also be
updated.
 **Part 3: **

o This is especially a problem on multiprocessor systems where more than


once process may be accessing a datum. A component may be eliminated by
an equal-sized cache, but only if: a) the cache and the component have
equivalent state-saving capacity (that is, the component retains its
data when electricity is removed, the cache must retain data as well),
and b) the cache is affordable, because faster storage tends to be more
expensive.

**Q 1.11. ** Distinguish between the client–server and peer-to-peer models of


distributed systems.

 Answer:

Client-Server Model Peer-To-Peer M

In this model, systems are categorized as client systems. In this model, all nodes are cons

Client systems request for services from server systems. Each peer can act as client or se
Server systems satisfy request of the client systems. operation it is performing.

Resources are distributed among t


Resources are controlled and available at the server system.
be shared among the peers.

Client-Server model offers greater security than peer-to- Peer-To-Peer model offers less se
peer model as authentication of users is done at the central server model as there is no centr
server authenticate users.

The setup of the client-server model is expensive The setup of peer-to-peer model i

Client server model is difficult to configure Peer-To-Peer model is easy to con

For large office setups and for organizations where there is At home and for small office setu
sensitive date, client server model is suggestable. is suggestable.

** Q 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?

o Answer:

Memory management - the system must allocate the memory to several jobs
CPU scheduling - the system must choose among several jobs ready to run.

 b. Can we ensure the same degree of security in a time-shared machine as in a


dedicated machine? Explain your answer.

o Answer:
We can't ensure the same degree of security in a time-shared machine as
we have in a dedicated machine, because in a time-shared machine there
are several jobs simultaneously in memory. Since any protection scheme
devised by humans can inevitably break by a human, more complex the
scheme.

 ** Q 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

 Answer:

i. Memory Resources: Main Memory (RAM) is an important part of the


mainframe systems that must be carefully managed, as it is shared among
a large number of users.
ii. CPU Resources: Again, due to being shared amongst a lot of users it is
important to manage CPU resources in mainframes and minicomputer
systems.
iii. Storage: Storage is an important resource that requires to be managed
due to being shared among multiple users.
iv. Network Bandwidth: Sharing of data is a major activity in systems shared
by multiple users. It is important to manage network bandwidth in such
systems.
b. Workstations connected to servers

 Answer:

i. Memory Resources: When Workstations are connected to servers, multiple


applications run on multiple Workstations on a single server. This is an
important factor due to which Memory management is required in
Workstations connected to servers.
ii. CPU Resources: Multiple Workstations make request to access resources to
accomplish the tasks assigned to them. To ensure the fair and efficient
completion of tasks, it is important to manage CPU resources in
workstations connected to servers.
c. Mobile computers

 Answer:

i. Power Consumption: Handheld Computers use compact, portable and small


batteries as a source of power. It is important to manage power
Consumption in such devices to be able to make their use efficient and
easy.
ii. Memory Resources: Due to being small in size, the memory devices use in
such computers are also small, thus deteriorating its storage capacity.
This makes memory resource management and important requirement in
handheld devices.
 **Q 1.14. ** Under what circumstances would a user be better off using a
timesharing system than a PC or a single-user workstation?

i. Answer:

Time sharing system or multitasking is a logical extension of


multiprogramming. In Time sharing, CPU executes multiple jobs by
switching among them. When switches occur frequently, then the user can
interact with each program while it is running. But multitasking and
multiprogramming is not possible on single user.
When there are few other users, the task is large, and the hardware is
fast, timesharing 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.
A time-shared Operating System uses CPU scheduling and multiprogramming
to provide each user with a small portion of a time shared computer. 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 executive user, then a PC or single-user workstation
would be better.

o **Q 1.15. ** Describe the differences between symmetric and asymmetric


multiprocessing. What are three advantages and one disadvantage of
multiprocessor systems?

i. Answer:

Part 1:

a. In symmetric multiprocessing (SMP)

a. All processors are peers.


b. All processors runs a copy of operating system.
c. Processors communicate with one another as needed.
d. No special hardware / software needed to differentiate as neither
master nor slave exist.

b. In asymmetric multiprocessing (ASMP)

 Processor will have master-slave relationship scheme.


 Each processors is assigned by a specific task. (by a master
processor)
 A master process controls the system.
 Special hardware or software can only differentiate one master
and multiple slaves.

Part 2:

The three advantages of multiprocessor systems are

b. Increase Throughput * obviously more work can be done in less


time. It is because of increase of number of processors (the term
multiprocessor means to be)
c. Economy Of Scale * The cost of multiprocessor systems is less
when compared to equivalent multiple single-processor systems. It
is because the multiple processors in multiprocessor systems
share
 Peripherals
 Mass Storage
 Power Supplies
d. Increased Reliability * Failure of one processor will not halt the
system, but slow it down.

Part 3:

b. The disadvantage of multiprocessor systems is

 The solution of "activating a back-up copy and restarting the


most recent check point" in time of system failure is much
expensive, since it involves considerably hardware duplication.

Q 1.16. How do clustered systems differ from multiprocessor systems? What is required


for two machine belonging to a cluster to cooperate to provide a highly available
service?

 Answer:

Part 1: Clustered systems is made up of together of multiple CPUs to accomplish


computational work. Clustered systems differ from multiprocessor systems, however, in
that they are composed of two or more individual systems compiled together. It shares
storage and are closely lined via LAN networking.
Part 2: It provides high- availability service i.e., service will continue to be
provided even if one of more systems in the cluster fails. High- availability is
generally obtained by adding a level of redundancy in the system. A layer of cluster
software runs on the cluster nodes. Each node can monitor one or more of the others
(over LAN). If the monitored machine fails, the monitoring machine can take ownership
of its storage and restart the application that were running on failed machine.
Q 1.17. Consider a computing cluster consisting of two nodes running a database.
Describe two ways in which the cluster software can manage access to the data on the
disk. Discuss the benefits and disadvantages of each.
 Answer:

Part 1: Cluster systems gather together multiple CPU's to accomplish computational


work. It differs from parallel system. The cluster computer share storage and are
closely linked via LAN networking. Clustering provides high-availability service;
i.e. service will continue to be provided even when one or more system(s) in the
cluster fail. Clustering can be structured symmetrically or asymmetrically.
Part 2: The asymmetric clustering, one machine is hot-stand by mode, while the other
is running the applications. The host-stand by host machines does nothing but monitor
the active server. If that server fails, the hot stand by host becomes the active
server.
Part 3: In symmetric mode, two or most hosts are running applications, and they are
monitoring each other. This mode is different, as it uses all the available hardware.
It requires more than one application be available to run.

You might also like