Lecture One – Overview
Download
Report
Transcript Lecture One – Overview
History
7/17/2015
Sterling/Gallagher - CS3224
1
History
Generations generally “follow the hardware”
•
•
•
•
7/17/2015
First Generation: 1945-1955
Second Generation: 1955-1965
Third Generation: 1965-1980
Fourth Generation: 1980-
Sterling/Gallagher - CS3224
2
But, there was a Pre-History
• Zero-th Generation:
Jaquard Loom
• Programming began in?
1801
!!!!!!!!
7/17/2015
Sterling/Gallagher - CS3224
3
7/17/2015
Sterling/Gallagher - CS3224
4
7/17/2015
Sterling/Gallagher - CS3224
5
What do these
“cards” look like?
the punch line,
please:
punch cards
(we’ll see these later)
(double pun
7/17/2015 intended)
Sterling/Gallagher - CS3224
6
Pre-History Continued
• Zero and a Half-th
Generation:
The
Difference
Engine
inventor:
Charles Babbage
7/17/2015
Sterling/Gallagher - CS3224
7
7/17/2015
Sterling/Gallagher - CS3224
8
Ada Byron, Lady Lovelace
Prophet of the computer age
7/17/2015
Sterling/Gallagher - CS3224
9
In 1843, Ada Lovelace wrote the first
published description of a stepwise
sequence of operations for solving
certain mathematical problems and is
often referred to as
'the first programmer'.
7/17/2015
Sterling/Gallagher - CS3224
10
She speculated that Babbage’s Difference
Engine 'might act upon other things besides
number... the Engine might compose elaborate
and scientific pieces of music of any degree of
complexity or extent'. The idea of a machine
that could manipulate symbols in accordance
with rules and that number could represent
entities other than quantity mark the
fundamental transition from calculation to
computation. Ada was the first to explicitly
articulate this notion and in this she appears to
have seen further than Babbage.
7/17/2015
Sterling/Gallagher - CS3224
11
History
• First generation: 1945-1955
– Technology: vacuum tubes, access time 100 ms.
(that’s 1/10 of a second)
7/17/2015
Sterling/Gallagher - CS3224
12
One byte = 8 bits
7/17/2015
Sterling/Gallagher - CS3224
13
History
This circuit board block is one of
hundreds of blocks that held the
4000 vacuum tubes for IBM's
Model 701, it's first computer
intended for scientific work.
And these things were hot!
7/17/2015
Sterling/Gallagher - CS3224
14
History
• First generation 1945-1955
– Technology: vacuum tubes,
access time 100 ms. (that’s 1/10 of a second)
– Language: machine language.
– OS? Ha!
– Input (how programmers programmed):
switches, patch cords
much later - punch cards
7/17/2015
Sterling/Gallagher - CS3224
15
Four ENIAC panels and one of its three function tables, on display at the
School of Engineering and Applied Science at the University of Pennsylvania
Electronic Numerical Integrator And Computer
7/17/2015
Sterling/Gallagher - CS3224
16
the first programmers were…
Betty Jennings,
Betty Snyder,
Kay McNulty,
Marlyn Wescoff,
Fran Bilas
and Ruth Lichterman.
7/17/2015
Sterling/Gallagher - CS3224
17
History
With the introduction of programmers came…
bugs.
7/17/2015
Sterling/Gallagher - CS3224
18
On September 9, 1945,
Grace Hopper
was working on
the Harvard Mark II.
7/17/2015
Sterling/Gallagher - CS3224
19
As always, she dutifully entered the preparations
and results for test runs the in the logbook.
7/17/2015
Sterling/Gallagher - CS3224
20
First test of the day: arctan
7/17/2015
Sterling/Gallagher - CS3224
21
Two hours later:
7/17/2015
Sterling/Gallagher - CS3224
22
Arctan OK but some relays failed. Relays changed.
This sort of electromechanical failure was common.
7/17/2015
Sterling/Gallagher - CS3224
23
Next test: mount the cosine TAPE (good).
Next, mount the multiply-and-add TAPE…
…and…
7/17/2015
Sterling/Gallagher - CS3224
24
…it crashed.
7/17/2015
Sterling/Gallagher - CS3224
25
Relay #70 in Panel F had shorted out.
What causes this short?
It did:
7/17/2015
Sterling/Gallagher - CS3224
26
as documented at 3:45, September 9, 1945,
by Grace Hopper, who also dutifully
taped the insect into the logbook.
Curiously, the poor creature
has never been given a name.
7/17/2015
Sterling/Gallagher - CS3224
27
History
• Second Generation
1955-1965
– Technology:
the transistor:
7/17/2015
Sterling/Gallagher - CS3224
28
• Second Generation
1955-1965
– Technology:
the transistor:
7/17/2015
Sterling/Gallagher - CS3224
29
History
• Second Generation 1955-1965
– Technology: transistors, access time: 100 μs.
(that’s 1/10,000 of a second)
7/17/2015
Sterling/Gallagher - CS3224
30
History
• Second Generation 1955-1965
– Technology: transistors,
access time: 100 μs.
– Storage: tape, then disks.
– Languages: COBOL, Fortran,
Algol, LISP and (of course)
assembler.
– OS:
• “batch” systems / “monitor”
– With SPOOLing
• Experimental: CTSS
– Fernando “Corbie” Corbato
– dual mode
– memory protection
– time sharing
– Input: most often punch cards.
7/17/2015
Sterling/Gallagher - CS3224
31
What’s a monitor?
Monitor
Read input tape
Process commands
Run jobs sequentially
Refresh at end of job
User Area
(Rest of memory)
7/17/2015
Sterling/Gallagher - CS3224
32
Poly’s 7040
7/17/2015
Sterling/Gallagher - CS3224
33
Batch processing and spooling
here at Poly
Decks of
cards
Print
images
Input tape
(Card images)
7/17/2015
2400 ft
reel
Small (cheap)
computer
(IBM 1401)
Big (expensive)
computer
(IBM 7040)
Sterling/Gallagher - CS3224
Output tape
(print images)
34
Poly’s 1401 (corner of 7040)
7/17/2015
Sterling/Gallagher - CS3224
35
History
• Third Generation
1965-1980
– Technology: Integrated
Circuits. 1 μs and up.
– Languages: PL/1, C, Basic…
– OS:
• Started with Batch,
• Time sharing became wide
spread. Why? Memory
protection!
– Significant systems:
• Hardware:
– Mini-computers
(e.g PDP series)
– IBM 360 family
• Major operating systems:
OS 360 (Frederick Brooks),
Multics, Unix.
7/17/2015
Sterling/Gallagher - CS3224
36
Thanks for the Memory
Magnetic Core Memory
7/17/2015
Sterling/Gallagher - CS3224
37
Thanks for the Memory
A Core IS a Magnet
7/17/2015
Sterling/Gallagher - CS3224
38
Thanks for the Memory
Individual bits
7/17/2015
Sterling/Gallagher - CS3224
39
History
• Multics (1965-2000)
– Goal: create a computing
utility. Focus on time-sharing.
– Follow-up to CTSS.
– AT&T, MIT and General
Electric.
– Target machine was the GE
635 mainframe.
– Early example of many ideas
used in later hardware and
operating systems.
• Combined segmentation and
paging
• Developed in high level
language
7/17/2015
Sterling/Gallagher - CS3224
40
History
Multics begat…
•
•
•
•
•
•
•
•
AT&T pulled out at the end of the
60’s.
AT&T researchers were without a
cool operating system.
Ken Thompson decided to write a
trimmed down version for personal
use.
Found an under-utilized PDP-7
“minicomputer” as the target.
Used GE-635 for development.
Assembly language.
Later ported the OS to the hot new
PDP-11 minicomputer.
Goal: rewrite OS in a high level
language.
– Thompson tried FORTRAN. Nah.
– Then created B. Still no.
– Dennis Ritchie improved on it…
7/17/2015
Sterling/Gallagher - CS3224
41
History
Unix Open Source
•
•
•
•
•
•
•
Originally universities and others got
licenses for the source because AT&T
didn’t figure it was worth much…
Berkeley added many features,
resulting in BSD Unix.
TCP/IP was developed on BSD Unix.
The two versions diverged.
’87 minimal version of Unix written by
Tanenbaum for educational purposes.
MINIX. Source provided.
Disgruntled MINIX users demanded
more features. Tanenbaum refused to
let MINIX get too large. (He did add
support for hard drives.)
Meantime AT&T blocks Berkeley from
making their source code free.
7/17/2015
Sterling/Gallagher - CS3224
42
Linux
• A Finnish student decided to
write his own version. Posts
version 0.98 on the web in
~1990.
• Thanks in part to Ma Bell, the
penguin got more market
share than the little devil.
7/17/2015
Sterling/Gallagher - CS3224
43
4th Generation
1980•
•
•
•
•
•
Largely focused on
microprocessors, networking,
distributed systems - VLSI
Mid-70s: the Intel 8080 and CP/M
(Gary Kildall)
~80: 8086 and msdos. (similar to
cp/m).
1985: Windows 1.0. Graphical
user interface for MSDOS – not an
operating system.
1990: Windows 3.0 for ‘386.
Windows 95.
–
–
–
–
virtual memory
multi-programming, etc
Later on, long file names.
fancy new GUI, closer to the Mac
7/17/2015
Sterling/Gallagher - CS3224
44
NT
• Late 80’s Microsoft knew they were going to need a “real” OS
– Hired VAX VMS designer, David Cutler for complete rewrite.
– Targeting heavy business apps. Compete with OS/2
– Intended to be highly portable.
• NT 3.1 in ‘93
– “Layered”
– Looked like Windows 3.1
• NT 4 in ’96
– Layering was reduced to improve efficiency.
– GUI was made compatible with Windows 95.
• NT 5 in 2000 (actually named Windows 2000, but…)
– added many features that had already appeared in Win ’98, such as
support for USB and plug-and-play.
• NT 5.1 – XP finally merged the “home” and “office” environment.
7/17/2015
Sterling/Gallagher - CS3224
45
Improvements in NT vs. 95/98
• Support for multi-processor
• File system security
• Fully 32-bit (as opposed to having some legacy
16-bit) code
• Fully reentrant
• Shared memory visible only to the processes
involved.
• Better protection for operating system
But less compatible with old MSDOS programs.
7/17/2015
Sterling/Gallagher - CS3224
46
The Future: Recent and Beyond
•
•
•
•
•
•
•
Windows 7
Windows 8
…
???
The cloud as an OS?
…
???
7/17/2015
Sterling/Gallagher - CS3224
47