Operating System History --- and maybe some future ?

30
Operating System History --- and maybe some future ?

Transcript of Operating System History --- and maybe some future ?

Operating System History ---and maybe some future ?

In the beginning there were vacuum tubes …

Early Processors ~ 1950• Three types of command

– Arithmetic (add, subtract, and, or)– Load/store– Transfer of control

• “Your” machine• No protection• You are operating system• Memory faster the CPU

Bare Iron Era – early 1950s

• Software• One program – one machine• Billing by hours of computer use• Innovations

– Bigger, faster memory – 8k words– “Fast” input devices – paper tape, punch cards

Simple Batch – late 50s …

• Memory now slower than CPU• Sequence program (jobs) – save

overhead• Monitor processing to bill by

program• Device drivers to off-load I/O• Interrupts

Memory Layout for a Simple Batch

Efficiency of Early Batch

• Read record from file (.0015 seconds)• Execute 100 instructions (.0001 seconds)• Write record to file (.0015 seconds)• Total (.0031 seconds) 3.2 %

Batch Multiprogramming --- early 60s

• Several jobs in memory at once• One job at a time “using” CPU• One program executes – others wait • Hardware includes supervisor mode• “Hybrid” OS (software and human) provides

– Protection– Scheduling– Accounting– Resource allocation (files, software, … )

Multiprogrammed Batch Several jobs are kept in main memory at the same time, and the CPU switched among them based on ?

“Mainframe” Computing -- 1970s

• Bigger (64k ??), faster memory• Much faster CPU• Memory hierarchies• Time sharing• All software OS provides

– Interactive environment– File systems– Illusion of single-user machine

Virtual Memory --- early to mid 1970s

• Added during “mainframe era”• Subset of program in main memory during

execution• OS (with hardware support) maintains

“necessary” part of program in memory during execution

Trends – Each Generation:

• Reduces cost by 10x or more• Improves performance by 10x or more• Improves capacity by 10x or more• Improves “ease of computing” • Increase customer base by 100x or more• Increase “sharing” --- need for resource

management and protection

Operating System Terms

• Resource allocator – manages and allocates resources.

• Control program – controls the execution of user programs and operations of I/O devices .

• Kernel – the one program running at all times (all else being application programs).

Parallel Systems

• Multiprocessor systems with parallel CPUs in “close” communication.

• Advantages of parallel system: – Increased throughput– Economical – Increased reliability

• graceful degradation• fail-soft systems

A “Thought”“The key to the brain’s ability to make such good use of nighttime downtime is something it shares with your computer: the capacity to run multiple programs at once – to go on wrestling with a problem even when you’re turned your conscious attention elsewhere. … Conscious awareness is able to focus on only one thing at a time.”Kluger, Jeffrey “Shhh! Genius at Work”, Time, April 23, 2012, p. 46

Parallel Systems (Cont.)• Terms overlap, BUT• Ways to categorize parallelism

– Symmetric vs. Asymmetric– Flynn categorization– Granularity of parallelism– Distributed vs. Clustered

Parallel Systems (Cont.)• Symmetric multiprocessing (SMP)

– Each processor runs identical copy of operating system.

– Many processes can run at once without performance deterioration.

• Asymmetric multiprocessing– Each processor assigned a specific task;

master processor schedules and allocates work to slave processors.

– More common in extremely large systems

Symmetric Multiprocessing Architecture

Flynn’s Classification• Each of instructions and data can be

parallel --- or not• 4 categories

– SISD– SIMD– MIMD– MISD ???

Granularity of Parallelism

• Instruction-level• Data-level• Loop-level• Thread-level• Task-level

Distributed Systems• Loosely coupled system – processors

communicate through “available” communications lines

• Advantages of distributed systems– Resources Sharing – Unlimited Resources ?– Reliability– Communications cheap

• Disadvantages ?

Real-Time Systems• Control, Sensors, Image Processing• Well-defined fixed-time constraints.• Real-Time systems may be either hard

or soft real-time.

Handheld Systems

• Personal Digital Assistants (PDAs)• Cellular telephones• Mobile devices• Issues:

– Limited memory– Slow (?) processors– Small display screens– Power constraints

Operating System Types (current)

• Mainframe Systems• Desktop Systems• Multiprocessor Systems• Distributed Systems • Clustered Systems• Real -Time Systems• Handheld Systems

Operating Systems Types (future)

• Heterogeneous multiprocessor systems on a chip

• Multi-core• Many-core• SIMD/GPU• ?

A Final Thought

“For x86 computers, we expect to see two additional cores per chip every two years and the SIMD width to double every four years. Given these assumptions, over the next decade the potential speedup from SIMD parallelism is twice that of MIMDparallelism.”

Hennessy, J.l. and Patterson, D.A., Computer Architecture – A Quantitative Approach, 5th edition, 2012 p. 263.

OS Airlines – MAC

• All stewards, stewardesses, captains, baggage handlers, ticket agents, look the same, talk the same, act the same

• Anytime you ask about details you’re told you don’t need to know, don’t want to know, and everything will be done for you without your having to ask. So shut up and sit down.

OS Airlines – Windows 3.1

• The airport terminal is nice and colorful with helpful stewards and stewardesses

• Easy access to plane and uneventful takeoff … then

• The plane blows up without any warning whatsoever

OS Airlines – Windows xx

• Planes are remarkably similar to ones used by Windows 3.1 OS

• Environment is even nicer, but the plane takes 5 times as long to get started – or to stop

• Plane flies well enough, smooth and quite fast

• Then the plane blows up for no explainable reason

OS Airlines -- UNIX

• Each passenger brings one part of the plane to the airport

• Passengers go to the runway and put the plane together piece by piece, constantly arguing over what type of plane they’re building