Top Banner
Introduction to Operating Systems 1 A.Bouyer
14

Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.

Mar 26, 2015

Download

Documents

Thomas Casey
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.

Introduction to Operating Systems

1 A.Bouyer

Page 2: Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.

1.2. History of Operating Systems

A.Bouyer2

Page 3: Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.

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

Page 4: Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.

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

Page 5: Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.

A.Bouyer5

$END

$RUN

$LOAD

Structure of a typical 2nd generation job

$FORTRAN

$JOB, 10,6610802, ETHAN MILLER

FORTRANprogram

Data forprogram

Page 6: Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.

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

Page 7: Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.

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

Page 8: Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.

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 )

Page 9: Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.

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

Page 10: Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.

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

Page 11: Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.

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

Page 12: Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.

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

Page 13: Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.

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

Page 14: Introduction to Operating Systems 1 A.Bouyer. 1.2. History of Operating Systems A.Bouyer 2.

??A.Bouyer14