early computer systems
TRANSCRIPT
-
8/13/2019 Early Computer Systems
1/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Early Computer Systems
Vacuum tubes
A single group of people did all the workdesign, construction, programming, operating, maintenance
Programming in machine languageplugboard, no programming languages
Operating systemsFirst computer generation (1945 55)
Users directly interact with computer system
Programs directly interact with hardware
No operating system
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Early Computer SystemsOperating systems
First computer generation (1945 55)
IBM 407 Accounting MachineElectro mechanical tabulator
Source: http://www.columbia.edu/acis/history/407.html
Wiring panel (plugboard)
-
8/13/2019 Early Computer Systems
2/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Early Computer SystemsOperating systems
First computer generation (1945 55)
IBM 402 plugboard
Source: http://www.columbia.edu/acis/history/plugboard.html
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Early Computer Systems
Vacuum tubes
A single group of people did all the workdesign, construction, programming, operating, maintenance
Programming in machine languageplugboard, no programming languages
Operating systemsFirst computer generation (1945 55)
Users directly interact with computer system
Programs directly interact with hardware
No operating system
-
8/13/2019 Early Computer Systems
3/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Batch Systems
Transistors, Mainframe computers
First high level programming languagesFortran (Formula translation), Algol (Algorithmic language), Lisp (List Processing)
No direct user interaction with computerEverything went via the computer operators.
Users submitjob to operatorjob = program + data + control information.
Operator batched jobsComposition of jobs with similar needs
Operating systemsSecond computer generation (1955 65)
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Batch SystemsOperating systems
Figure from [Ta01 p.9]
Structure of a typical FMS (Fortran Monitor System) batch job
Second computer generation (1955 65)
-
8/13/2019 Early Computer Systems
4/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Batch SystemsOperating systems
Figure from [Ta01 p.8]
IBM IBM IBM
Batch job processing scence [Tanenbaum]
Second computer generation (1955 65)
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Batch Systems
Resident monitor program in memoryMonitor program loading one job one after another (from tape).
Operating systems
Monitor
program
job
Memory
Sequenced job inputJobs from tape or from card reader. Monitorprogram cannot selectjobs on its own.
One job in memory at a time
CPU often idlewaiting for slow I/O devices
Second computer generation (1955 65)
-
8/13/2019 Early Computer Systems
5/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Multiprogram Systems
DisksDirect access to several jobs on disk. Now the operating
system can select jobs (job scheduling).
Multiprogrammed Batch Systems
Operating systemsThird computer generation (1965 80)
OperatingSystem
job 1
Memory
job 2
job 3
job 4
Several jobs in memory at the same time
Operating system shares CPU time
among the jobs (CPU scheduling).
Better CPU utilization
Integrated Circuits
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Multiprogram SystemsOperating systems
Assume program A being executed on a single-program
computer. The program needs two I/O operations.
Assume program B being executed on the same computer
at some other time. The program needs no I/O.
A1 A2 A3
I/O I/O
t
A A
CPU usage
over time
B1 B2 B3t
CPU usageover time
-
8/13/2019 Early Computer Systems
6/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Multiprogram SystemsOperating systems
Total execution time on a single-program computer:
Total execution time on a multi-program computer:
Now assume program A and B being executed on a
multi-program computer.
B1 B2 B3A1 A2 A3
I/O I/O
t
A A
CPU usageover time
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Multiprogram Systems
Multiprogram computers were still batch systems
Desire for quicker response timeIt took hours/days until output ready. A single misplaced comma could cause
a compilation to fail, and the programmer wasted half a day [Ta01 p.11].
Desire for interactivityUsers wanted to have the machine for themselves, working online.
Operating systemsThird computer generation (1965 80)
Requests paved the way for timesharing
systems (still in third computer generation)
-
8/13/2019 Early Computer Systems
7/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Time Sharing Systems
Direct user interactionMany users share a computer simultaneously. Terminals Host.
Multiple job execution with high frequent switchingOperating system must provide more sophisticated CPU scheduling.
Disk as backing store for memoryVirtual memory
Many jobs awaiting execution
Operating systemsThird computer generation (1965 80)
Operating System
Swapping,
address translation,
protecting memory
(memory management)
Disk as input / output storageNeed for the OS to manage user data (file system management)
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Time Sharing Systems
Assume program A and B as previously. Execution
on a time sharing system:Program B has finished
Time sharing is not necessarily faster. Compare to
the multiprogramming example:
Small time slices allow for interactivity (quasi parallel execution)
B1 B2 B3A1 A2 A3
I/O I/O
tCPU usageover time
I/O I/Ot
A A
CPU idleCPU usage
over time
-
8/13/2019 Early Computer Systems
8/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Memory LayoutOperating
System
program 1
Memory
program 2
program 3
program 4
program n
program 5
program 6
Working
Memory
Time sharing system
OperatingSystem
job 1
Memory
job 2
job 3
job 4
Multi program system
Monitor
program
job
Memory
Batch system
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Modern SystemsOperating systems
Fourth computer generation (1980 present)
Single-chip CPUs
Personal Computers
Real-Time Systems
Multiprocessor Systems
Distributed Systems
Embedded Systems
CP/M
MS-DOS, DR-DOS
Windows 1.0 ... Windows 98 / ME
Windows NT 4.0 ... 2003, XP
XENIX, MINIX, Linux, FreeBSD
-
8/13/2019 Early Computer Systems
9/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Real Time Systems
Rigid time requirements
Hard Real Time
Industrial control & robotics
Guaranteed response times
Slimmed OS features (no virtual memory)
Soft Real Time
Multimedia, virtual reality
Less restrictive time requirements
RT System
RT System
Modern systems
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Multiprocessor Systems
n processors in system (n > 1), tightly coupled
Resource sharing
Symmetric Multiprocessing
Asymmetric Multiprocessing
Each CPU runs identical copy of OS
All CPUs are peers (no master-slave)
Each CPU is assigned specific task
Task assignment by master CPU
User User User User
CPU CPU CPU CPU
Operating System
Operating System
User User User User
CPU CPU CPU CPU
Modern systems
-
8/13/2019 Early Computer Systems
10/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Distributed Systems
Individual computers
Autonomous operation
Communication via network
Network Operating System
Modern systems
File Sharing
Message exchange
n computers/processors (n > 1), loosely coupled
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Embedded Systems
Dedicated to specific tasks
Modern systems
Encapsulated in host deviceinvisible, usually not repaired when defect
Small in size, low energy
Sometimes safety-criticalautomotive drive by wire, medical apparatus
Custom(ized) operating systemLittle or no file I/O, sometimes multitasking,
no fancy OSs.
-
8/13/2019 Early Computer Systems
11/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Resource ManagementOperating systems
File system management
Memory management
Creation and organization of a logical storage location where data (user
data, system data, programs) can be persistently stored in terms of files.
Assigning rights and managing accesses. Maintentance.
Process managementCreation of processes (programs in execution) and sharing the CPU
among them. Control of execution time. Enabling communication
between processes.
Device management.
Assigning memory areas to processes. Organizing virtual memory.
Low level administrative work related to the specifics of the I/O devices.
Translations, low level stream processing. Usually by device drivers.
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Operating Systems
An operating system in the wide sense
is the software package for making a
computer operable.
The operating system in the narrow sense is
the one program running all the time on the
computer (the kernel).
It consists of several tasks and is asked for
services through system calls.
Imagesource:Wikipediaonkernel,English
-
8/13/2019 Early Computer Systems
12/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Operating Systems
Operating system categories
Single User - Single Tasking
Single User - Multi Tasking
Multi User - Single Tasking
MS-DOS
Windows, MacOS
Multi User - Multi Tasking
CP/M
Unix, VMS
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Computer Architecture
File System Management
-
8/13/2019 Early Computer Systems
13/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
File System Management
Storage Media
Magnetic Disks
Files and Directories
File Implementation
Directory Implementation
Free BlockManagement
File System Layout
Disk Performance
Floppy Disks
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Storage Media
Storage hierarchy
Figure from [Sil00 p.31]
low
high
accesstime
se
cond
ay
sto
rag
e
primarystorage
-
8/13/2019 Early Computer Systems
14/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Storage MediaCost versus access time for DRAM and magnetic disks [HP06 p.359]
1ms 10ms
Flash
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Storage Media
Store large amount of dataMuch more data than fits into (virtual) memory
Persistent store
The information must survive the terminationof the process creating or using it.
Concurrent access to dataMultiple processes should be able to access the data simultaneously.
Storage of data on secondary
storage media in terms of files.
Requirements for secondary storage
-
8/13/2019 Early Computer Systems
15/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
File System Management
Storage Media
Magnetic Disks
Files and Directories
File Implementation
Directory Implementation
Free BlockManagement
File System Layout
Disk Performance
Floppy Disks
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Magnetic DisksMagnetic disk drive principle
Figure from [Sil00 p.29]
Disk drive
Computer
diskcontroller
hostcontroller
-
8/13/2019 Early Computer Systems
16/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Magnetic Disks
Sector: Smallest addressable unit on magnetic disk.
Data size between 32 and 4096 bytes (standard 512 bytes).
Several sectors may be combined to form a logical block. The
composition is usually performed by a device driver. In this way the
higher software layers only deal with abstract devices that all have
the same block size, independent of the physical sector size.
Such a block is also termed cluster.
A disk sectorFigure from [Ta01 p.315]
512 bytes
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Magnetic Disks
Formatted Disk Capacity
= bytes per sector x tracks per cylinderx sectors per track
capacity of a track
capacity of one platter side
x cylinder
number of tracks on a platter
capacity of all platter sides = disk capacity
Capacity = 63 kB
CHS = (7, 2, 9), sector size: 512 byte
C = cylinder
H = Heads = tracks per cylinder
S =sectors per track
-
8/13/2019 Early Computer Systems
17/17
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Magnetic Disks
Disk parameters for the original IBM PC floppy disk
and a Western Digital WD 18300 hard disk [Ta01 p.301].
(heads)