You are on page 1of 34

Chapter 1

Introduction
Introduction to Operating System
Operating System Definitions
OS – Objective & Functions

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 1


What is an Operating System?
 A program that controls the execution of
application programs and acts as an intermediary
between a user of a computer and the computer
hardware.
 Operating system goals:
• Execute user programs and make solving user problems
easier.
• Make the computer system convenient to use.
• Use the computer hardware in an efficient manner.

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 2


Computer System Layers
user user user
Application
Application Programs Programs
Compiler Instruction Interpreter
System
Programs
Operating System
Machine Language
Microprogram Hardware
Physical Devices

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 3


Computer System Layers
1. Hardware – provides basic computing resources
(CPU, memory, I/O devices).
2. Operating system – controls and coordinates the
use of the hardware among the various application
programs for the various users.
3. Applications programs – define the ways in which
the system resources are used to solve the
computing problems of the users (compilers,
database systems, video games, business
programs).
4. Users (people, machines, other computers).

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 4


Operating System
 Two types of computer software:
• System Programs: provide a convenient environment for
developing and executing programs. Eg: compilers, text
editors, loader, Operating System
• Application Programs
 Operating system is a system program.
• Manage all hardwares and softwares
• Control file and devices, memory, CPU time.
• Hide complexity of hardware from users
• Execute in kernel or supervisor mode

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 5


Operating System Definitions
 Acts as a resource manager
• Resources: memory, CPU, I/O devices, etc..
• Allocate and de-allocate resources
• Keep track of resources
• Provide a policy to determine the use of computer
resources (eg. CPU scheduling policy)
 It is a resource manager
• Each program gets time with the resource
• Each program gets space on the resource

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 6


Operating System Definitions
 Acts as a control program
• manages the execution of user programs and
improper use of the computer
• Controls the operations of I/O devices .
 It is an extended machine
• Hides the messy details which must be performed
• Presents user with a virtual machine, easier to use

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 7


Chapter 1

Evolution of Operating System

Early System Mainframe System


Batch System
Multiprogramming System
Time-Sharing System Others

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 8


Early System
 No operating system
 Programmer acts as an operator
 One-user system
 Serial processing
 CPU idle – waste CPU time

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 9


Mainframe Systems
 Reduce setup time by batching similar jobs
 Automatic job sequencing – automatically transfers
control from one job to another. First rudimentary
operating system.
 Resident monitor
• initial control in monitor
• control transfers to job
• when job completes control transfers pack to monitor

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 10


Batch System
 Same jobs are collected and executed as one batch
 Introduce Operator
 Reduce computer set-up time
 Resident monitor or batch monitor is introduced
• First rudimentary operating system.
• initial control in monitor
• control transfers to job
• when job completes control transfers back to monitor
• Use automatic job sequencing – automatically transfers
control from one job to another.

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 11


Job Control Language (JCL)
 Problems
1. How does the monitor know about the nature of the job
(e.g., Fortran versus Assembly) or which program to
execute?
2. How does the monitor distinguish
(a) job from job?
(b) data from program?
 Solution
• Introduce control cards and Job Control Language (JCL)
• JCL is a set of commands that will be executed by OS
• JCL statement is inserted together with the program and
data.
Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 12
Example Program:
 Card order for FORTRAN program:
• $JOB – first card for a job
• $FTN - execute FORTRAN compiler
• ...program....
• $LOAD – load into memory
• $RUN
• ...data..
• $END – last card for the job
Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 13
Batch System (cont.)
 Parts of resident monitor:
• Control card interpreter – responsible for reading and carrying out
instructions on the cards.
• Loader – loads systems programs and applications programs into memory.
• Device drivers – know special characteristics and properties for each of the
system’s I/O devices.
 Problem: Slow performace
• I/O and CPU could not overlap (serial processing)
• Program has two phases:
• Computation phase
• I/O phase
• During I/O, CPU is idle
• card reader very slow.

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 14


Memory Layout for a Simple Batch
System

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 15


Serial Processing

Program 1 Program 2

CPU I/O CPU I/O CPU CPU I/O CPU I/O CPU

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 16


Solution to serial processing
 Off-line operation – speed up computation by loading jobs into
memory from tapes and card reading and line printing done
off-line.
 Overlap I/O of one job with computation of another job. While
executing one job, the OS.

• Reads next job from card reader into a storage area on the disk
(job queue).
• Outputs printout of previous job from disk to printer.
 Job pool – data structure that allows the OS to select which job
