Top Banner
Operating System History --- and maybe some future ?
30
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: Operating System History --- and maybe some future ?

Operating System History ---and maybe some future ?

Page 2: Operating System History --- and maybe some future ?

In the beginning there were vacuum tubes …

Page 3: Operating System History --- and maybe some future ?

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

Page 4: Operating System History --- and maybe some future ?

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

Page 5: Operating System History --- and maybe some future ?

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

Page 6: Operating System History --- and maybe some future ?

Memory Layout for a Simple Batch

Page 7: Operating System History --- and maybe some future ?

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 %

Page 8: Operating System History --- and maybe some future ?

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, … )

Page 9: Operating System History --- and maybe some future ?

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

Page 10: Operating System History --- and maybe some future ?

“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

Page 11: Operating System History --- and maybe some future ?

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

Page 12: Operating System History --- and maybe some future ?

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

Page 13: Operating System History --- and maybe some future ?

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).

Page 14: Operating System History --- and maybe some future ?

Parallel Systems

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

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

• graceful degradation• fail-soft systems

Page 15: Operating System History --- and maybe some future ?

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

Page 16: Operating System History --- and maybe some future ?

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

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

Page 17: Operating System History --- and maybe some future ?

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

Page 18: Operating System History --- and maybe some future ?

Symmetric Multiprocessing Architecture

Page 19: Operating System History --- and maybe some future ?

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

parallel --- or not• 4 categories

– SISD– SIMD– MIMD– MISD ???

Page 20: Operating System History --- and maybe some future ?

Granularity of Parallelism

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

Page 21: Operating System History --- and maybe some future ?

Distributed Systems• Loosely coupled system – processors

communicate through “available” communications lines

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

• Disadvantages ?

Page 22: Operating System History --- and maybe some future ?

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

or soft real-time.

Page 23: Operating System History --- and maybe some future ?

Handheld Systems

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

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

Page 24: Operating System History --- and maybe some future ?

Operating System Types (current)

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

Page 25: Operating System History --- and maybe some future ?

Operating Systems Types (future)

• Heterogeneous multiprocessor systems on a chip

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

Page 26: Operating System History --- and maybe some future ?

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.

Page 27: Operating System History --- and maybe some future ?

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.

Page 28: Operating System History --- and maybe some future ?

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

Page 29: Operating System History --- and maybe some future ?

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

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

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