0% found this document useful (0 votes)
7 views10 pages

Chapter 1

An operating system (OS) is essential software that manages computer hardware and provides services for application programs, acting as an interface between users and hardware. Key functions of an OS include memory management, process scheduling, device management, and security, while its design issues encompass simplicity, efficiency, and robustness. Various types of operating systems exist, including batch, multi-programming, multi-processing, time-sharing, real-time, network, and distributed operating systems, each with unique advantages and disadvantages.

Uploaded by

berihufsaha21
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views10 pages

Chapter 1

An operating system (OS) is essential software that manages computer hardware and provides services for application programs, acting as an interface between users and hardware. Key functions of an OS include memory management, process scheduling, device management, and security, while its design issues encompass simplicity, efficiency, and robustness. Various types of operating systems exist, including batch, multi-programming, multi-processing, time-sharing, real-time, network, and distributed operating systems, each with unique advantages and disadvantages.

Uploaded by

berihufsaha21
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Chapter One

1. Overview of an operating system


An Operating System is a set of programs that manage computer hardware resources and provide
common services for application software. The operating system acts as an interface between the
hardware and the programs requesting I/O. An operating system is a program that manages a
computer’s hardware. It also provides a basis for application programs and acts as an intermediary
between the computer user and the computer hardware. It is the most fundamental of all system
software programs. Examples of an OS are: Windows, Linux, Unix Windows/NT, OS/2, MacOS
and etc.

A computer system can be divided roughly into four components:

 the hardware- central processing unit (CPU), the memory, and the input/output (I/O)
devices provides the basic computing resources for the system.

 the operating system- controls the hardware and coordinates its use among the various
application programs for the various users.

 the application programs -such as word processors, spreadsheets, compilers, and Web
browsers; define the ways in which these resources are used to solve users’ computing
1|Page
problems.

 the users- a person who interact with the computer by using different computer
componets

1.1 Role and purpose of operating systems


The role and purpose of the operating systems are described below:
Roles/Responsibilities of the OSs include:
 Hiding the complexities of hardware from the user.
 Managing between the hardware's resources which include the processors, memory, data
storage and I/O devices.
 Handling "interrupts" generated by the I/O controllers.
 Sharing of I/O between many programs using the CPU.

The two main purposes of the operating system are described below:
 It makes the computer convenient to use: the operating system hides the complexity of
the computer hardware and provides a user friendly interface to the user of the computer.
 It makes efficient use of the resources of the computer: the computer is potentially
powerful system with a lot of resources (CPU, main memory, secondary memory,
peripherals, programs, and data). The operating system tries to enable users to make
efficient use of those resources.

1.2 Functions of Operating System


Following are some of the important functions of an operating System.
 Memory Management: refers to management of Primary Memory or Main Memory.
Main memory is a large array of words or bytes where each word or byte has its own
address.
 Processor Management: In multiprogramming environment, OS decides which process
gets the processor when and how much time. This function is called process scheduling.

2|Page
 Device Management: manages device communication via their respective drivers.
 File Management: file system is normally organized into directories for easy navigation
and usage. These directories may contain files and other directions.
 Security: By means of password and similar other techniques, preventing unauthorized
access to programs and data.
 Control over system performance: Recording delays between request for a service and
response from the system.
 Job accounting: Keeping track of time and resources used by various jobs and users.
 Error detecting aids: Production of dumps, traces, error messages and other debugging
and error detecting aids.
 Coordination between other software and users: Coordination and assignment of
compilers, interpreters, assemblers and other software to the various users of the computer
systems.

1.3 Services of an operating system


An operating system provides services to both the users and to the programs. It providesprograms
an environment to execute. It provides users the services to execute the programs in a convenient
manner. The following are a few common services provided by an operating system:
 Program creation: provides editors, debuggers to assist the programmer in creating
programs.
 Program execution: Instruction and data must be loaded into main memory, I/O devices
and files must be initialized and other resources must be prepared.
 Access to I/O devices: every I/O device requires its own peculiar set of instructions, or
