early computer systems

Upload: manishbhardwaj8131

Post on 04-Jun-2018

218 views

Category:

Documents


0 download

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)