- Introduction
- Main divisions.
- Kernel and applications.
- Utilities in between.
- Interfaces.
- Utilities for users.
- System calls for applications.
- Extended machine and a resource manager.
- Extended machine: Adds function to the machine.
Sometimes: Virtual machine; not the sense you're used to.
- Device drivers.
- Processes.
- File system.
- Networking protocols.
- Resource manager: Allocates and enforces the allocation.
- Memory: what part is free, and who's using the rest?
- Disk: same.
- Assigns exclusive devices (like printers) to some controlling
process.
- History.
- First Generation. 1940's + '50's.
- Hardware: Relays or vacuum tubes.
- No OS.
- Programmer signs up for a time slot and runs a program.
- Much time spent mounting tapes and cards.
- Low utilization of a very expensive piece of equipment.
- Second Generation.
Batch systems
Mid 1960's to mid '70's.
- Hardware: Transistors.
- Cheaper machine “batches” jobs on magnetic tape.
- Computer runs them from the tape, one at a time.
- Output batched on a second tape, and printed from tape.
- Programmer no longer runs his own program.
- One user program at a time.
- Third Generation 1965 to 1980.
- Hardware: Integrated circuits.
- Leader:
IBM 360.
- Multiprogramming. Combine compute- and I/O-bound jobs.
- Each program has its own region in memory.
- Spooling: CPU and peripherals operate in parallel on one machine.
- Time-sharing.
- Batch operation: Give your job to the operator and wait.
- Multiple users communicate with multiple command interpreters
running as separate processes.
- Text-based user interface, via
teletype.
- Application of multiprogramming.
- Leader: CTSS (Compatible Time Sharing System).
- Gorilla: Multics
- Joint project of MIT and ATT.
- Custom hardware.
- Provide computing as a utility service.
- Kitchen sink approach.
- Advanced the technology; commercial failure.
- Red-headed stepchild: Unix
- Created by idled ex-Multics programmers at ATT.
- Small-is-beautiful approach, but borrowed a lot from Multics.
- Highly influential.
- Descendants and variations: System V, Solaris, BSD, Linux.
- Minicomputers
- Much smaller and cheaper than the big IBM machines.
- Leader: Digital Equipment Corp (DEC), PDP series.
- Unix first developed on
PDP-7.
- Moved a
PDP-11.
- Fourth Generation. Personal computing 1980-present.
- Hardware: Integrated CPU.
- 1975: Intel 8080.
- 1976: Apple I; '77: Apple II.
- 1981: IBM PC, MS-DOS.
- GUIs
- Englebart at Xerox PARC, 1960s.
- Xerox products too expensive; not successful.
- Jobs visits PARC.
- First successful GUI in the
Mac.
- MS answered with Windows.
- Windows 3.1, 95, 98, ME
- Windows NT, 2000, XP, Vista, 7, 10, etc.
- Fifth Generation: Mobile computing.
- Limited computing power.
- Limited electrical power.
- Limited peripherals, including user interface devices.
- OS's
- Symbian was first widely-used phone OS.
- Blackberry OS, and later iOS, eclipsed it.
- Android now the leading mobile OS.