Title: Lecture 1: OS Introduction, History and Concepts Chapters 1'1 1'3 textbook
1Lecture 1 OS Introduction, History and
ConceptsChapters 1.1 1.3 textbook
2What is an Operating System?
3Why 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
4Why 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? - Whats going on with my PC, especially when I
have to install something? - Should I use disk compression? Is there a cost to
using it?
5Why 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. - What system design trade-offs have been made?
E.g., what functionality has been put in
hardware? What trade-offs have been made between
simplicity and performance, putting functionality
in hardware vs. software, etc? - Operating system design and implementation
combine many different areas of computer science
languages, hardware, data structures, and
algorithms.
63 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 - In addition Improve your skills (and confidence)
in C programming
7This Course
File systems
I/O devices
Monitor
Memory management
Processes, threads, scheduling
Bus
Hardware components of a computer system
Memory hierarchy
8Workload
- 5 programming assignments (2 quite intense)
- 3 tests (2 midterms and 1 final)
- 10s of practice problems (optional)
- Almost daily quizzes (not affecting your grade)
- A word of advice
- Do not procrastinate
- Read assigned material every week
- Start your programming assignments right away
- Budget enough time, this is a difficult course
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. - He had previously designed and started building a
special-purpose computer called the Difference
Engine
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. They found only two major
errors in the drawings they were easy to remedy.
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
- Extremely primitive OS running on credit
card-sized devices with a CPU.
26For next time
- Read sections 1-1.3
- Try to log on one of the machines
c4labpc11-c4labpc19. If you dont have an
account, get one. - To log on use any ssh client (such as putty.exe)
- Run
- ssh c4labpc11.csee.usf.edu
- Youll need a CSE Unix password. Instructions to
get one will follow by email. - Watch this http//www.csee.usf.edu/anda/cop4600/
notes/1722.mov