Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
I t d tiI t d tiIntroductionIntroduction
Jin-Soo Kim ([email protected])Jin Soo Kim ([email protected])Computer Systems Laboratory
Sungkyunkwan Universityhtt // l kk dhttp://csl.skku.edu
Today’s TopicsToday’s TopicsToday s TopicsToday s Topics
What is OS?
History of OS
2CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
What is OS? (1)What is OS? (1)What is OS? (1)What is OS? (1)Application viewpp• Provides an execution environment for running
programs
• Provides an abstract view of the underlying computer system– Processors Processes, Threads
M Add ( i l )– Memory Address spaces (virtual memory)– Storage Volumes, Directories, Files– I/O Devices Files (ioctls)I/O Devices Files (ioctls)– Networks Files (sockets, pipes, ...)– …
3CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
What is OS? (2)What is OS? (2)What is OS? (2)What is OS? (2)System viewy• Manages various resources of a computer system
• Sharing• Protection CPU
Resources
otect o• Fairness• Efficiency
MemoryI/O devicesEfficiency
• ...QueuesEnergy…
4CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
What is OS? (3)What is OS? (3)What is OS? (3)What is OS? (3)Implementation viewp• Highly-concurrent, event-driven software
trap
System call
Interrupts
Hardware
5CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
Computer SystemsComputer SystemsComputer SystemsComputer Systems
S iServices
Applications
Middleware
Software Development Environment(compilers, loaders, editors, utilities,
command interpreter libraries)
Operating System (Kernel)
command interpreter, libraries)
C S A hi (H d Pl f )
6CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
Computer System Architecture (Hardware Platform)
1st Generation (1945-55)Vacuum Tubes and Plugboards
1st Generation (1945-55)Vacuum Tubes and Plugboards-- Vacuum Tubes and Plugboards-- Vacuum Tubes and Plugboards
No OSNo programming languagesNo assembly languagesNo assembly languages
ENIAC (Electronic Numerical
7CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
ENIAC (Electronic Numerical Integrator And Computer), 1946
2nd Generation (1955-65)Transistors and Mainframes
2nd Generation (1955-65)Transistors and Mainframes-- Transistors and Mainframes-- Transistors and Mainframes
Batch systemsy• One job at a time• Card readers, tape drives, line , p ,
printers
• OS is always resident in memory and merely transfers a control.
• CPU is underutilized due to the bottleneck in I/O
8CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
3rd Generation (1965-80)Integrated Circuits (ICs)
3rd Generation (1965-80)Integrated Circuits (ICs)-- Integrated Circuits (ICs)-- Integrated Circuits (ICs)
Architectural advances• Using ICs: better price/performance• Disk drivess d es• On-line terminals
• The notion of “Computer Architecture”:– IBM System/360 familyy / y
9CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
3rd Generation (1965-80)Integrated Circuits (ICs)
3rd Generation (1965-80)Integrated Circuits (ICs)-- Integrated Circuits (ICs)-- Integrated Circuits (ICs)
Multiprogrammed systemsp g y• Increase CPU utilization• OS features
– Job scheduling– Memory management– CPU scheduling– Protection
• Spooling (Simultaneous
Peripheral Operation On-Line)Peripheral Operation On Line)
10CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
3rd Generation (1965-80)Integrated Circuits (ICs)
3rd Generation (1965-80)Integrated Circuits (ICs)-- Integrated Circuits (ICs)-- Integrated Circuits (ICs)
Time-sharing systemsg y• Improve response time• OS featuresOS features
– Swapping– Virtual memory– File system– Sophisticated CPU scheduling
S h i ti– Synchronization– Interprocess communication– Interactive shellInteractive shell– More protection, …
11CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
4th Generation (1980-)LSIs & VLSIs
4th Generation (1980-)LSIs & VLSIs-- LSIs & VLSIs-- LSIs & VLSIs
Architectural advancesArchitectural advances• Microprocessors: smaller and faster• Storage: larger and faster• Storage: larger and faster• Personal computers• CPU work is offloaded to I/O devices• CPU work is offloaded to I/O devices
Modern OS features• GUI (Graphical User Interface)• MultimediaMultimedia• Internet & Web• Networked / Distributed etc
12CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
Networked / Distributed, etc.
OS HistoryOS HistoryOS HistoryOS History
CTSS (1961, MIT)( ibl i h i )(Compatible Time Sharing System)
/ ( )OS/360 (1964, IBM)
CS (196 ll b G )MULTICS (1965, MIT, Bell Labs, GE)(MULTiplexed Information and Computing Service)
Unix (1969, Bell Labs)
13CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
Multics (1)Multics (1)Multics (1)Multics (1)Multics• Multiplexed Information and Computing Service• A time-shared, multi-processor mainframe , p
“computing utility” • Originally started by MIT, GE, and Bell Labs for GE-
645, a 36-bit system, in 1965.– Bell Labs quit in 1969 and built Unix.
GE’ b i i l di M l i k b– GE’s computer business, including Multics, was taken over by Honeywell in 1970.
– Last system shutdown on 10/31/2000.y / /
• http://www.multicians.org
14CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
Multics (2)Multics (2)Multics (2)Multics (2)Multics innovations• Hierarchical file system.
– File / directory / path name / working directory– Access Control Lists (ACLs).– Long names on entries.
M lti l t i– Multiple names on entries.– Symbolic links.– Storage quotasStorage quotas.– Removable devices.– The backup procedures.
• Lots of developments in management of virtual memory including segmentation and paging.
15CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
Multics (3)Multics (3)Multics (3)Multics (3)Multics innovations (cont’d)( )• Separating the command shell from the OS kernel.• Dynamic linking.y g• Implementation of an OS in a high level language
(PL/1)• Management of shared memory.• Mapping of logical disk volumes onto physical pp g g p y
volumes.• Many developments in the area of secure computer
systems.– Multics was rated B2 by the NCSC in 1985.
A b t t (b d th M lti i ) b ilt
16CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
– A subsequent system (based on the Multics experience) built by Honeywell was the first computer system ever rated A1.
Multics (4)Multics (4)Multics (4)Multics (4)Multics innovations (cont’d)( )• Multics Relational Data Store (MRDS) in 1976.
– The first commercial relational DBMS.– The MRDS query language was similar to early SQL.– Concurrent access to a database by multiple processes was
supportedsupported.– The database could be backed up in its entirety.
• Spreadsheets were developed on the MulticsSpreadsheets were developed on the Multicsplatform.
• Multics supports BCPL, BASIC, APL, FORTRAN, LISP, C, pp , , , , , ,COBOL, ALGOL 68, and Pascal.
• Many optimizations for the LISP language through
17CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
work on the Multics MACLISP compiler.
OS History: UnixOS History: UnixOS History: UnixOS History: Unix
“… When BTL (Bell Telephone Laboratories) withdrew from the Multics… When BTL (Bell Telephone Laboratories) withdrew from the Multicsproject, they needed to rewrite an operating system in order to play space war on another smaller machine (a DEC PDP-7 with 4K memory for user
programs). The result was a system which a punning colleague called UNICS p g ) y p g g(UNiplexed Information and Computing Services) – an ‘emasculated Multics’;
no one recalls whose idea the change to UNIX was.”-- Peter H. Salus, A Quarter Century of Unix, Addision-Wesley, 1994.
“… It was the summer of '69. In fact, my wife went on vacation to my family's place in California.... I allocated a week each to the operating system, the
h ll th dit d th bl t d it lf d d i thshell, the editor, and the assembler, to reproduce itself, and during the month she was gone, it was totally rewritten in a form that looked like an
operating system, with tools that were sort of known, you know, assembler, editor and shell Yeh essentially one person for a month ”
18CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
editor, and shell .... Yeh, essentially one person for a month.-- Ken Thompson
UnixUnixUnixUnixUnix Features• Hierarchical file systems
– Special files: uniform I/O, naming, and protection.R bl fil t i t/ t– Removable file systems via mount/umount
– i-node
• Process controlProcess control– fork(), exec(), wait(), exit()– Pipes for inter-process communication
h ll• Shells– Standard I/O and I/O redirection– FiltersFilters– Command separators– Shell scripts
19CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
• Signals
OS History: UNIX (1969-85)OS History: UNIX (1969-85)OS History: UNIX (1969 85)OS History: UNIX (1969 85)
B ll L b i
More info: UNIX History at http://www.levenez.com/unix/USG/USDL/ATTIS
DSG/USO/USLBell Laboratories
ResearchBerkeley Software
Distributions
1969 First Edition
1973 Fifth Edition
1976 Sixth Edition
1977 PWB MERT CB UNIX 1BSD
1977 UNIX RT Seventh Edition 2BSD
32V 32V
1979 3BSD
3.0 4.0BSD
1980 XENIX 3.0.1
1981 4.0.1 4.1BSD
1982 5.0 Sys tem III 4.1aBSD
1983 5.2 Sys tem V XENIX 3 Eighth 4.1cBSDdi i
2.8BSD
Edition
2.9BSD1984 Sys tem V SunOS 4.2BSD
Release 2
1985
20CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
Figure 1.1 The UNIX system family tree, 1969-1985
OS History: UNIX (1985-96)OS History: UNIX (1985-96)OS History: UNIX (1985 96)OS History: UNIX (1985 96)Sys tem V Eighth
1985 Release 2 XENIX 3 SunOS Edition 4.2BSD 2.9BSD
1986 MACH 4.3BSD
Sys tem V1987 Release 3 Ninth 2.10BSD
SunOS3
Chorus Edition XENIX 5
1988 MACH 2.5 4.3BSD-Tahoe
Sys tem V1989 R l 4 N XT S OS4 T h 2 11BSD1989 Release 4 NeXT SunOS4 Tenth 2.11BSD
Step Edit ion Chorus NET/1 V3
1990 OSF/1 Plan 9 4.3BSD-Reno
1991 NET/2
386BSD
1992 Solaris NetBSD 0.8
DEC UNIX BSDI 1.0 FreeBSD 1.0 Novel l1993 Linux UNIX Solaris 2
Ware 4.4BSD
1994 4.4BSD Lite-1
1995 SCO FreeBSD 2.0 BSDI 2.0 UNIX 4.4BSD
Lite-21996
21CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
Figure 1.2 The UNIX system family tree, 1986-1996
OS History: UNIXOS History: UNIXOS History: UNIXOS History: UNIXSun SolarisHP HP-UXIBM AIXIBM AIXCompaq (Digital) Tru64SGI IrixSCO Unixware
LinuxFreeBSD, NetBSD, OpenBSDApple Mac OS X, etc.
22CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
pp
Multics vs. UnixMultics vs. UnixMultics vs. UnixMultics vs. UnixComparisonp• Multics:
– Top-down approach– 150 Man-Years for design and system programming, another
50 Man-Years for improvementsToo complicated too costly hardware– Too complicated, too costly hardware
– Many novel ideas had a great impact
• Unix:Unix:– Bottom-up approach– Simplicity, elegance, and ease of use– Low cost hardware, university adoption– 2 Man-Years
Th t f th d ti t
23CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])
– The root of the modern operating systems
OS History: Windows & LinuxOS History: Windows & LinuxOS History: Windows & LinuxOS History: Windows & Linux
1981 82 84 86 88 90 91 93 94 95 98 00 0196 97 9992
MS‐DOS Family
03
1.0 2.0 3.0 3.2 4.0 5.0 6.0 7.0
98
y
Windows Family3.0 3.1 95 98 ME1.0
98SE
2.0
3 1 3.11Windows for WorkGroup Family
3.1 3.5 4.0 2K XP
3.1 3.11
Windows NT FamilyServer20033.51
0.01 0.99 1.0 1.2 2.0 2.1 2.2 2.4
Linux
2.6
2003
24CSE3008: Operating Systems | Fall 2009 | Jin-Soo Kim ([email protected])