Operating System Objectives and functions-D2

Operating System Objectives and
functions
Module 1
G.Anuradha
Topics to be covered
•
•
•
•
•
•
•
Introduction to OS
Computer system organization
OS Objectives and Functions
OS Services
Evolution of OS
System calls
Types of System calls
Introduction to OS
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
Computer System Structure
• 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
Four Components of a Computer System
What Operating Systems Do
• Depends on the point of view
– User’s view and System’s view
• Users want convenience, ease of use
– Don’t care about resource utilization
• But shared computer such as mainframe or minicomputer
must keep all users happy
• Users of dedicate systems such as workstations have
dedicated resources but frequently use shared resources from
servers
• Handheld computers are resource poor, optimized for
usability and battery life
• Some computers have little or no user interface, such as
embedded computers in devices and automobiles
Operating System Definition
• OS is a resource allocator
– Manages all resources
– Decides between conflicting requests for
efficient and fair resource use
• OS is a control program
– Controls execution of programs to prevent
errors and improper use of the computer
Operating System Definition
(Cont.)
• No universally accepted definition
• “Everything a vendor ships when you order an operating
system” is good approximation
– But varies wildly
• “The one program running at all times on the
computer” is the kernel. Everything else is either a
system program (ships with the operating system) or an
application program.
Why Study Operating System?
• Abstraction: gives users the illusion of infinite resources (CPU
time, memory, file space)?
• System design: tradeoffs between
– Performance and convenience of these abstractions
– Performance and simplicity of OS
– Functionality in hardware or software
• Primary intersection point: OS is the point where hardware,
software, programming languages, data structures, and
algorithms all come together
QUIZ
• OS in a single user’s view is designed for
– Ease of use
– Resource utilization
• OS in a mainframe is designed for
– Ease of use
– Resource utilization
• In workstations the OS is designed for
– Ease of use
– Resource utilization
– Compromise between ease and utilization
Computer System organization
• Computer System operation
• Storage structure
• Input output structure
Computer System Operation
• Computer-system operation
– One or more CPUs, device controllers connect
through common bus providing access to
shared memory
– Concurrent execution of CPUs and devices
competing for memory cycles
– Memory controller synchronizes access to
memory
Computer Startup
• bootstrap program is loaded at power-up or reboot –
initializes all aspects of system
– Typically stored in ROM or EPROM- known as firmware
– Loads operating system kernel and starts execution
– System process or daemons run the entire time the kernel
is running
– Occurrence of an event is signaled by interrupt
– Interrupts can be hardware or software
Common Functions of Interrupts
• Interrupt is an event external to the
currently executing process that causes a
change in the normal flow of instruction
execution.
• Possible solutions for checking Interrupts
– Polling :CPU periodically checks each device
to see if it needs service
– Interrupt: Interrupt line is used to signal the
processor. Interrupt handler is used to deal
with interrupts.
How interrupts are handled
• The operating system preserves the state of the CPU in
registers and by using program counter
• Different interrupts have different segments of code to
be executed.
• The interrupt architecture stores the return address on
the system stack.
• After the interrupt is serviced, the saved return address is
loaded into the program counter and the interrupted
computation resumes as though interrupt has not yet
occurred.
Storage Structures
• Any program to run should be stored in main
memory
• This main memory also called as Random Access
Memory (RAM) is implemented using a semi
conductor technology called as Dynamic RAM
• Read Only Memory(ROM) stores static programs
such as bootstrap program
• EEPROM(Electrically Erasable Programmable Read
Only Memory) is used in smart phones -factory
installed programs
Storage Structure
• RAM is volatile
• Secondary storage – extension of main memory that
provides large nonvolatile storage capacity
• Magnetic disks – rigid metal or glass platters covered with
magnetic recording material
– Disk surface is logically divided into tracks, which are
subdivided into sectors
– The disk controller determines the logical interaction
between the device and the computer
Storage Hierarchy
• Storage systems organized in hierarchy
– Speed
– Cost
– Volatility
• Caching – copying information into faster storage system;
main memory can be viewed as a cache for secondary
storage
• Why secondary storage is required?
Storage-Device Hierarchy
Caching
• Information in use copied from slower to faster
storage temporarily
• Faster storage (cache) checked first to determine if
information is there
– If it is, information used directly from the cache
(fast)
– If not, data copied to cache and used there
• Cache smaller than storage being cached
– Cache management important design problem
– Cache size and replacement policy
I/O Structure
• Devices are attached to small computer
systems interface (SCSI) controller
• Devices are controlled by Device Controller
and OS maintains Device Driver for each.
Working of device controller
Device Controller
Registers
Local Buffers
Device
Driver
For bulk data movement Direct Memory Access(DMA) is
used
Summing up
• Computer system organization
– Computer operation/ interrupts
– Storage/RAM/ROM/Secondary Storage devices
– I/O operations-Device controllers/ drivers/Direct
Memory Access
QUIZ
1. I can store data permanently. Who am I?
_______
2. I can store more data and I am comparatively
cheaper. Who am I? ___________
3. Occurrence of an event is signaled by me? I
am _______________
4. Secondary Storage is required because main
memory is ___________
OS Objectives and functions
• OS is a layer of software whose job is to
manage all devices and provide user programs
with a simpler interface to the hardware
• Objectives of OS
– Convenience
– Efficiency
– Ability to evolve
Layers and views of computer system
Layered Approach
• End user views a computer system in terms of a set of
applications
• Applications are developed in a programming language and is
developed by application programmer
• To make the applications reachable to computer hardware
system programs or utilities are provided
• OS comprises of collection of system programs
• OS masks the details of the hardware from the programmer
and provides the programmer with a convenient interface for
using the system.
OS as User/Computer Interface
• OS provides services in the following areas:
– Program Development- Editors/Debuggers assist
programmer in creating programs. These are provided as
application program development tool.
– Program execution – load program-run program-execute
program
– Access to I/O devices - OS provides a uniform interface
for I/O devices which are hidden from end users
– Controlled Access to files - OS needs to understand I/O,
structure of file and also provide protection to users in
multiuser environment
OS as User/Computer Interface
– System Access: Provide access to system as whole and to
specific system resources. Resolve conflicts for resource
contention.
– 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
– Accounting - To keep track of which users use how much
and what kinds of computer resources
OS as resource manager
• OS controls the basic functions of the
computer like movement, storage, processing
of data
• But the control mechanism is unusual
– OS functions as a ordinary computer software
– OS relinquishes controls or regains control
depending on the processor.
– This control mechanism is not external but
something internal
OS as resource manager Contd…
kernel
Resources managed by the OS
OS as resource manager Contd…
• Resources the OS control are
– Main memory
– I/O devices and Files
– Processor
• OS controlling main memory
– A portion of OS (Kernel) resides in the main memory
– Kernel contain
• Frequently used functions
• Portions of OS which are currently in use
– Main memory = Kernel + user programs + data
– Main memory allocation is done by OS and memory
management hardware in the processor
OS as resource manager Contd…
• OS controls I/O and files
– Decides when an I/O can be used by a program in
execution
– Controlled access of files
• OS controls the processor
– Determines the processor time for the execution
of a program
Why OS evolves?
• Hardware upgrades plus new types of hardware
• New services
• Fixes: Faults are fixed and fixes are made. Fix
introduces new faults
The need to change OS regularly places certain
requirements on its design.
System should be modular in construction, with
clearly defined interfaces between modulus and
should be well documented
Quiz
1
System Programs
Fixes
2
Debuggers
Resides in main
memory
3
Faults
Utilities
4
Kernel
Application
Program
Development
Tool
Top 10 Mobile Phone OS
Name of Phone
OS
Updates if any
Nokia
Symbian
Symbian ANNA and BELLA
Samsung
Andriod
Jelly Bean
Iphone
Apple IOS
Black Berry
Black Berry OS
Nokia Lumia
Windows OS
Blackberry OS 7.1
Contents
•
•
•
•
Serial processing
Simple batch system
Multiprogrammed batch systems.
Time sharing Systems
Serial processing
• No OS (late 1940-mid 1950)
• Direct interaction with computer hardware
• Programs in machine code were loaded via
the input device (e.g., a card reader).
• If an error halted the program, the error
condition was indicated by the lights. If the
program proceeded to a normal completion,
the output appeared on the printer.
Serial Processing
Drawbacks in Serial Processing
• Scheduling:
– Hardcopy sign up time to reserve computer time
– Either processing time is wasted or user is unable to complete within
the stipulated time period
• Set up time: A single program, (job) could involve loading the compiler
into memory, saving the compiled program (object program) and then
loading and linking together the object program and common functions.
– Each of these steps could involve mounting or dismounting tapes or
setting up card decks.
– If an error occurred, then the entire sequence had to be repeated.
This resulted in time wastage.
Simple Batch system
• To improve processor utilization the concept of batch
system was introduced
• Developed in mid 1950s by General Motors
• In these systems a type of OS called monitors were
used.
• The users submit their job in the form of cards to the
computer operator
• The computer operators sequentially places the
entire job in the input device for use by the monitor
IBM 701
IBM 704
Memory layout by a resident
monitor
Monitor point of view
• A portion of monitor resides in the main memory
(resident monitor)
• The remaining portion resides in the utilities and
subroutine
• The resident monitor reads in the job from the input
device
• As it reads, it places the current job in the user area
and control is passed on to this job
• When job is completed it returns control to the
monitor
• The results of job is send to output device
Processor point of view
• The processor is getting instructions either
from the resident monitor or is executing
instructions from the user area
• Once a job in the user area is completed the
control is passed to monitor which gives
instruction for executing the next job
• JCL(Job Control Language) is the language
used of providing instructions to the monitor
H/W features desirable for Batch
OS
•
•
•
•
Timer
Memory protection
Privileged instructions
*Interrupts
Modes of
operation
User
Mode
Kernel
Mode
Advantages of Batch OS
1. Computer utilization increased
Disadvantages of Batch OS
1. Increased overhead- Some memory and processor time is given to the monitor
Multiprogrammed Batch systems
Problem with Batch OS processor is mostly idle because of waiting
time of I/O devices.
Multiprogrammed Batch systems
Contd…
More the number of
programs the
processor time is
efficiently used up.
When memory can
be expanded to
accommodate more
programs and
switch between
them multitasking
or
multiprogramming
can be obtained
Multiprogrammed Batch systems
Contd…
Available memory: 256K words, disk, terminal, printer
H/W features desirable for
Multiprogrammed Batch OS
• I/O Interrupts and DMA(Direct Memory
Access):- Give I/O command for one job and
proceed with the execution of another job,
where I/O is controlled by device controller
• Memory management
• Scheduling algorithms
Time Sharing Systems
• Though multiprogramming batch OS was very
efficient certain transaction processing systems
requires interactive mode.
• In 1960s when personal computer was very costly
the time sharing system came into existence
• In a time-sharing system, multiple users
simultaneously access the system through terminals,
with the OS interleaving the execution of each user
program in a short burst or quantum of computation.
One of the first time-sharing operating systems to be developed was the
Compatible Time-Sharing System (CTSS) [CORB62], developed at MIT by a
group known as Project MAC (Machine-Aided Cognition, or Multiple-Access
Computers).
CTSS
CTSS
• The system ran on a computer with 32,000 36bit words of main memory.
• Resident Monitor - 5000
• User’s program and data - loaded into the
remaining 27,000 words of main memory.
• A program was always loaded to start at the
location of the 5000th word; this simplified
both the monitor and memory management
• System clock 0.2 sec
Job1:15000
Job2:20000
Job3:5000
Job4:10000
Across
3.
hard copy sign up required
(2 words)
4.
memory can be expanded
to accommodate more programs
6.
language used for
providing instructions to the monitor
7.
mimimize response time (2
words)
Down
1.
2.
5.
words)
resides in memory
resident os
batch system (2