Download presentation
Presentation is loading. Please wait.
Published byUtami Darmali Modified over 5 years ago
1
What is an Operating System? A historical Perspective
CSCE 410/611 Operating Systems What is an Operating System? Utilities? APIs? Services? Brief historical journey Operational definition Historic Perspective
2
First-Generation Computers (1949-1956)
CSCE 410/611 Operating Systems First-Generation Computers ( ) Re-Wiring the ENIAC with a new program (U.S. Army) Historic Perspective
3
First-Generation Computers (1949-1956)
CSCE 410/611 Operating Systems First-Generation Computers ( ) EDVAC (Ballistic Research Laboratory) Historic Perspective
4
First-Generation Computers (1949-1956)
CSCE 410/611 Operating Systems First-Generation Computers ( ) “The IBM-701 meets a future President” (IBM) Historic Perspective
5
First-Generation Computers (1949-1956)
CSCE 410/611 Operating Systems First-Generation Computers ( ) Single user writes program, operates computer through console. Absolute machine language. I/O devices Development of libraries; device drivers Relocatable code memory space user program area libraries & dev.drivers rest of user program area Historic Perspective
6
Second-Generation Computers (1956-1963)
CSCE 410/611 Operating Systems Second-Generation Computers ( ) UNIVAC at the Census Bureau Historic Perspective
7
Second-Generation Computers (1956-1963)
CSCE 410/611 Operating Systems Second-Generation Computers ( ) Observation: Efficient operation of computing infrastructure is critical! Need to reduce setup time! Solution: Separate programming from operation Move programming off-line Automate Load/Translate/Load/Execute process Computer Operator Batch Operation Monitor Programs Historic Perspective
8
Second-Generation Computers (1956-1963)
CSCE 410/611 Operating Systems Second-Generation Computers ( ) Separate programming from operation: Automation: “Job Entry Control” $$ JOB JNM=JOB1,DISP=K,CLASS=2 $ FTN <Program> $ LOAD $ RUN $ DATA <Data> $$ EOJ $$ JOB JNM=JOB2,DISP=K,CLASS=2 <Next job> <...> Punch card (public domain) IBM 705 at Texas A&M University (Cushing Memorial Library and Archives) job sequencer and loader memory space control card interpreter libraries & dev.drivers Monitor user program area user program area rest of user program area device drivers Historic Perspective
9
Second-Generation Computers (1956-1963)
CSCE 410/611 Operating Systems Second-Generation Computers ( ) Separate programming from operation: Observations: Monitor loads and executes user programs. Monitor stays resident in memory. Misbehaving user program can affect execution of subsequent user programs. Punch card (public domain) Need to protect Monitor memory from user program! IBM 705 at Texas A&M University (Cushing Memorial Library and Archives) job sequencer and loader memory space control card interpreter Monitor libraries & dev.drivers user program area user program area rest of user program area device drivers Historic Perspective
10
Third-Generation Computers (1964-1973)
CSCE 410/611 Operating Systems Third-Generation Computers ( ) Ken Thompson (sitting) and Dennis Ritchie at the PDP-11 (Peter Hamer) Historic Perspective
11
Third-Generation Computers (1964-1973)
CSCE 410/611 Operating Systems Third-Generation Computers ( ) Observations: I/O devices are very slow. I/O operations are very expensive. Chronology of an I/O operation: Zzz.. CPU J2 J4 J3 J5 I/O I/O operation Multiprogramming: Use idle time created by self-suspension to execute other workloads. Historic Perspective
12
Third-Generation Computers (1964-1973)
CSCE 410/611 Operating Systems Third-Generation Computers ( ) Multiprogramming: CPU I/O I/O operation J2 J3 J4 J5 We need to ... ... have several programs ready to execute. ... keep several programs in memory. memory space Monitor user program area libraries & dev.drivers user program area Job1 rest of user program area Job2 Job3 Job4 Historic Perspective
13
Third-Generation Computers (1964-1973)
CSCE 410/611 Operating Systems Third-Generation Computers ( ) New issues with Multiprogramming: How to schedule the jobs? How to allocate memory to the jobs? How to protect jobs from each other? memory space Monitor user program area libraries & dev.drivers Job1 user program area rest of user program area Job2 Job3 Job4 Historic Perspective
14
CSCE 410/611 Operating Systems
Time Sharing (mid 1960s on) Fernando Corbato with MIT’s CTSS IBM (MIT Museum) CTSS = Compatible Time Sharing System Historic Perspective
15
CSCE 410/611 Operating Systems
Time Sharing (mid 1960s on) Remote interactive access to computer: “Computing as Utility” How? OS interleaves execution of multiple user programs with time quantum CTSS (1961): time quantum 0.2 sec New aspects and issues: User “owns” machine: we need a persistent storage service (file systems) Multiple users access machine: we need to protect resources (e.g., passwords!) More programs than memory can handle: virtual memory Users are impatient: we need sophisticated process scheduling Advent of systematic techniques for designing and analyzing OSs. Historic Perspective
16
CSCE 410/611 Operating Systems
Time Sharing (mid 1960s on) Computing as Utility: “If computers of the kind I have advocated become the computers of the future, then computing may someday be organized as a public utility just as the telephone system is a public utility... The computer utility could become the basis of a new and important industry.” — John McCarthy, speaking at the MIT Centennial in 1961 Historic Perspective
17
CSCE 410/611 Operating Systems
More recently... PCs, Pi, Arduino History repeats itself Parallel systems Resource management Fault tolerance Real-Time Systems Computing on a deadline Secure Systems Distributed Systems Communication Resource sharing Coherency Privacy? Virtualization an old idea Cloud computing Data Centers Historic Perspective
18
What is, then, an Operating System?
CSCE 410/611 Operating Systems What is, then, an Operating System? The OS controls and coordinates the use of system resources. Resource control and coordination has two goals: Primary goal: Provide a convenient environment for a user to access the available resources (CPU, memory, I/O) Provide appropriate abstractions (files, processes, ...) Secondary goal: Ensure efficient operation of the computer system. Historic Perspective
19
What is, then, an Operating System?
CSCE 410/611 Operating Systems What is, then, an Operating System? A convenient environment for a user to access ... Ensure efficient operation of ... Resource Management approaches Transforming: Create virtual substitutes that are easier to use. Multiplexing: Create the illusion of multiple resources from a single resource. Scheduling: “Who gets the resource when?” Historic Perspective
20
Summary: What is an Operating System?
CSCE 410/611 Operating Systems What is an Operating System? Brief historical journey The OS controls and coordinates system resources. Historic Perspective
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.