* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download What is an Operating System
Survey
Document related concepts
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
Transcript
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