* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download What is an Operating System
Linux adoption wikipedia , lookup
Burroughs MCP wikipedia , lookup
Mobile operating system wikipedia , lookup
Distributed operating system wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Berkeley Software Distribution wikipedia , lookup
Security-focused operating system wikipedia , lookup
What is an Operating System? Class Discussion • Characteristics • Functions – Large, complex set of programs – Long-lived, evolutionary – Worked on by many people over many years – Creates abstractions – Multiplexes concurrent activities – Manages resources – Mediates access to hardware devices – Provides a variety of services to users and applications CS502 Spring 2006 Topic 1 – What is an OS? 1 What is an operating system? (cont’d) • Abstractions:– – Implements processes & threads – Implements virtual memory & manages memory – Provides interprocess communication (IPC) – Implements file system. Manages persistent storage of information • Definition — Same as judicial definition of pornography • “I cannot define it, but I sure can recognize one when I see it!” • Controls I/O • Implements networking & communications CS502 Spring 2006 Topic 1 – What is an OS? 2 What is an Operating System XYZ Office Prog. Tools Media Player Business Appl. Services UI/Shell Practical OS Kernel Traditional OS OS Hardware Interfaces – Registers, etc. CPU CS502 Spring 2006 I/O Controllers Topic 1 – What is an OS? 3 Major OS Issues • • • • • • • • • • • • • • structure: how is the OS organized? sharing: how are resources shared across users? naming: how are resources named (by users or programs)? security: how is the integrity of the OS and its resources ensured? protection: how is one user/program protected from another? performance: how do we make it all go fast? reliability: what happens if something goes wrong – hardware or software extensibility: can we add new features? communication: how do programs exchange information concurrency: how are parallel activities created and controlled? scale: what happens as demands or resources increase? persistence: how do you make data last longer than program executions? distribution: how do multiple computers interact with each other? accounting: how do we keep track of resource usage, and charge for it? CS502 Spring 2006 Topic 1 – What is an OS? 4 Operating Systems • Large, complex programs • Typically – – – – Long-lived Frequently extended and updated Worked on by a number of developers Used and, maybe abused by a variety of users with varying expertise and expectations • Essential to create an acceptable computing environment to create and execute other programs that achieve business or personal goals CS502 Spring 2006 Topic 1 – What is an OS? 5 Kinds of operating systems • • • • • • • • • Stand-alone machines – no OS Simple batch monitors Concurrent I/O and programs Time-sharing, multiple users, interactive Servers, non-stop systems, transaction processing PC’s, workstations Multiple processor systems Real-time systems Embedded systems CS502 Spring 2006 Topic 1 – What is an OS? 6 Kinds of operating systems (1) • Stand-alone machines – no OS • Simple batch monitors • Manually scheduled “jobs,” reset between jobs • Early business computers – E.g., IBM 1401/1460 • Early mini-computers – E.g., PDP1, PDP5, PDP8, etc. CS502 Spring 2006 Topic 1 – What is an OS? • Simple “monitor routine” switches between jobs • Input loaded onto tape off-line • Output to tape is punched and/or printed off-line • Typical university computing centers – IBM 7090, Univac, etc. 7 Kinds of operating systems (2) • Concurrent I/O and programs • SPOOL-ing (Simultaneous Peripheral Operation On Line) – Allows direct input & output • Multiple programs resident in memory at once – Keeps processor busy • On-line file storage • Some support for terminals, telecommunications • Early business computers – E.g., IBM 7070, IBM 360 & 370 • Scientific computing – E.g., Control Data 6600, IBM 360/91 CS502 Spring 2006 Topic 1 – What is an OS? 8 Kinds of operating systems (3) • Time-sharing, multiple users, interactive • • • • • Many concurrent users “logged on” Interactive editing and computing Self submission of batch jobs Protection among users, protection among jobs Fair allocation of resources • All university computing centers since about 1970 – E.g., MULTICS, IBM 360/67, DEC PDP-10, PDP-20 • Advanced minicomputers – DEC, Data General, Prime, etc. – Unix CS502 Spring 2006 Topic 1 – What is an OS? 9 Kinds of operating systems (4) • Servers, non-stop systems, transaction processing • Banking, airline reservation • Online databases • Many very short “transactions” • Tandem, Stratus, Sequoia • Unix, Linux, Solaris, HP-UX • Windows Server 2000, 2003 • Oracle, SAP (?) CS502 Spring 2006 Topic 1 – What is an OS? 10 Kinds of operating systems (5) • PC’s, workstations • • • • • • • CP/M, DOS, MS-DOS Apollo Domain Unix, Solaris, HP-UX Mac OS Windows 95, 98, Me Windows 2000, XP Linux CS502 Spring 2006 • Multiple processor systems Topic 1 – What is an OS? • Beowulf clusters • Unix, Solaris, HP-UX, Linux 11 Kinds of operating systems (6) • Real-time systems • Embedded systems • SAGE (North American air defense) • Process control (steel mills, refineries, etc.) • Large and small; computers you never heard of • VxWorks, etc. CS502 Spring 2006 Topic 1 – What is an OS? • • • • Auto ignition Cell phone, PDA Appliances … 12 OS History – Unix & Linux • Unix – Descendant of Multics – First “C” version in 1973 (DEC PDP-11) • Timesharing for < 10 users on 32K Memory • Many Unix versions at BTL – different goals • Source code made available to Universities – BSD – Posix (start 1981) defines standard Unix system calls – AT&T licensing! CS502 Spring 2006 Topic 1 – What is an OS? 13 OS History - Linux • Open Source – Linux.org • First Version 1991, Linus Torvalds, 80386 processor – v.01, limited devices, no networking, – with proper Unix process support! • 1994, v1.0 – networking (Internet) – enhanced file system – many devices, dynamic kernel modules CS502 Spring 2006 Topic 1 – What is an OS? 14 OS History - Linux • 1996, v2.0 – multiple architectures, multiple processors – threads, memory management …. • Gnome UI – introduced in 1999 • Recent – – – – V2.4 - 3 million lines of code 7-10 million users Growth by 25%/year through 2003 Growing use in business server market • Note - Development convention – Odd numbered minor versions “development” – Even numbered minor versions “stable” CS502 Spring 2006 Topic 1 – What is an OS? 15 OS History – Windows NT/2000/XP • Key designer – David Cutler also designed VAX/VMS • 1988, v1 - Win32 API – “microkernel” • 1990, v3.1- Server and Workstation versions • 1996, v4 – – – – Win95 interface Graphics to kernel More NT licenses sold than all Unix combined Microkernel de-emphasized CS502 Spring 2006 Topic 1 – What is an OS? 16 OS History – Windows NT/2000/XP • Windows 2000 – NT5.0 – Multi-user (with terminal services) – Professional - desktop – Server and Advanced Server - Client-server application servers – Datacenter Server - Up to 32 processors, 64 GB RAM • Windows XP – Windows 2000 code base – Revised UI – EOL for DOS/Windows line CS502 Spring 2006 Topic 1 – What is an OS? 17 OS History – Windows NT/2000/XP • • • • Microsoft has 80% to 90% of OS market Wintel – Windows + X86 WinNT 4.x is 12 million lines of code Win2000 is 18 million lines of code CS502 Spring 2006 Topic 1 – What is an OS? 18