What is an Operating System

Download Report

Transcript What is an Operating System

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