You are on page 1of 23

Lecture 1

Introduction to Operating System

Dr. Amar Singh


Professor, School of Computer Applications
Lovely Professional University
What is an Operating System?
• A program that 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
System 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 – used to solve the computing problems
of the users.
– Users
Four Components of a Computer System
Operating System Services
 One set of operating-system services provides functions that
are helpful to the user:
 User interface - Almost all operating systems have a user
interface (UI).
 Varies between Command-Line (CLI), Graphics User
Interface (GUI), Batch
 Program execution - The system must be able to load a
program into memory and to run that program, end
execution, either normally or abnormally (indicating
error)
 I/O operations - A running program may require I/O,
which may involve a file or an I/O device
Operating System Services (Cont.)
 One set of operating-system services provides functions that are helpful to the user
(Cont.):
 File-system manipulation - The file system is of particular interest. Programs
need to read and write files and directories, create and delete them, search
them, list file Information, permission management.
 Communications – Processes may exchange information, on the same
computer or between computers over a network
 Communications may be via shared memory or through message passing
(packets moved by the OS)
 Error detection – OS needs to be constantly aware of possible errors
 May occur in the CPU and memory hardware, in I/O devices, in user
program
 For each type of error, OS should take the appropriate action to ensure
correct and consistent computing
 Debugging facilities can greatly enhance the user’s and programmer’s
abilities to efficiently use the system
Operating System Services
(Cont.)
 Another set of OS functions exists for ensuring the efficient operation of the
system itself via resource sharing
 Resource allocation - When multiple users or multiple jobs running
concurrently, resources must be allocated to each of them
 Many types of resources - CPU cycles, main memory, file storage, I/O
devices.
 Accounting - To keep track of which users use how much and what kinds of
computer resources
 Protection and security - The owners of information stored in a multiuser
or networked computer system may want to control use of that
information, concurrent processes should not interfere with each other
 Protection involves ensuring that all access to system resources is
controlled
 Security of the system from outsiders requires user authentication,
extends to defending external I/O devices from invalid access attempts
A View of Operating System
Services
Types of OS
• Batch OS
• Single user (Desktop Systems)
• Multiprogramming
• Multiprocessor Systems
• Time sharing
• Network OS
• Multiuser systems
• Parallel systems
• Grid computing
• Distributed Systems (LOCUS)
• Clustered System (Cloud computing)
• Real -Time Systems
• Online system
• Mobile OS
• Embedded systems (Handheld Systems)
Operating System Concepts
Batch Processing:
• In Batch processing same type of jobs batch (BATCH- a set of
jobs with similar needs) together and execute at a time.
• The OS was simple, its major task was to transfer control from
one job to the next.
• The job was submitted to the computer operator in form of
punch cards. At some later time the output appeared.
• The OS was always resident in memory.
• Common Input devices were card readers and tape drives.
Batch Processing (Contd…):
• Common output devices were line printers, tape drives, and
card punches.
• Users did not interact directly with the computer systems, but
he prepared a job (comprising of the program, the data, &
some control information).
OS

User
program
area
Multiprogramming:
• Multiprogramming is a technique to execute number of
programs simultaneously by a single processor.
• In Multiprogramming, number of processes reside in main
memory at a time.
• The OS picks and begins to executes one of the jobs in the
main memory.
• If any I/O wait happened in a process, then CPU switches from
that job to another job.
• Hence CPU in not idle at any time.
Multiprogramming (Contd…):
OS • Figuredipicts the layout of
multiprogramming system.
Job 1
• The main memory consists
Job 2 of 5 jobs at a time, the CPU
executes one by one.
Job 3
Advantages:
Job 4 •Efficient memory utilization

Job 5 •Throughput increases


•CPU is never idle, so
performance increases.
Time Sharing Systems:
• Time sharing, or multitasking, is a logical extension of
multiprogramming.
• Multiple jobs are executed by switching the CPU between
them.
• In this, the CPU time is shared by different processes, so it is
called as “Time sharing Systems”.
• Time slice is defined by the OS, for sharing CPU time between
processes.
• Examples: Multics, Unix, etc.,
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.
• Real-Time systems may be either hard or
soft real-time.

Operating System Concepts


Real-Time Systems (Cont.)
• Hard real-time:
– 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
– Limited utility in industrial control of robotics
– Useful in applications (multimedia, virtual reality)
requiring advanced operating-system features.

Operating System Concepts


Desktop Systems
• Personal computers – 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 of protection features.
• May run several different types of operating
systems (Windows, MacOS, UNIX, Linux)

Operating System Concepts


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 communications
lines, such as high-speed buses or telephone lines.
• Advantages of distributed systems.
– Resources Sharing
– Computation speed up – load sharing
– Reliability
– Communications

Operating System Concepts


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.

Operating System Concepts


General Structure of Client-Server

Operating System Concepts


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.
• Real-Time systems may be either hard or
soft real-time.

Operating System Concepts


Real-Time Systems (Cont.)
• Hard real-time:
– 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
– Limited utility in industrial control of robotics
– Useful in applications (multimedia, virtual reality)
requiring advanced operating-system features.

Operating System Concepts


Handheld Systems
• Personal Digital Assistants (PDAs)
• Cellular telephones
• Issues:
– Limited memory
– Slow processors
– Small display screens.

Operating System Concepts

You might also like