Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.
-
Upload
thomas-casey -
Category
Documents
-
view
221 -
download
3
Transcript of Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.
Introduction to Operating Systems
1 A.Bouyer
1.2. History of Operating Systems
A.Bouyer2
A.Bouyer3
First generation(1945–1955): direct input Around the mid-1940s, Howard Aiken at Harvard University, John von
Neumann at Princeton, J. Presper Eckert and John Mauchley at the University of Pennsylvania, et al:• Vacuum tubes• Plug boards
Programming languages were unknown (even assembly language was unknown).
Operating systems were unheard of. Run one job at a time
Enter it into the computer (might require rewiring!)Run itRecord the results
Problem: lots of wasted computer time!Computer was idle during first and last stepsComputers were very expensive!
Goal: make better use of an expensive commodity: computer time
A.Bouyer 4
Second generation
To run a job (i.e., a program or set of programs)First write the program on paper (in FORTRAN or even in
assembly) Then punch it on cardsBring cards to 1401Read cards onto input tapePut input tape on 7094Telling the operating system to run the program
Perform the computation, writing results to output tapePut output tape on 1401, which prints output
•1955 – 1965• Transistors• Batch systems
A.Bouyer5
$END
$RUN
$LOAD
Structure of a typical 2nd generation job
$FORTRAN
$JOB, 10,6610802, ETHAN MILLER
FORTRANprogram
Data forprogram
A.Bouyer6
Operatingsystem
Third generation
Multiple jobs in memoryProtected from one
anotherOperating system
protected from each job as well
Resources (time, hardware) split between jobs
Still not interactiveUser submits jobComputer runs itUser gets results minutes
(hours, days) later
Job 1
Job 2
Job 3
Memorypartitions
• 1965 – 1980• Integrated circuits• Multiprogramming
A.Bouyer7
SpoolingOriginal batch systems used tape drivesLater batch systems used disks for buffering
Operator read cards onto disk attached to the computer
Computer read jobs from diskComputer wrote job results to diskOperator directed that job results be printed from
diskDisks enabled simultaneous peripheral operation
on-line (spooling)Computer overlapped I/O of one job with execution of
anotherBetter utilization of the expensive CPUStill only one job active at any given time
A.Bouyer8
TimesharingMultiprogramming allowed several jobs to be active at one
time Multiprogramming were still basically batch systems
the time between submitting a job and getting back the output was often hours.
for example, a single misplaced comma could cause a compilation to fail, and the programmer to waste half a day.
a variant of multiprogramming is Timesharing system : for quick response timeCPU is switched among users’ programs (for interactive use)Switching is done among active programsCTSS (Compatible Time Sharing System):developed at MITMULTICS (developed by MIT, Bell Labs, and General Electric )
Fourth generation: 1980 – present
LSI (Large-scale Integration) circuitsmicroprocessor-based personal computerCP/M operating system (for 8-bit microprocessor)MS-DOS (for 16-bit microprocessor)32-bit systems: Mac OS X , Microsoft Windows, Unix and
Linux
Next generation: ???Systems connected by high-speed networks ?Wide area resource management ?
A.Bouyer9
A.Bouyer10
Types of modern operating systems
Mainframe operating systems: MVSServer operating systems: FreeBSD, SolarisMultiprocessor operating systems: Cellular
IRIXPersonal computer operating systems:
Windows, UnixReal-time operating systemsEmbedded operating systemsSmart card operating systemsSome operating systems can fit into more
than one category
Real-time operating systems:
VxWorks : Developed by Wind River Systems of Alameda , California , USA in 1987
Binary, counting, and mutual exclusion semaphores with priority inheritance
Error handling framework Fast, flexible inter-process communication including TIPC IPv6 networking stack Local and distributed message queues Memory protection to isolate user applications from the kernel Multitasking kernel with preemptive and round-robin scheduling and fast
interrupt responseSMX: real-time multitasking operating system specifically designed for embedded systems. SMX is a modular RTOS
that meets the needs of small to medium-size embedded systems. It supports ARM, Cortex, ColdFire, PowerPC, x86, and is portable to
other processor families.
A.Bouyer11
Real-time operating systems:
A real-time operating system (RTOS) is a multitasking operating system intended for applications with fixed deadlines (real-time computing).
VxWorks : Developed by Wind River Systems of Alameda , California , USA in 1987
Binary, counting, and mutual exclusion semaphores with priority inheritance
Error handling framework Fast, flexible inter-process communication including TIPC Local and distributed message queues Memory protection to isolate user applications from the kernel Multitasking kernel with preemptive and round-robin
scheduling and fast interrupt response
A.Bouyer12
Real-time operating systems:
SMX: real-time multitasking operating system Specifically designed for embedded systemsSMX is a modular RTOS that meets the needs
of small to medium-size embedded systems. It supports ARM, Cortex, ColdFire, PowerPC,
x86, and is portable to other processor families.PORTOS: New Kind of RTOS Portos is a very small, fast and easy RTOSIt does not use tasks: the priority levels are
directly assigned to functionsThe scheduler is very small and fast;
A.Bouyer13
??A.Bouyer14