AMBO UNIVERSITY WOLISO CAMPUS
School of Technology and Informatics Department of Information Systems
Course Title: Operating System Course Code: INSY2051; ECTS: 5
Chapter One
Operating System Overview
INSY2051 : Operating System
BSc(IS) 2rd Year, Second Semester, 2017 E.C
JAFAR B.
By Jafar 3/24/2025
Outline
2
Operating system
Function of OS
Goals of operating system
Types of operating system
Components of computer system
Types of interface
History of OS
By Jafar 3/24/2025
What is an Operating System?
3
An operating system (OS) is a program that controls the
execution of application programs and acts as an intermediary
between the user of a computer and the computer hardware.
It also provides a basis for application programs.
An operating system is a program that manages the computer
hardware.
By Jafar 3/24/2025
Functions of Operating System
4
Process Management
Creating and destroying the process.
Allocating hardware resources among the processes.
Controlling the progress of processes.
Providing mechanisms for process communications.
Provides mechanisms for deadlock handling.
Memory Management
Keep track of which parts of memory are currently being used.
Decide which processes are to be loaded into memory when
memory space becomes available.
Allocate and deallocate memory space as needed.
By Jafar 3/24/2025
Cont’d
5
File Management
Creating and deleting of files and directories.
Mapping files onto secondary storage.
Backing up files on stable storage media.
Transmission of file elements between main and secondary
storage
Protection and security of the files
I/O System Management
A general device driver interface.
Drivers for specific hardware devices
Security and protection :-Password and Process
By Jafar 3/24/2025
Goals of Operating System
6
Simplify the execution of user programs and make solving user
problems easier.
Use computer hardware efficiently.
Allow sharing of hardware and software resources.
Make application software portable and versatile.
Provide isolation, security and protection among user programs.
provide user programs with a simple interface to the hardware
By Jafar 3/24/2025
Why should we study Operating System?
7
Need to understand interaction between the hardware and
applications.
Need to understand basic principles in the design of computer
systems.
Increasing need for specialized operating systems.
Without Operating System, we cannot even operate a computer.
By Jafar 3/24/2025
Types of operating System
8
Batch operating Systems
Multiprogrammed Systems
Real-Time Systems
Multiprocessor systems
Single user systems
Multiuser systems
By Jafar 3/24/2025
Batch operating System
9
User did not interact directly with the computer systems
User prepared a job which consist of the program, the data, and some control
information about the nature of the job (control cards), and submitted it to the
computer operator.
Reduce setup time by batching similar jobs
Automatic job sequencing -automatically transfers control from one job to
another. First rudimentary operating system.
Operating system was always resident in memory.
Monitor, a special system program in the system tape, runs each job
sequentially.
By Jafar 3/24/2025
Multiprogrammed Systems
10
Multiprogramming means sharing of resources between more than one
processes.
In multiprogramming the CPU time is not wasted, because, while one
process moves on some I/O work, the OS picks another process to execute till
the current one passes to I/O operation.
Multiprogramming increases CPU utilization by organizing jobs so that the
CPU always has one to execute.
With the development of interactive computation in 1970s, timesharing
systems emerged.
By Jafar 3/24/2025
Real-Time Systems (RTOS)
11
It is a special purpose OS in which there are rigid time requirements on the
operation of a processor.
A real time OS has well defined fixed time constraints.
Processing must be done within the time constraint or the system will fail.
A real time system is said to be function correctly only if it returns the correct
result within the time constraint.
These systems are characterized by having time as a key parameter.
An RTOS typically has very little user-interface capability, and no end-user
utilities.
These real time operating systems are used to control machinery, scientific
instruments and industrial systems.
By Jafar 3/24/2025
Cont’d
12
Real time system is of two types such as:
Hard real time systems
It guarantees that the critical task has been completed on time.
The sudden task is takes place at a sudden instant of time.
These systems must provide absolute guarantees that a certain action
will occur by a certain time.
These OSs are meant for applications where time-constraints are
very strict and even the shortest possible delay is not acceptable.
By Jafar 3/24/2025
Cont’d
13
Soft real time systems
It is a less restrictive type of real time system where a critical task gets
priority over other tasks and retains that priority until it computes.
These have more limited utility than hard real time systems.
Missing an occasional deadline is acceptable.
This OSs are for applications where time-constraints is less strict. e.g.
Digital audio or multimedia is included in this category.
By Jafar 3/24/2025
Multiprocessing System
14
A multiprocessor system is simply a computer that has >1 & not <=1 CPU on
its motherboard.
There are more than one processors present in the system which can execute
more than one process at the same time.
If the operating system is built to take advantage of this, it can run different
processes (or different threads belonging to the same process) on different
CPUs.
Multiprocessing operating systems can perform more than one task
concurrently by running more than a single process.
Parallel computing is achieved
By Jafar 3/24/2025
Single User Systems
15
Provides a platform for only one user at a time.
They are popularly associated with Desk Top operating system
which run on standalone systems where no user accounts are
required.
Example: DOS
By Jafar 3/24/2025
Cont’d.
16
Single-User, Single Task
As the name implies ,this operating System is designed to
manage the computer so that one user can effectively do one
thing at a time.
Example of Single-user , Single Task
Palm OS for palm handheld computers is a good example of
a modern single-user, single-task operating System
By Jafar 3/24/2025
Cont’d.
17
Single-user, Multi-tasking
This is the type of operating system most people use on their
desktop and laptop computer today .
Example of single-user, multi-tasking
Microsoft’s Windows and Apple’s MacOS Platforms are
both examples of OS that will let a single-user have several
programs in operation at the same time.
For example it’s entirely possible for Windows user to be
writing a note in a word processor while downloading a file
from the internet while printing a text of an email message.
By Jafar 3/24/2025
Cont’d..
18
By Jafar 3/24/2025
Multi User Systems
19
Provides regulated access for a number of users by maintaining a
database of known users.
Refers to computer systems that support two or more
simultaneous users.
Another term for multi-user is time sharing.
All mainframes are multi-user systems
Example: Unix, Linux…
By Jafar 3/24/2025
Multi User Systems(cont’d…)
20
Multi user Operating System allows many different users to take advantage of
the computer resource simultaneously.
The operating System must make sure that the requirement of the various
users are balanced, and that each of the programs they are using has sufficient
and separate resources so that a problem with one user doesn’t affect the entire
community of user.
By Jafar 3/24/2025
Cont’d.
21
Example of multi user system
Unix, VMS ,and mainframe Operating Systems are an
examples of multi user system
By Jafar 3/24/2025
Operating System Services
22
An operating system provides an environment for the execution of programs
by providing services needed by those programs.
Program execution -The system must be able to load a program into memory
and to run that program.
The program must be able to terminate this execution either normally or
abnormally.
I/O operations -A running program may require I/O.
This I/O may involve a file or a I/O device for specific device. Some
special function can be desired.
Therefore the operating system must provide a means to do I/O.
By Jafar 3/24/2025
Cont’d…
23
File-system manipulation -The programs need to create and delete files by name
and read and write files. Therefore the operating system must maintain each and
every files correctly. Program capability to read, write, create, and delete files.
Communications-Exchange of information between processes executing either
on the same computer or on different systems tied together by a network.
Error detection -Ensure correct computing by detecting errors in the CPU and
memory hardware, in I/O devices, or in user programs.
The operating system should take the appropriate actions for the occurrences of
any type like arithmetic overflow, access to the illegal memory location and too
large user CPU time.
By Jafar 3/24/2025
OS Services: System Services
24
Resource Management
Multi-user or multi-tasking environment, resources such as main memory,
CPU cycles and files storage are to be allocated to each user or job.
The OS manages all kinds of resources using schedulers.
CPU scheduling algorithms are used for better utilization of CPU.
Protection
Protection refers to a mechanism or a way to control the access of
programs, processes, or users to the resources defined by a computer
system.
The OS ensures that all access to system resources is controlled.
The OS ensures that external I/O devices are protected from invalid access
attempts.
The OS provides authentication features for each user by means of
passwords.
By Jafar 3/24/2025
Structure of Operating System:
25
By Jafar 3/24/2025
Cont’d…
26
The structure of OS consists of 4 layers:
Hardware :-Hardware consists of CPU, Main memory, I/O Devices, etc,
Software (Operating System)
Software includes process management routines, memory management
routines, I/O control routines, file management routines.
System Program :-This layer consists of compilers, Assemblers, linker etc.
Application Program :-This is dependent on users need. Ex. Railway
reservation system, Bank database management etc.,
By Jafar 3/24/2025
Computer System Architecture
27
Computer system can be divided into four components:
Hardware-provides basic computing resources
CPU, memory, I/O devices
Operating system :-Controls and coordinates use of hardware among various
applications and users
Application programs-define the ways in which the system resources are used
to solve the computing problems of the users
Word processors, compilers, web browsers, database systems, video games
Users :-People, machines, other computers
By Jafar 3/24/2025
Four Components of Computer System
28
By Jafar 3/24/2025
Computer Hardware Organization
29
By Jafar 3/24/2025
Cont’d..
30
By Jafar 3/24/2025
Types of interface
31
Operating System (OS) interfaces define how users and programs interact with
the system.
Two types of interface :-CLI & GUI
Command-Line Interface (CLI)
Uses text commands to interact with the OS.
Examples: Windows Command Prompt, Linux Terminal, macOS Terminal.
Advantages: Lightweight, powerful, and efficient.
Disadvantages: Steep learning curve for beginners.
Graphical User Interface (GUI)
Uses visual elements like windows, icons, and buttons.
Examples: Windows OS, macOS, GNOME (Linux).
Advantages: User-friendly, easy to navigate.
Disadvantages: Requires more system resources.
By Jafar 3/24/2025
What operating systems do ?
32
Depends on the point of view: user view and system view
User view --- depends on the interface being used
1. Users sit at PC (have dedicated resources):
OS goal is Providing ease of use and good performance
2. User at the terminal connected to mainframe or minicomputer
must keep all users happy
OS goal is resource utilization
3. Users sit at PC connected to other workstation and servers
OS goal is to compromise between usability and resource utilization
By Jafar 3/24/2025
Cont’d
33
System view – OS is related with HW, users, and applications
1. OS is a resource allocator
Manages all resources
Decides between conflicting requests for efficient and fair resource use
2. OS is a control program
Controls execution of programs to prevent errors and improper use of the
computer
3.Kernel View
The core of the OS that directly interacts with hardware.
Manages low-level tasks like interrupt handling, process control, and I/O
operations.
Types of kernels: Monolithic Kernel (Linux), Microkernel (MINIX,
QNX).
By Jafar 3/24/2025
Operating system objectives
34
Convenience
Make the computer more convenient to use
Abstraction
Hardware-independent programming model
Efficiency
Allows the computer system to be used in an efficient manner
Ability to evolve
Permit effective development, testing, and introduction of new
system functions without interfering with existing services
Protection
allow only authorised access to data, computation, services, etc.
By Jafar 3/24/2025
System calls
35
System calls are interfaces between user programs and the
operating system, allowing applications to request services like
file manipulation, process control, and memory management.
They provide controlled access to OS resources and hardware.
Types of system calls
1.Process Control:-Create, terminate, and manage processes.
Examples:
fork() → Creates a new process.
exit() → Terminates a process.
exec() → Replaces a process with a new program.
By Jafar 3/24/2025
Cont’d..
36
2.File Management:-Operations on files and directories.
Examples:
open() → Opens a file.
read() → Reads data from a file.
write() → Writes data to a file.
close() → Closes an open file.
3.Device Management:-Interaction with hardware devices via device drivers.
Examples:
ioctl() → Controls device settings.
read() → Reads data from a device.
write() → Writes data to a device.
By Jafar 3/24/2025
Cont’d..
37
4.Memory Management:-Allocates and deallocates memory for processes.
Examples:
malloc() → Allocates memory dynamically.
free() → Releases allocated memory.
mmap() → Maps files into memory.
5.Interprocess Communication (IPC):-Enables communication between
processes.
Examples:
pipe() → Creates a communication channel.
shmget() → Allocates shared memory.
msgsnd() / msgrcv() → Sends and receives messages.
6.Networking (Sockets):-Allows communication over a network.
Examples:
socket() → Creates a network socket.
bind() → Binds a socket to an address.
send() / recv() → Sends and receives data.
By Jafar 3/24/2025
History of Operating System
38
Operating systems (OS) have evolved significantly since the beginning of
computers, characterised by improvements in user interface, software, and
hardware.
First generation 1945 – 1955:The Dawn of Computing
vacuum tubes, plug boards
No operating systems existed; computers were manually programmed
using machine language
Second generation 1955 – 1965:Batch Processing Systems
transistors, batch systems
Third generation 1965 – 1980:Multiprogramming and Time-Sharing
ICs and multiprogramming
Fourth generation 1980 –1990s)Personal Computing and Graphical
Interfaces
personal computers
5th Generation (2000s - Present): Mobile and Cloud Computing
By Jafar 3/24/2025
History of operating system…
39
Reading assignment
Read more about history of OS
By Jafar 3/24/2025
Ended!
40
Chapter One
Operating System Overview
INSY2051 :Operating System
BSc(IS) 2nd Year, Second Semester, 2017 E.C
By Jafar 3/24/2025