control signals, for operation.
 Controlled access to files: In case of multi-users the operating system can provide
protection mechanisms to control access to the files.
 System access: In case of shared or public systems, the operating system controls access
to the system as a whole and to specific system resources.
 Error detection and response: A variety of errors can occur while a computer system is
running. These include internal and external hardware errors, such as a memory error or a
device failure and several software failures such as arithmetic overflow, attempt to access

3|Page
forbidden memory location and inability of the operating system to grant the request of
an application.
 Accounting: A good operating system collects usage statistics for various resources and
monitors performance parameters such as response time.
1.4 . Design issues
Let us understand the different types of advanced operating systems to understand the major design
issues better. But here, some design issues are described below:

 Simplicity. The obviousness of this sometimes means that it is overlooked, but anoperating
system kernel is a complex entity that has to be able to work in an uncontrolled and
potentially even hostile environment. Programming errors in the operating system aremuch
less acceptable than in most normal programs, and the security issues are paramount. A
complex design is harder to verify against either errors or security issues, so simplicity of
the basic services is required.
 Efficiency. The kernel is involved with almost all activity in the machine, and as such the
kernel must be efficient enough to never be seen as a performance constraint.
 Compatibility. While the basic operations of a kernel are of supreme interest to researchers
in the operating system area, most people do not want to know what is going on as long as
their programs work. As such, one of the most important features of an operating system
is the lack of surprises it offers to the user, be he a normal end-user or a programmer. Even
new features should be offered as a superset, rather than instead of functionality that the
user is accustomed to.
 Robustness: refers to an operating system or other program that performs well not only

under ordinary conditions but also under unusual conditions that stress its designers'
assumptions. The Operating system can operate for prolonged periods (sometimes years)
without crashing (i.e., stopping operating) or requiring rebooting (i.e., restarting). And
although individual application programs sometimes crash, they almost always do so
without affecting other programs or the operating system itself.
 Flexibility: flexible operating systems are taken to be those whose designs have been
motivated to some degree by the desire to allow the system to be tailored, either statically
or dynamically, to the requirements of specific applications or application domains.

4|Page
 Portability: Portability is a characteristic attributed to a computer program if it can be used
in operating systems other than the one in which it was created without requiring
major rework. Porting is the task of doing any work necessary to make the computer
program run in the new environment.
 Security: Security refers to providing a protection system to computer system resources
such as CPU, memory, disk, software programs and most importantly data/information
stored in the computer system. If a computer program is run by an unauthorized user,
then he/she may cause severe damage to computer or data stored in it. So a computer
system must be protected against unauthorized access, malicious access to system memory,
viruses, worms etc.

Types of Operating Systems

There are several types of Operating Systems which are mentioned below.

1. Batch Operating System

This type of operating system does not interact with the computer directly. There is an operator which
takes similar jobs having the same requirements and groups them into batches. It is the responsibility
of the operator to sort jobs with similar needs. Batch Operating System is designed to manage and
execute a large number of jobs efficiently by processing them in groups.

5|Page
Advantages of Batch Operating System

 Multiple users can share the batch systems.

 The idle time for the batch system is very less.

 It is easy to manage large work repeatedly in batch systems.

Disadvantages of Batch Operating System

 Batch systems are hard to debug.

 It is sometimes costly.

 The other jobs will have to wait for an unknown time if any job fails.

 In batch operating system the processing time for jobs is commonly difficult to accurately
predict while they are in the queue.

Examples of Batch Operating Systems: Payroll Systems, Bank Statements, etc.

2. Multi-Programming Operating System


Multiprogramming Operating Systems can be simply illustrated as more than one program is present
in the main memory and any one of them can be kept in execution. This is basically used for better
utilization of resources.

6|Page
Advantages of Multi-Programming Operating System

 Multi Programming increases the Throughput of the System.

 It helps in reducing the response time.

Disadvantages of Multi-Programming Operating System

 There is not any facility for user interaction of system resources with the system.

3. Multi-Processing Operating System


Multi-Processing Operating System is a type of Operating System in which more than one CPU is
used for the execution of resources. It betters the throughput of the System.

