Download evolution of operating systems

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts

Security-focused operating system wikipedia, lookup

Windows Phone 8.1 wikipedia, lookup

Berkeley Software Distribution wikipedia, lookup

Unix wikipedia, lookup

RSTS/E wikipedia, lookup

MS-DOS wikipedia, lookup

Mobile operating system wikipedia, lookup

Process management (computing) wikipedia, lookup

OS-tan wikipedia, lookup

Plan 9 from Bell Labs wikipedia, lookup

DNIX wikipedia, lookup

Copland (operating system) wikipedia, lookup

Burroughs MCP wikipedia, lookup

Batch file wikipedia, lookup

Spring (operating system) wikipedia, lookup

System 7 wikipedia, lookup

OS/2 wikipedia, lookup

VS/9 wikipedia, lookup

CP/M wikipedia, lookup

Unix security wikipedia, lookup

Transcript
What is an operating system
EVOLUTION OF
OPERATING SYSTEMS
¾ Software layer for managing and concealing
hardware details
¾ Provides an independent virtual machine for
applications
¾ Manages system resources and distributes them
between programs and users
TOMER HOLTZMAN
ORLY GREENBERG
Open shop
1950’s
in the beginning
¾ No operating systems
¾ Manual operation of computers
¾ Long setup - little computing
¾ Jobs entered via punch cards
1950’s
¾ Machines scheduled workload by software
¾ Jobs were spooled and processed sequentially
in FIFO order
IBM
IBM 701
701 (1956)
(1956)
Batch processing
LATE
Batch processing
IBM
IBM SHARE
SHARE 709
709 (1960)
(1960)
EARLY
1960’s
¾ Slow card readers and line printers bottlenecked
the process
¾ Resolved by:
¾ Fast tape stations
¾ Small satellite computers
to write the tapes
Multiprogramming
1960’s
¾ Run multiple jobs – switch on I/O requests
¾ IBM OS/360 – Fredrick P. Brooks
¾ Seriously overdue
¾ Ridiculous number of programmers (1,000+)
“The bearing of a child
takes nine months, no matter
how many women are assigned”
IBM 1401
1401 (1962)
(1962)
IBM
1
SYSTEM/360
SYSTEM/360 OPERATOR
OPERATOR CONSOLE
CONSOLE
FREDRICK P.
P. BROOKS
BROOKS
FREDRICK
ATLAS SUPERVISOR
1961
¾ First ‘modern’ operating system
¾ Introduced demand paging (page faults)
¾ Introduced supervisor call (system calls)
¾ Very complicated system to maintain
B5000
MASTER CONTROL PROGRAM
1961
¾ Introduced virtual memory
¾ 10 simultaneous processes
¾ Crashed once a day
¾ First attempt at high-level language system
¾ Built by the Burroughs Corporation
which had ‘some’ experience
?
EARLIER MODELS
MODELS
EARLIER
EXEC II
1966
¾ Built for the UNIVAC1107
¾ Primitive scheduling – choose shortest from
available jobs and do it
¾ Introduced support for remote job entry
via modem / phone
Time sharing
LATE
1960’s
¾ Gives an illusion of full resource usage to all
users
¾ True task switching (scheduling)
¾ Every job is given a small amount of
time to process before switching
to another
UNIVAC 1107
1107
UNIVAC
CTSS
COMPATIBLE TIME SHARING SYSTEM
1962
¾ Designed for IBM 7090
¾ Credited as the first scale time-sharing system
¾ Was not a breakthrough OS but showed time
sharing was a viable effort
IBM 7090
7090
IBM
2
ITS
INCOMPATIBLE TIMESHARING SYSTEM
1964
¾ Designed for PDP-6
¾ Had device-independent graphics terminal
output
¾ Very early networked file system
MULTICS
1967
¾ Developed in MIT in cooperation with Bell Labs
(who left the project later)
¾ Never widely used outside MIT
¾ Classic case of ‘second-system effect’
TITAN
ATLAS II
1972
¾ Developed by University of Cambridge
¾ 26 simultaneous terminals
¾ First to scramble passwords to prevent misuse
¾ Introduced file permissions (access levels)
MULTICS
1965
¾Introduced the Hierarchical File System
¾Any length / name files
¾Symbolic links between directories
¾Introduced dynamic linking
Process could request memory pages to
be dynamically loaded and then execute
the code in them
¾Built as a secure system from the ground
up
UNIX
1974
¾ Only system successfully implemented in every
kind of computer
¾ Envisioned as a simple environment for
programming and research
¾ Envisioned as an ‘All things for
everybody’ system that would
appeal to more users
UNICS
A SINGLE MULTIC
1974
¾ Created by Bell Labs engineers that left the
MULTICS project
¾ Assembly made it machine dependant
Resolution:
Dennis Ritchie invented the C language and the UNIX
kernel was rewritten
¾ Very wide distribution in
universities
3
UNIX
ACHIEVEMENTS AND DOWNFALLS
1974
¾ The first operating system implemented for
microcomputers (PDP11)
¾ By the mid-1980s Unix had become the leading
standard for timesharing systems
Concurrent programming
1970’s
¾ The simultaneous execution of interacting
computational tasks
¾ Focuses on the interactions between tasks
1 bool withdraw(int withdrawal) {
2
if( balance > withdrawal ) {
3
balance = balance - withdrawal;
4
return true;
5
}
6
return false;
7 }
THE
TECHNISCHE HOGESCHOOL EINDHOVEN
1968
¾ Motivated by errors in previous systems
Notably – annoying deadlocks in Exec II
¾ Semaphores used to synchronize processes
and communications
¾ Hierarchical system design
¾ Mathematically proven to be deadlock
free before implementation
EDGAR W.
W. DIJKSTRA
DIJKSTRA
EDGAR
RC4000
1969
¾ A small kernel for building operating systems on
¾ Defined a message protocol for process
synchronization
¾ Treated peripheral devices as separate
processes
¾ Introduced remote procedure calls
SOLO
1976
¾ Designed as a single user OS
¾ Written in concurrent Pascal
¾ Written without machine
dependant features
¾ Programmers were unaware
of physical processors / interrupts
¾ First ‘open source’ system
HAN SOLO
SOLO
HAN
4
BOSS 2
1975
¾ Built over RC4000
¾ Allowed processes to spawn other processes
¾ Ran by ‘co-routines’ that communicated via
messages
¾ It was mathematically proved that every job will
eventually get processed by the system
Personal computing
LATE
1970’s
¾ Reduced hardware costs led to ‘powerful’
personal computers
¾ Xerox PARC in the lead provided the world with:
¾ Bitmapped Displays
¾ The Mouse (THE MOUSE!!)
¾ Laser Printers
¾ Ethernet
OS 6
1972
¾ An experimental single user system
¾ Designed for Modular One
¾ Ran one program at a time
¾ System and user programs written in BCPL
(precursor of C)
PILOT
1980
¾ Written in Mesa
¾ Modular OS following the design of Solo
¾ Variable number of user processes
¾ Fixed number of system processes
¾ Stored redundant data for system recovery
¾ ‘Large’ code 24,000 lines
¾ Used with the Star user interface
XEROX Systems
ALTO
1973
¾ First personal computer from Xerox PARC
¾ Display was program dependant and not part of
the operating system
¾ Based on OS6
¾ Robust but flat
file system
¾ Sequential single
user system
STAR
DID SOMEOME SAY WINDOWS?
1982
¾ First commercial windows interface
¾ Envisioned as an electronic office
¾ Files and folders represented as icons in
windows
CP/M
1976
¾ Control Program/Monitor or Control Program for
Microcomputers
¾ Gary Kildall, Digital Research Inc.
¾ OS requirements: Intel 8080, 16K RAM, floppy
disk drive, ASCII computer terminal
¾ System components: CCP, BDOS, BIOS
GARY
GARY KILDALL
KILDALL
5
CP/M SCREEN
SCREEN SHOT
SHOT
CP/M
APPLE
1975
¾ Aimed the microcomputer for the household and
non-expert individuals
¾ A computer as a house appliance
¾ Apple II (1977)– providing BASIC saved
Microsoft from bankruptcy
The rise of Microsoft
THE IBM EFFECT
1980’s
¾ IBM was encouraged to venture in personal
computer sales
¾ IBM outsourced components they didn’t have
already to speed up the process
¾ Used Intel 16 bit 8088
¾ Microsoft supplied the operating system…
STEVE JOBS
JOBS &
&
STEVE
APPLE IIII
APPLE
STEVE WOZNIAK
WOZNIAK
STEVE
MS DOS
1981
A.K.A QDOS
¾ QDOS (Quick and Dirty Operating System) –
Developed by Tim Paterson, sold to Microsoft
for $15,000
¾ QDOS was based on CP/M with FAT file system
¾ Single user single tasking OS
BILL GATES
GATES
BILL
MACINTOSH
1984
¾ Successful use of GUI and mouse
¾ Invented the menu bar, pop-up menus and clickand-drag (and drop?)
¾ Flat file system
¾ 1986 – Multitasking (Switcher)
TIM PATERSON
PATERSON
TIM
SYSTEM SOFTWARE
MACINTOSH
SYSTEM SOFTWARE
1984
¾ Not widely used:
¾ Apple’s closed architecture meant no hardware
or software developers could create add-ons
¾ Lack of applications
LINUX
1994
¾ Why?
¾Unix was popular for servers and in
universities
¾Students wanted to run it at home
¾Unix was expensive
¾ Written by Linus Torvalds
¾ What?
¾Open source
LINUS TORVALDS
TORVALDS
LINUS
6
WINDOWS
THE BEGINNING
1985
¾ GUI for MS-DOS
¾ Limited Multitasking
¾ Windows 2.0
¾ Overlapping windows!
¾Minimize and Maximize
WINDOWS 95
1995
¾ Combined MS-DOS and Windows
¾ Protected mode
¾ 32-bit support
¾ Built in network support (TCP/IP)
¾ Plug and Play
¾ The start menu
WINDOWS 1.0
1.0
WINDOWS
WINDOWS NT
¾ Not MS-DOS based
¾ The full pre-emptive
multitasking kernel could
interrupt running tasks
to schedule other tasks
¾ Since windows XP the
DOS-Windows
hybrids were no more
¾ NTFS file system
1997
WINDOWS
INTERNET EXPLORER
1998
¾ Internet Explorer was bundled with Windows98
¾ Lawsuit background
¾ Is the browser a part of the OS or not?
MICROSFT
WINDOWS
SO WHAT’S THE BIG DEAL?
BUT SERIOUSLY
¾ Microsoft made the operating system an off the
shelf product
¾ Previously a detailed and involved process –
installation is now automatic and common
¾ Where before the OS came with the computer
you can now choose the version you want
¾ And yet still >>
7
Distributed operating systems 1980’s
¾ Arose from networking technology advances
¾ Used resources from many computers and gave
the illusion of one to multiple users
¾ Parts of a program run simultaneously on two or
more computers
WFS
1979
¾ Acted as a remote disk providing random access
to individual pages
¾ No inner directory structure – supplied by clients
¾ No file security
¾ Simple – implemented in under two months
UNIX UNITED
1982
¾ Developed by the university of NewCastle
¾ A software layer added to UNIX allowed five
PDP11 machines to operates with a single
‘distributed’ file system for 5 users
¾ Every machine was both a user machine and a
file server
¾ Developed into Sun’s NFS
Embedded
¾ Operating systems in every thing mobile
¾Windows CE / Mobile
¾Symbian
¾Palm OS
¾Linux – of course!
8
NFS
BY SUN MICROSYSTEMS
1984
¾ A protocol originally developed by Sun
Microsystems
¾ Allows a user on a client computer to access
files over a network as if the they were present
on his local disks
¾ The term "network file system“ is often used as a
generic term for remotely-accessed file systems
OS Feature progression
SO FAR
THE FUTURE
NEXT
¾ What is waiting around the corner?
¾ Virtual Machines
¾ Grid computing
Grid computing
2000’s
Bibliography
¾
¾
¾
¾
¾
¾
9
XEN HYPERVISOR
2000’s
¾ Presents the operating system with an idealized
hardware abstraction
¾ The OS is no longer glued to the hardware but
floats above it
¾ The era of a single
operating system
for each desktop
might be over
¾ A local computer cluster, or ‘grid’, composed of
multiple nodes
¾ Creation of a ‘virtual supercomputer’ with spare
computing resources within an organization
¾ Creation of a ‘virtual supercomputer’ from a
network of geographically dispersed computers.
¾ Volunteer computing is the most common
application of this technology
¾ Process Migration within clusters
¾
¾
¾
¾
¾
¾
¾
¾
¾
Virtual machines
http://www.cs.jhu.edu/~yairamir/cs418/os1/sld010.htm
http://brinch-hansen.net/papers/2001b.pdf
http://www.firingsquad.com/hardware/osevolution/
http://www.cs.biu.ac.il/~ariel/download/os381/os1-3_int.ppt
http://bpastudio.csudh.edu/fac/lpress/471/hout/misc/osgenerations.htm
http://engr.smu.edu/~mhd/7343f06/evolution.ppt
http://www.osdata.com/
http://www.armory.com/~spectre/tech.html
http://www.computinghistorymuseum.org/teaching/papers/research/history_of_operati
ng_system_Moumina.pdf
http://www.chilton-computing.org.uk/acl/technology/atlas/p002.htm
http://www.cs.virginia.edu/brochure/images/manuals/b5000/brochure/b5000_broch.ht
ml
http://www.bellevuelinux.org/ms-dos.html
http://liw.iki.fi/liw/texts/linux-the-big-picture.html
http://world.std.com/~swmcd/steven/rants/browser.html
http://en.wikipedia.org
BOINC
2000’s
¾ Berkeley Open Infrastructure for Network
Computing
¾ Developed to support the [email protected] project
¾ A "quasi-supercomputing"
platform