OS Definition:
A program that acts as an intermediary between a computer user and the computer hardware and software.
Function of OS
Resource manager -- (traditional view - due to expense of computers)
- Manages
- Hardware
- Programs
- Data
- KERNEL!!!
- Concerns:
- Utilization/performance (efficiency concerns & conflicting requests)
- Accounting (who's using what and how much?)
- Security (protects users from one another, OS from user errors or malicious activity)
Productivity enhancement (enabling technology)
- Costs reduced since people are more productive
- New activities enabled (devices/approaches/capabilities)
Audiences
- Programmers
- End users
- Devices (cars, planes, computers)
OS tasks
(no clear separation)
Security is clearly an OS function, to protect resources and users from both accidental and intentional intrusions.
Process Management
File System Organization
Communication
Memory Management
"Mutual exclusion" in management of shared resources (much more on this later -- but OS often must allocate a resource to at most one user at a time).
User interfaces
- convenient access to frequently performed tasks (e.g. disk I/O)
- hiding details (standard Software Engineering (SE) principle) so effect of many changes are reduced
- GUI, X-windows?
Early on (and to many still), OS's restrict behavior, get in the way, add lots of overhead, slow things down, needlessly consume valuable resources (memory, machine cycles, disk space), hence the old joke:
Q. What is an elephant?
A. A mouse with an operating system.
Purpose of OS is to reduce costs (do more with less) and provide necessary security.
- shared hardware resources
- used for several purposes and several people simultaneously
- more productive software development
- some "end product" delivered at
- lower costs
- more timely
- more accurately
- or newly enabled (i.e. not possible without computers)
Variation in "standard" OS services
depends on how system it controls is expected to be used:
- Embedded, often "real-time", e.g., fly an airplane, control power plant.
Characterization: real-time deadlines.
- Translation-based system: Examples: airline reservation, course registration
Characterization: distributed access/modification of database
- Distributed systems. Examples: SunOS on network
Characterization: many physical sites providing services to a distributed user community.
- Web-enabled services. Examples: e-bay, google, digital libraries
- Virtualization: Cloud Computing
Quick history
1940's | no OS | utilization: 7% throughput: 4 jobs/hr productivity: perceived as good |
User sat at console. signed out machine (one standard CS urban legend is that the term "bug" came into the CS lexicon when Grace Hopper fixed a program by removing a moth that prevented a switch from closing. The moth was taped into the log book.) |
|
1950's | "batch" OS | utilization: 90% throughput: 55 jobs/hr turnaround:
job time | time req'd |
1 min | 2-3 hrs |
5 min | 8-10 hrs |
more | 1-7 days |
|
|
Early 1960's | Spooling | much slowerI/O devices 800 jobs/day turnaround: 5 min. |
|
1960's & 1970's | time sharing & batch Also first micros | hard to characterize, but turnaround in a few seconds. |
|
1980's | batch disappearing; micros; embedded systems, networks | hard to characterize |
|
1990's on | distributed systems, time- sharing, embedded, batch | hard to characterize |
GM is credited with the first OS in 1950's for IBM 701: goal was to reduce set-up and tear-down time.
1960's
- Snow white (i.e. IBM) and seven dwarfs (Burroughs, Univac, NCR, Control Data, Honeywell, GE, RCA).
- OS/360 - a single OS (and instruction set) across an entire product line.
- UNIX: an OS not tied to a particular hardware vendor (from Bell Labs, AT&T).
Handle speed mismatches: Spooling
Distributed systems (Symmetric/Asymmetric):
- Resource sharing (if your CPU isn't busy, maybe I can use it to get some work done)
- Computation speed up (run different parts of job on different machines)
- Reliability with redundant components
- Different machines for different tasks
- Communication, collaboration: e.g. e-mail, ftp, shared work spaces.
Copyright ©2017, G. Hill Price
Send comments to G. Hill Price