Evolution of computational systems

Prehistory

PeriodTechnologyFeatures

Mid 19th century

mechanical device

  • no operating system.

  • programmable via punched cards.

  • conditional statement.

  • never work properly.

1945–1955

  • vacuum tubes.

  • electromechanical relays.

  • programmed in machine language.

  • punched cards.

  • serial processing.

  • programmer has full control of the machine.

  • no operating system.

Serial processing

Serial processing – one user at a time.

User has direct access to the computer/processor.

  • actually there is no operating system.

Scheduling and setup time issues:

  • computer must be previously reserved by users, possible causing waste of time or premature exit.

  • a considerable amount of time was spent setting up the program to run.

Common software for all users (like linkers, libraries, . . . ) appear.

Very poor processor utilization

2nd generation

PeriodTechnologyFeatures

1955–1965

transistor devices

  • FORTRAN and assembly

  • simple batch operating system (monitor).

  • rudimentary command language (job control language).

Simple batch

Simple batch – one job at a time.

User looses direct access to the processor.

  • users submits jobs on cards or tapes to an operator.

  • the operator joins jobs into a batch and places it in the computer input device.

  • the monitor (batch OS) manages the execution of the batch’s jobs in the processor.

Better than serial processing.

  • scheduling is done by the monitor, one job after the other.

  • a job control language helps improving setup time.

Requirements like memory protection and privileged instructions appear.

  • (most of) the monitor and the user program must be in memory at the same time.

Still poor processor utilization.

  • processor is often idle.

3rd generation

PeriodTechnologyFeatures

1965–1980

  • integrated circuits (SSI/MSI).

  • family of computers (IBM S/360).

  • 16-bit minicomputers (DEC PDP-n).

  • 4-, 8-, 12- and 16-bit microprocessors.

  • multiprogrammed batch operating system.

  • interative systems (time-sharing): CTSS (MIT); MULTICS; Unix.

  • (proprietary) general usage operating systems.

  • real-time systems.

Multiprogrammed batch

Multiprogrammed batch – while a job is waiting for the conclusion of an input/output operation, another job can use the processor.

  • the approach is known as multiprogramming or multitasking.

Scheduling, resource management and hardware support are required.

  • monitor and all user programs (jobs) must be simultaneously in memory.

  • interrupt and DMA I/O are needed to accomplish the I/O operation.

  • what job to dispatch next?

Good processor utilization.

  • but there is no direct user interaction with the computer.

Time-sharing

Time-sharing – keeping different users, each one in a different terminal, in direct and simultaneous connection with the system.

  • when computers were big and costly, the option was to share them.

Using multiprogramming, the processor is successively assigned to the execution of the various programs present during very short time intervals (time quantum).

  • since a human response, when compared to a computer, is slow, the illusion that the system is entirely dedicated to every user is created.

Differences with multiprogrammed batch.

  • try to minimize response time instead of maximize processor use.

  • directives to OS given by user commands instead of job control language commands.

In addition to memory protection and privileged instructions, file access protection and resource (printers, . . . ) contention are issues to be considered.

Real-time operating systems

Purpose – use the computer in the online monitoring and control of physical processes.

Method – variant of an interactive system that allows to impose maximum limits to the response times of the computational system to different classes of external requests.

4th and 5th generations

PeriodTechnologyFeatures

4th generation

1980–present

  • LSI/VLSI.

  • personal computers (microcomputers).

  • network.

  • standard operating systems (MS-DOS, Macintoch, Windows, Unix).

  • network operating systems.

PeriodTechnologyFeatures

5th generation

1990–present

  • broadband, wireless.

  • system on chip.

  • smartphone.

  • mobile operating systems (Symbian, iOS, Android).

  • cloud computing.

  • ubiquitous computing.

Network operating systems

Purpose – take advantage of the interconnection facilities of computer systems (at the hardware level) to establish a set of services common to an entire community.

Services – file transfer (ftp); access to remote file system (NFS); resource sharing (printers, etc.); access to remote computational systems (telnet, remote login, ssh); e-mail; access to the world wide web (browsers).

Distributed operating systems

Purpose

Take advantage of the facilities for constructing multiprocessor computing systems, or for interconnecting different computational systems, to establish an integrated interaction environment where the user views the parallel computing system as a single entity.

Methodology

Ensure a complete transparency in the access to processors or other resources of the distributed system, in order to allow.

  • static/dynamic load balancing.

  • increasing the speed of processing by incorporation of new processors or new computational systems.

  • parallelization of applications.

  • implementation of fault tolerance mechanisms.

Last updated