Hardware Leads the OS The Evolution of Operating Systems
No Operating Systems Because of the better performance of Monitors modern computers, the OS can provide more services. Simple Batch Systems Older computers didnt have the speed or Multiprogrammed Batch Systems storage to run the OS of today. Time Sharing Systems
1 2
No Operating Systems Monitors
The monitor was a program that loaded Each program directly interfaced with the application programs into RAM. hardware. The monitor, or a small portion of it, One person used the computer at a time. remained in RAM while the application Job Scheduling was done with a clipboard program ran. Libraries of commonly used procedures The monitor contained device drivers to were the first start of operating systems. simplify access to peripherals. When the program terminated, it would jump back to the monitor. 3 4
The monitor loads a job into the Simple Batch Systems
User Program Area The user submit a job (written on punched A monitor instruction branches cards) to the computer. to the start of the user program The operating system would copy the input When the user program is data to a disk. finished, the CPU fetches When a job completed, the OS would select instructions from the Monitor one of the jobs from the disk and run it. Printed output from the job was written to the disk. When the program terminated, the output file was copied to the printer. 5 6
COMP755 Advanced Operating Systems 1
History of OS
Job Control Language (JCL) JCL Example
JCL was used to specify commands to the operating system. //KENJOB RUN ACCOUNT=COMP450 The first characters of the input card // DD DDNAME=* identified it as JCL or data. data cards The JCL specified what program was to be // EXEC DDNAME=WILLIAMS.PROG run or what data file was to be used. //
7 8
Single Program Execution Multiprogramming
Processor must wait for I/O instruction to complete before preceding
9 10
Desirable Hardware Features
Multiprogrammed Batch Systems Memory protection do not allow the memory area containing the Several programs had to be kept in RAM at monitor to be altered the same time, each protected from the other. Timer The OS had to be able to switch from one prevents a job from monopolizing the system user environment to another. an interrupt occurs when time expires Relied on hardware that supports I/O Privileged instructions interrupts and DMA executed only by the monitor Interrupts provides flexibility for controlling user 11 programs 12
COMP755 Advanced Operating Systems 2
History of OS
Compare Batch Multiprogramming &
Time Sharing Systems Time Sharing Using multiprogramming to handle multiple Batch Time Sharing Multiprogramming interactive jobs Processors time is shared among multiple Objective Maximize Minimize users processor use response time Multiple users simultaneously access the system through terminals Source of Job Control Commands instructions Language entered at the A new control language was required for to OS instructions terminals interactive work. provided with Job 13 14
Memory Organization Virtual Memory
Early computers did not have cache or The IBM/370 introduced virtual memory. Virtual Memory. Cache has little impact on The Intel 386 provided virtual memory the OS. support. Some early machines had two types of The operating system has to move pages RAM. The OS moved jobs between the fast between RAM and disk. and slow RAM. The OS has to maintain the page tables and addressing environment.
15 16
History of Microsoft Windows
History of Unix Originally developed for a PDP-7 in 1970 by Brian Kernighan and Dennis Richie. Written in C in 1973 OS with source code was available free. Many variants available Andrew Tanenbaum created Minix Linus Torvalds extended Minix to Linux