Title: Introduction to Computer Science
1??????? Introduction to Computer Science
??? ?????? ???? www.jiahenglu.net
2OS Introduction, History and Concepts(?????????
??)
3What is an Operating System?
4Why 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
5Why 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?
Whats the difference? - Should I upgrade my hardware? Should I upgrade my
OS?
6Why care about OS? (3)
- If youre going to be a software engineer then
youll 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.
73 most important things youll get from this class
- Learn how to reason about costs and tradeoffs in
resource management at the operating systems
level - Become comfortable with inter-process
communication primitives - Become comfortable with system programming for
Linux environment
8OS
File systems
I/O devices
Monitor
Memory management
Processes, threads, scheduling
Bus
Hardware components of a computer system
Memory hierarchy
9A Short History of Operating Systems(??????)
10Early 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.
11In 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.
12Early 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 Lovelaces 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
13History 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
- operator and
- sys admin
Program from those days
14A Famous Remark (1943)
- "I think there is a world market for maybe five
computers." - Thomas Watson, chairman of IBM
15History 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
) - Separation between computer designers, builders,
operators, programmers and maintenance personnel.
16Early 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
17A 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
18History 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)
- MINIX (by Tanenbaum)
- Linux (originated by Linus Torvalds, inspired by
MINIX)
19A 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.
20History 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
21A 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
22Types 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)
23Famous Forecast (1949)
- "Computers in the future may weigh no more than
1.5 tons." - Popular Mechanics, forecasting the relentless
march of science, 1949
24Types 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
25Operating 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