to run next in order to increase CPU utilization.

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 17


Batched Multiprogramming
 Concurrent execution of several programs whereby several
jobs are kept in main memory at the same time, and the CPU
is multiplexed among them.
 Can optimize CPU utilization as compared to serial processing.
 Need:
• Memory management – the system must allocate the memory to
several jobs.
• CPU scheduling: choose a job in memory (ready queue) for
execution by CPU.

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 18


Multiprogrammed Batch Systems

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 19


Multiprogramming Processing

Program 1
CPU I/O CPU I/O CPU
Program 2
CPU I/O CPU I/O CPU

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 20


Degree of Multiprogramming
 To increase CPU utilization, in general
multiprogramming system allows more than
two programs to be executed concurrently.
 Degree of multiprogramming – the number
of programs running concurrently.
 Degree of Multiprogramming , computer
resources utilization .

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 21


Time-Sharing System
 The CPU is multiplexed among several jobs that are kept in
memory and on disk (the CPU is allocated to a job only if the
job is in memory).
 A job swapped in and out of memory to the disk.
 On-line communication between the user and the system is
provided; when the operating system finishes the execution
of one command, it seeks the next “control statement” not
from a card reader, but rather from the user’s keyboard.
 On-line system must be available for users to access data
and code.
 Interactive, multi-user system.
 Need: CPU scheduling, multiprogramming, virtual memory

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 22


Personal Computer

 Computer system dedicated to a single user.


 I/O devices – keyboards, mice, display screens,
small printers.
 User convenience and responsiveness.
 Can adopt technology developed for larger
operating system, often individuals have sole use
of computer and do not need advanced CPU
utilization or protection features.

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 23


Parallel Systems
 Multiprocessor systems with more than one
CPU in close communication.
 Tightly coupled system – processors share
memory and a clock; communication usually
takes place through the shared memory.
 Advantages of parallel system:
• Increased throughput
• Economical
• Increased reliability
• graceful degradation
• Fault tolerant systems
Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 24
Parallel Systems (Cont.)
 Symmetric multiprocessing (SMP)
• Each processor runs an identical copy of the operating
system.
• Many processes can run at once without performance
deterioration.
• Most modern operating systems support SMP.
 Asymmetric multiprocessing
• Each processor is assigned a specific task; master
processor schedules and allocates work to slave
processors.
• More common in extremely large systems.

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 25


Real-Time Systems

 Often used as a control device in a dedicated


application such as controlling scientific
experiments, medical imaging systems, industrial
control systems, and some display systems.

 Well-defined fixed-time constraints.

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 26


Real-Time Systems (Cont.)
 Hard real-time system
• Secondary storage limited or absent, data stored in
short-term memory, or read-only memory (ROM)
• Conflicts with time-sharing systems, not supported
by general-purpose operating systems.

 Soft real-time system


• Limited utility in industrial control or robotics.
• Useful in applications (multimedia, virtual reality)
requiring advanced operating-system features.

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 27


Handheld Systems
 Example of Soft Real-time system
 Personal Digital Assistants (PDAs)
 Cellular telephones
 Issues:
• Limited memory
• Slow processors
• Small display screens.

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 28


Distributed Systems
 Distribute the computation among several physical
processors.
 Loosely coupled system – each processor has its
own local memory; processors communicate with
one another through various communication lines,
such as high-speed buses or telephone lines.
 Advantages of distributed systems:
• Resources Sharing
• Computation speed up – load sharing
• Reliability
• Communications

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 29


Distributed Systems (Cont.)
 Requires networking infrastructure.
 Local area networks (LAN) or Wide area
networks (WAN)
 May be either client-server or peer-to-peer
systems

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 30


Distributed Systems (Cont.)

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 31


Distributed Systems (Cont.)
 Network Operating System
• provides file sharing
• provides communication scheme
• runs independently from other computers on the
network
 Distributed Operating System
• less autonomy between computers
• gives the impression there is a single operating
system controlling the network.

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 32


Clustered Systems
 Clustering allows two or more systems to
share storage.
 Provides high reliability.
 Asymmetric clustering: one server runs the
application while other servers standby.
 Symmetric clustering: all N hosts are running
the application.

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 33


Migration of Operating-System
Concepts and Features

Norafida Ithnin, Subariah Ibrahim, Noh Abd. Samad Introduction: 34

You might also like