Download 操作系统简介:历史和概念 - Lu Jiaheng's homepage

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Berkeley Software Distribution wikipedia , lookup

Spring (operating system) wikipedia , lookup

Distributed operating system wikipedia , lookup

OS/2 wikipedia , lookup

Unix security wikipedia , lookup

VS/9 wikipedia , lookup

Security-focused operating system wikipedia , lookup

CP/M wikipedia , lookup

Transcript
计算机科学概述
Introduction to Computer Science
陆嘉恒
中国人民大学 信息学院
www.jiahenglu.net
OS Introduction, History and
Concepts
(操作系统简介:历史和概念)
What is an Operating System?
Why care about OS? (1)
• Most critical software in a computer.
• OS performance influences the
performance of all software on a computer
– How to extract the best performance out of an
OS?
– How to work around design flaws? Write
software that takes advantage of the design of
the OS
Why care about OS? (2)
• You need to understand enough to make
informed decisions about things like:
– Buying and using a personal computer:
– Why do different PCs with the same CPU
perform differently?
– Should I get Windows XP? Windows 2000?
Linux? What’s the difference?
– Should I upgrade my hardware? Should I
upgrade my OS?
Why care about OS? (3)
• If you’re going to be a software engineer
then you’ll need to understand the
environment offered by your OS :
– What abstractions does the OS provide?
E.g., the OS may (or may not) provide
illusions such as infinite number of CPUs,
infinite memory, single worldwide computing,
etc.
3 most important things you’ll
get from this class
1. Learn how to reason about costs and
tradeoffs in resource management at the
operating systems level
2. Become comfortable with inter-process
communication primitives
3. Become comfortable with system
programming for Linux environment
OS
File systems
I/O devices
Monitor
Processes,
threads,
scheduling
Memory
management
Bus
Hardware components of a computer system
Memory hierarchy
A Short History of
Operating Systems
(操作系统历史)
Early Computers
• First Computer
– Charles Babbage (1791-1871) designed
the first true digital computer called
the Analytical Engine.
– That was purely mechanical and
intended to do math operations
– The engine was supposed to be made of
brass, and steam powered
– He did not actually built the machine but
inspired others in the field.
In 1991, on the occasion of the 200th
anniversary of the birth of Charles Babbage,
the Science Museum in Kensington,
England, constructed a complete Difference
Engine from the drawings left behind by
Babbage.
Early Computers
 Babbage also thought of the
concept of software
 And hired the first programmer
(Lady Ada, Countess of Lovelace)
for his analytical engine
 From Ada Lovelace’s notes: The
analytical machine was suited for
"developping [!!!] and tabulating
any function whatever. . . the
engine [is] the material
expression of any indefinite
function of any degree of
generality and complexity."
 Ada language named in her honor
History of Operating Systems (1)
• First generation 1945 - 1955
– Technology: vacuum tubes & plugboards
– Programming: setting some switches
– Programming language: machine language
– Tasks: tables of sine, cosine, logarithms
– OS: none
• Computer designer is:
–
–
–
–
builder and
programmer and
Program from those days:
operator and
“sys admin”
A Famous Remark (1943)
• "I think there is a world market for
maybe five computers."
– Thomas Watson, chairman of IBM
History of Operating Systems (2)
• Second generation 1955 – 1965
– Technology: Transistors
– Programming: Punched cards
– Programming languages: FORTRAN &
Assembly
– Tasks: Scientific
– Computer: Mainframes
– OS: Batch system
• Universities started to buy computers (millions $)
Early Batch System
–
–
–
–
bring cards to IBM 1401 machine (good at card reading)
read cards to tape
put tape on IBM 7094 which does computing
put tape on IBM 1401 which prints output offline
A Famous Remark (1957)
• "I have traveled the length and
breadth of this country and talked with
the best people, and I can assure you
that data processing is a fad that
won't last out the year.“
– The editor in charge of business books for
Prentice Hall
History of Operating Systems (3)
• Third generation 1965 – 1980
– Technology: Integrated circuits
– Programming: Punched cards
– Programming languages: FORTRAN &
Assembly
– Tasks: Scientific & commercial
– Computers: IBM 360, DEC PDPs
– OS: Multiprogramming/timesharing, spooling
• OSes Developed:
– MULTICS (father of all modern OSes)
– UNIX (System V, BSD)
– POSIX (by IEEE)
A Famous Remark (1977)
• “There is no reason anyone would
want a computer in their home.“
– Ken Olson, president, chairman and founder
of Digital Equipment Corp.
History of Operating Systems (4)
• Fourth generation 1980-Present
– Technology: VLSI
– Programming: High level
– Programming languages: C/C++, Java, ……
– Computer: PC
– OS: Windows, MacOS, Linux ……
• Cheap PCs
A Famous Remark (1989)
• “We don't see Windows as a long-term
graphical interface for the masses.“
– A Lotus Software Development official, while
demonstrating a new DOS version
Types of Operating Systems (1)
• Mainframe operating systems
– Room-size computers
– High I/O capacity
– Offers:
• Batch processing (no interaction, such as large
reports)
• Transaction processing (large number of small
requests)
• Timesharing (multiple users sitting in front of
clients)
Famous Forecast (1949)
• "Computers in the future may weigh
no more than 1.5 tons."
– Popular Mechanics, forecasting the
relentless march of science, 1949
Types of Operating Systems (2)
• Server operating systems
– Offer services like print, file, or web
– UNIX, Windows 2000, Linux
• Multiprocessor operating systems
– Parallel computing
• Personal computer operating systems
– Single user with a good GUI, such as
Windows 98, Windows 2000, Macintosh OS,
Linux
Operating Systems (3)
• Real-time operating systems
– E.g. industrial process control systems where
each job must be completed in the specified
time.
– Hard real-time (nuclear reactor control systems)
or soft-real time systems (e.g multimedia
systems) depending on the acceptance of
missing deadlines
• Embedded operating systems:
– Real-time systems with some resource
constraints like memory, CPU, power.
• Smart card operating systems