Advantages of Multi-Processing Operating System

 It increases the throughput of the system.

 As it has several processors, so, if one processor fails, we can proceed with another
processor.

Disadvantages of Multi-Processing Operating System

 Due to the multiple CPU, it can be more complex and somehow difficult to understand.

4. Time-Sharing/multitasking Operating Systems


Time sharing (or multitasking) OS is a logical extension of multiprogramming. It provides extra
facilities such as:
 Faster switching between multiple jobs to make processing faster.
 Allows multiple users to share computer system simultaneously.

7|Page
 The users can interact with each job while it is running.
These systems use a concept of virtual memory for effective utilization of memory space. Hence, in
this OS, no jobs are discarded. Each one is executed using virtual memory concept. It uses CPU
scheduling, memory management, disc management and security management. Examples: CTSS,
MULTICS, CAL, UNIX etc.

5. Real-Time Operating Systems (RTOS)


 A real-time operating system (RTOS) is a multitasking operating system intended for
applications with fixed deadlines (real-time computing). Such applications include some
small embedded systems, automobile engine controllers, industrial robots, spacecraft,
industrial control, and some large-scale computing systems.
 The real time operating system can be classified into two categories:
1. hard real time system and 2. soft real time system.
1. A hard real-time system guarantees that critical tasks be completed on time. This goal
requires that all delays in the system be bounded, from the retrieval of stored data to the time
that it takes the operating system to finish any request made of it. Such time constraints
dictate the facilities that are available in hard realtime systems.
2. A soft real-time system is a less restrictive type of real-time system. Here, a critical real-
time task gets priority over other tasks and retains that priority until it completes. Soft real
time system can be mixed with other types of systems. Due to less restriction, they are risky
to use for industrial control and robotics.
3. Firm Real time These type of RTOS also need to follow the deadlines. However, missing
a deadline may not have big impact but could cause undesired affects, like a huge reduction
8|Page
in quality of a product.
Example: Various types of Multimedia applications.

6. Network OS
Network operating systems are installed on a server, providing users with the capability to manage
data, user groups and applications. This operating system enables users to access and share files and
devices such as printers, security software and other applications, mainly in a local area network.
Examples of network operating systems include Microsoft Windows, Linux and macOS X. Potential
advantages and disadvantages of these systems are:

Advantages Disadvantages
Centralized servers provide high stability. They require regular updates and maintenance.
Security issues are easier to handle through
Servers are expensive to buy and maintain.
the servers.
It's easy to upgrade and integrate new Users' reliance on a central server might be
technologies. detrimental to workflows.
Remote access to the servers is possible.

7. Distributed Operating Systems


 In distributed system, the different machines are connected in a network and each machine
has its own processor and own local memory.
 In this system, the operating systems on all the machines work together to manage the
collective network resource.
 It can be classified into two categories:
1. Client-Server systems
2. Peer-to-Peer systems
Advantages of distributed systems.
 Resources Sharing
 Computation speed up – load sharing
 Reliability
 Communications
 Requires networking infrastructure.
 Local area networks (LAN) or Wide area networks (WAN)
Difference between Distributed OS and Network OS:

9|Page
After seeing the definition of both DOS and NOS, are you still confused? Here are the basic
difference between the DOS and NOS.

Parameter Distributed Operating System (Dos) Network Operating System (Nos)


Objective Better Management of hardware resources Remotely servicing multiple clients.
Communication Communication is mostly message-based or Communication is file-based or
shared memory based shared folder based.
When it comes to Scalability NOS
Scalability In terms of Scalability, DOS is lesser than NOS
is more scalable
Fault Tolerance The fault tolerance in Network
It has high Fault Tolerance
Operating System is low
Implementation The ease of implementation is low. It has ease of implementation.
Openness Closed Closed
Rate of autonomy Low High
Resource Resources are managed through Global central Resources are handled at each node.
management or distributed management
Loosely coupled and used in multiprocessor Tightly coupled and used in
Use
and homogenous computers homogenous computers.

10 | P a g e

You might also like