Evolution of OS

Download as odp, pdf, or txt
Download as odp, pdf, or txt
You are on page 1of 67

Operating System Overview

Operating System
A program that controls the execution of application programs An interface between applications and hardware

Operating System Objectives


onvenience
! "a#es the computer more convenient to use

$fficiency
! Allows computer system resources to be used in an efficient manner

Ability to evolve
! %ermit effective development& testing& and introduction of new system functions without interfering with service
3

(ayers of omputer System

'

Services %rovided by the Operating System


%rogram development
! $ditors and debuggers

%rogram execution Access to *+O devices ontrolled access to files System access

Services %rovided by the Operating System


$rror detection and response
! *nternal and external hardware errors
"emory error -evice failure

! Software errors
Arithmetic overflow Access forbidden memory locations

! Operating system cannot grant re.uest of application


,

Services %rovided by the Operating System


Accounting
! ! ! ! ollect usage statistics "onitor performance 0sed to anticipate future enhancements 0sed for billing purposes

Operating System
2esponsible for managing resources 3unctions same way as ordinary computer software
! *t is program that is executed

Operating system relin.uishes control of the processor

6ernel
%ortion of operating system that is in main memory ontains most fre.uently used functions Also called the nucleus

15

$volution of an Operating System


7ardware upgrades plus new types of hardware 8ew services 3ixes

11

$volution of Operating Systems


Serial %rocessing
! 8o operating system ! "achines run from a console with display lights& toggle switches& input device& and printer ! Schedule time ! Setup included loading the compiler& source program& saving compiled program& and loading and lin#ing
12

$volution of Operating Systems


Simple 9atch Systems
! "onitors
Software that controls the se.uence of events 9atch jobs together %rogram branches bac# to monitor when finished

13

:ob ontrol (anguage ;: (<


Special type of programming language %rovides instruction to the monitor
! =hat compiler to use ! =hat data to use

1'

7ardware 3eatures
"emory protection
! -o not allow the memory area containing the monitor to be altered

>imer
! %revents a job from monopoli?ing the system

1)

7ardware 3eatures
%rivileged instructions
! ertain machine level instructions can only be executed by the monitor

*nterrupts
! $arly computer models did not have this capability

1,

"emory %rotection
0ser program executes in user mode
! ertain instructions may not be executed

"onitor executes in system mode


! 6ernel mode ! %rivileged instructions are executed ! %rotected areas of memory may be accessed

1/

*+O -evices Slow

11

0niprogramming
%rocessor must wait for *+O instruction to complete before preceding

14

"ultiprogramming
=hen one job needs to wait for *+O& the processor can switch to the other job

25

"ultiprogramming

21

0tili?ation 7istograms

22

$xample

23

>ime Sharing
0sing multiprogramming to handle multiple interactive jobs %rocessor@s time is shared among multiple users "ultiple users simultaneously access the system through terminals

2'

ompatible >imeASharing System ; >SS<


3irst timeAsharing system developed at "*>

2)

"ajor Achievements
%rocesses "emory "anagement *nformation protection and security Scheduling and resource management System structure

2,

%rocesses
A program in execution An instance of a program running on a computer >he entity that can be assigned to and executed on a processor A unit of activity characteri?ed by a single se.uential thread of execution& a current state& and an associated set of system resources
2/

-ifficulties with -esigning System Software


*mproper synchroni?ation
! $nsure a process waiting for an *+O device receives the signal

3ailed mutual exclusion 8ondeterminate program operation


! %rogram should only depend on input to it& not on the activities of other programs

-eadloc#s
21

%rocess
onsists of three components
! An executable program ! Associated data needed by the program ! $xecution context of the program
All information the operating system needs to manage the process

24

%rocess

35

"emory "anagement
%rocess isolation Automatic allocation and management Support of modular programming %rotection and access control (ongAterm storage

31

Birtual "emory
Allows programmers to address memory from a logical point of view 8o hiatus between the execution of successive processes while one process was written out to secondary store and the successor proceess was read in

32

Birtual "emory and 3ile System


*mplements longAterm store *nformation stored in named objects called files

33

%aging
Allows process to be comprised of a number of fixedAsi?e bloc#s& called pages Birtual address is a page number and an offset within the page $ach page may be located any where in main memory 2eal address or physical address in main memory
3'

Birtual "emory

3)

Birtual "emory Addressing

3,

*nformation %rotection and Security


Availability
! oncerned with protecting the system against interruption

onfidentiality
! Assuring that users cannot read data for which access is unauthori?ed

3/

*nformation %rotection and Security


-ata integrity
! %rotection of data from unauthori?ed modification

Authenticity
! oncerned with the proper verification of the identity of users and the validity of messages or data

31

Scheduling and 2esource "anagement


3airness
! Cive e.ual and fair access to resources

-ifferential responsiveness
! -iscriminate among different classes of jobs

$fficiency
! "aximi?e throughput& minimi?e response time& and accommodate as many uses as possible
34

6ey $lements of Operating System

'5

System Structure
Biew the system as a series of levels $ach level performs a related subset of functions $ach level relies on the next lower level to perform more primitive functions >his decomposes a problem into a number of more manageable subproblems
'1

%rocess 7ardware (evels


(evel 1
! $lectronic circuits ! Objects are registers& memory cells& and logic gates ! Operations are clearing a register or reading a memory location

(evel 2
! %rocessor@s instruction set ! Operations such as add& subtract& load& and store
'2

%rocess 7ardware (evels


(evel 3
! Adds the concept of a procedure or subroutine& plus call+return operations

(evel '
! *nterrupts

'3

oncepts with "ultiprogramming


(evel )
! %rocess as a program in execution ! Suspend and resume processes

(evel ,
! Secondary storage devices ! >ransfer of bloc#s of data

(evel /
! reates logical address space for processes ! Organi?es virtual address space into bloc#s
''

-eal with $xternal Objects


(evel 1
! ommunication of information and messages between processes

(evel 4
! Supports longAterm storage of named files

(evel 15
! %rovides access to external devices using standardi?ed interfaces
')

-eal with $xternal Objects


(evel 11
! 2esponsible for maintaining the association between the external and internal identifiers

(evel 12
! %rovides fullAfeatured facility for the support of processes

(evel 13
! %rovides an interface to the operating system for the user
',

"odern Operating Systems


"icro#ernel architecture
! Assigns only a few essential functions to the #ernel
Address spaces *nterprocess communication ;*% < 9asic scheduling

'/

"odern Operating Systems


"ultithreading
! %rocess is divided into threads that can run concurrently
>hread
! -ispatchable unit of wor# ! executes se.uentially and is interruptable

%rocess is a collection of one or more threads

'1

"odern Operating Systems


Symmetric multiprocessing ;S"%<
! >here are multiple processors ! >hese processors share same main memory and *+O facilities ! All processors can perform the same functions

'4

"ultiprogramming and "ultiprocessing

)5

"odern Operating Systems


-istributed operating systems
! %rovides the illusion of a single main memory space and single secondary memory space

)1

"odern Operating Systems


ObjectAoriented design
! 0sed for adding modular extensions to a small #ernel ! $nables programmers to customi?e an operating system without disrupting system integrity

)2

=indows Architecture
"odular structure for flexibility $xecutes on a variety of hardware platforms Supports application written for other operating system

)3

)'

Operating System Organi?ation


"odified micro#ernel architecture
! 8ot a pure micro#ernel ! "any system functions outside of the micro#ernel run in #ernel mode

Any module can be removed& upgraded& or replaced without rewriting the entire system

))

6ernelA"ode omponents
$xecutive
! ontains base operating system services
"emory management %rocess and thread management Security *+O *nterprocess communication

6ernel
! onsists of the most used components
),

6ernelA"ode omponents
7ardware abstraction layer ;7A(<
! *solates the operating system from platformAspecific hardware differences

-evice drivers
! >ranslate user *+O function calls into specific hardware device *+O re.uests

=indowing and graphics systems


! *mplements the graphical user interface ;C0*<
)/

=indows $xecutive
*+O manager ache manager Object manager %lug and play manager %ower manager Security reference monitor Birtual memory manager %rocess+thread manager onfiguration manager (ocal procedure call ;(% < facility
)1

0serA"ode %rocesses
Special system support processes
! $xD logon process and the session manager

Service processes $nvironment subsystems 0ser applications

)4

lient+Server "odel
Simplifies the $xecutive
! %ossible to construct a variety of A%*s

*mproves reliability
! $ach service runs on a separate process with its own partition of memory ! lients cannot not directly access hardware

%rovides a uniform means for applications to communicate via (% %rovides base for distributed computing
,5

>hreads and S"%


Operating system routines can run on any available processor -ifferent routines can execute simultaneously on different processors "ultiple threads of execution within a single process may execute on different processors simultaneously Server processes may use multiple threads Share data and resources between process
,1

=indows Objects
$ncapsulation
! Object consists of one or more data items and one or more procedures

Object class or instance


! reate specified instances of an object

*nheritance
! Support to some extent in the $xecutive

%olymorphism
,2

08*E
7ardware is surrounded by the operating system software Operating system is called the system #ernel omes with a number of user services and interfaces
! Shell ! omponents of the compiler
,3

08*E

,'

08*E 6ernel

,)

"odern 08*E 6ernel

,,

"odern 08*E Systems


System B 2elease ' ;SB2'< Solaris 4 'F'9S(inux

,/

You might also like