0% found this document useful (0 votes)
2 views9 pages

Chapter One

An operating system (OS) is a set of programs that manage computer hardware and provide services for application software, 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 must prioritize simplicity, efficiency, and robustness. Various types of operating systems exist, such as batch, multi-programming, multi-processing, multitasking, real-time, and network operating systems, each with distinct advantages and disadvantages.

Uploaded by

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

Chapter One

An operating system (OS) is a set of programs that manage computer hardware and provide services for application software, 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 must prioritize simplicity, efficiency, and robustness. Various types of operating systems exist, such as batch, multi-programming, multi-processing, multitasking, real-time, and network operating systems, each with distinct advantages and disadvantages.

Uploaded by

nebiatesfalem
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, 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.

1|Page
 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 problems.

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


different computer component

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 multi-programming 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 provides
programs 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.
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 an operating
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 are much 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

Multi-programming 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. Multitasking Operating Systems

Time sharing (or multitasking) OS is a logical extension of multi-programming. It provides extra


facilities such as:
 Faster switching between multiple jobs to make processing faster.

7|Page
 Allows multiple users to share computer system simultaneously.
 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.

8|Page
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 detrimental
technologies. to workflows.
Remote access to the servers is possible.

9|Page

You might also like