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