* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download evolution of operating systems
Security-focused operating system wikipedia , lookup
Windows Phone 8.1 wikipedia , lookup
Berkeley Software Distribution wikipedia , lookup
Mobile operating system wikipedia , lookup
Process management (computing) wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Copland (operating system) wikipedia , lookup
Burroughs MCP wikipedia , lookup
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 SETI@home project ¾ A "quasi-supercomputing" platform