Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Operating Systems

Similar presentations


Presentation on theme: "Introduction to Operating Systems"— Presentation transcript:

1 Introduction to Operating Systems
A.Bouyer

2 1.2. History of Operating Systems
A.Bouyer

3 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 it Record the results Problem: lots of wasted computer time! Computer was idle during first and last steps Computers were very expensive! Goal: make better use of an expensive commodity: computer time A.Bouyer

4 Second generation 1955 – 1965 Transistors Batch systems 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 cards Bring cards to 1401 Read cards onto input tape Put input tape on 7094 Telling the operating system to run the program Perform the computation, writing results to output tape Put output tape on 1401, which prints output A.Bouyer

5 Structure of a typical 2nd generation job
Data for program $END FORTRAN program $RUN $LOAD $FORTRAN $JOB, 10, , ETHAN MILLER A.Bouyer

6 Third generation 1965 – 1980 Multiple jobs in memory
Integrated circuits Multiprogramming Multiple jobs in memory Protected from one another Operating system protected from each job as well Resources (time, hardware) split between jobs Still not interactive User submits job Computer runs it User gets results minutes (hours, days) later Job 3 Job 2 Memory partitions Job 1 Operating system A.Bouyer

7 Spooling Original batch systems used tape drives
Later batch systems used disks for buffering Operator read cards onto disk attached to the computer Computer read jobs from disk Computer wrote job results to disk Operator directed that job results be printed from disk Disks enabled simultaneous peripheral operation on-line (spooling) Computer overlapped I/O of one job with execution of another Better utilization of the expensive CPU Still only one job active at any given time A.Bouyer

8 Timesharing Multiprogramming 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 time CPU is switched among users’ programs (for interactive use) Switching is done among active programs CTSS (Compatible Time Sharing System):developed at MIT MULTICS (developed by MIT, Bell Labs, and General Electric ) A.Bouyer

9 Fourth generation: 1980 – present
LSI (Large-scale Integration) circuits microprocessor-based personal computer CP/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.Bouyer

10 Types of modern operating systems
Mainframe operating systems: MVS Server operating systems: FreeBSD, Solaris Multiprocessor operating systems: Cellular IRIX Personal computer operating systems: Windows, Unix Real-time operating systems Embedded operating systems Smart card operating systems Some operating systems can fit into more than one category Got here on the first day of class. A.Bouyer

11 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 response SMX: 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.Bouyer

12 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.Bouyer

13 Real-time operating systems:
SMX: 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. PORTOS: New Kind of RTOS Portos is a very small, fast and easy RTOS It does not use tasks: the priority levels are directly assigned to functions The scheduler is very small and fast; A.Bouyer

14 ? A.Bouyer


Download ppt "Introduction to Operating Systems"

Similar presentations


Ads by Google