What is an operating system?
Program that acts as intermediary between user and hardware
Manages complexity of running multiple programs efficiently
“Everything you don’t need to write to get a program to run”
How did direct input operating systems work?
Run one job at a time:
enter into computer (possibly by rewiring)
Run
Get results
What was the problem with direct input operating systems?
Lots of wasted time - computer very often idle
What is the point of the operating system?
Abstract details of hardware away so the programmer can focus on writing the program
What is a batch system?
Programmer prepares program away from machine (e.g. punch cards)
Cards are read by card reader - input tape produced
Input tape inserted on computer - Program is performed
Output tape is produced
What is spooling?
Simultaneous peripheral operation on-line
While one job is busy, perform I/O for another job
still only one job running but a bit more efficient
What was the major hardware advance that helped move away from batch systems?
1960s - integrated circuits
What is multiprogramming?
Multiple jobs in memory - protected from one another
Resources split - while one does I/O the other computes
Still not interactive - user submits job, computer runs its, user gets results
What is timesharing?
Like multiprogramming but timer device interrupts after given time
So perform one job for a bit, then the next, then the next, then back to the first etc.
What does timesharing require?
CPU scheduling to choose next job to run
What was Multics
Joint industry/academe OS - supported hundreds of users on a computer roughly as powerful as intel 386
What was Unix?
OS inspired by Multics -
written by Bell Labs in C
What is the point of timesharing?
Allow multiple users to have jobs running on a computer at the same time
What was Minix?
Simplified version of UNIX that runs on a PC
Intended for class teaching
By Andrew Tanenbaum
What is Linux?
By linus torvalds
Working from Minix, built his own kernel - encouraged people to contribute