You are on page 1of 12

1.

Introduction
1. Operating system - introduction
operating system: no clear definition

layer of software above hardware → virtual machine interface

easier use and understanding of the system

similar to the interface of a car

set of functions

controlling the devices

interrupt service routines

Interrupt: signal emitted by hardware or software when a process or event


needs immediate attention

alerts the processor to a high-priority process

software interrupts: traps/exceptions

interrupt instructions → the processor stops what it’s doing and


switches over to an interrupt handler code

hardware interrupts

ensures a proper and efficient system functioning

1. Introduction 1
significant development affecting the various components through the years

technological aspect (valves and relays → VLSI circuits)

architectural aspect (processor speed, memory hierarchies)

aspect of programming languages

the tuned management of all resources is largely responsible for


success/failure

resources: processor, memory, input/output devices, etc.

the concept of operating systems is linked to three different ideas

user/programmer - functional vision

set of functions to use the resources of the machine

system: virtual machine

system designer

controlling the machine’s resources efficiently

operating system implementation

administrator

not dealing with the full architecture of the system

2. Functional vision of operating systems


system call interface: basic interface of the operating system

user mode/kernel mode

kernel mode automatically switches back to user mode after finishing the task

the end user sees the computer system in terms of applications

applications are developed by application programmers

applications take advantage of a set of tools and services

libraries of functions (mathematical functions, etc.)

these are typically not part of the operating system

1. Introduction 2
3. Functions of an operating system
program execution

running a program → loading of instructions and data into main memory,


initialization of files and I/O devices

control of I/O devices

devices require their own set of instructions and control signals to operate

I/O registers

status register

contains information: is the device ready or not?

data register

getting data from the device

control register

access to files

files reside in nonvolatile memory - disks and flash drives

system access control

control the access to system resources based on the rights defined for each
user

detecting and responding to errors

1. Introduction 3
hardware errors (memory or device access error)

software errors (arithmetic overflow, attempt to access a forbidden memory


position)

hardware components detect the error → communicates to the operating


system → operating system gives response

ending the program that caused the error

retrying the operation

reporting the error to the application

accounting

tracking operations and accesses, collecting data regarding resource usage

useful for:

future improvement

improving the system’s performance

billing purposes

discovering an attacker

4. Operating system interfaces


User interface
command interpreter (shell in Unix)

usage form specified in a manual

intuitive concepts and objects (icons, pointers, mouse clicks, drag and drop, etc.)

Administration interface
administrator of the computer system

installing, maintaining and managing

specific tools and functions only used by him

1. Introduction 4
Programming interface
accessing operating system services, the system call service

specific to the operating system

usually the programmer does not directly use operating system calls, but specific
library functions of a language

eg. printf in C

5. Evolution of operating systems


Batch systems
earliest operating systems (1950s): monitors

input data: punch cards

control cards with orders for the monitor

last card: return order

Multiprogrammed systems
more efficient use of the CPU

loading multiple programs in memory

when a program needed to wait for an I/O, the processor could execute another
program

developed in mid 1960s, basis of modern operating systems

drawback: processes need to wait for the CPU even if they need only a short time to
execute

eg. P1 takes 1 hour to execute, P2 takes only 15 seconds → P2 still needs to


wait 1 hour

Time-sharing systems
interactive operating mode

1. Introduction 5
essential in the processing of transactions or queries

must provide a response time

introduced in the second half of the 1960s

the system runs programs in short bursts of computation time (quantum)

shared processor

Windows, Linux

Teleprocessing system
transmitting information

using special wiring - prone to errors → necessary to develop more


sophisticated communication protocols

Personal systems
cheaper hardware and advent of microprocessor in the late 1970s → dedicated
system for a single user

operating system is single-user (no protection mechanisms) and single-tasking

Networked systems
standard protocols (TCP/IP)

personal computers can communicate with each other

no central computer, but a set of computers that are connected

if a computer in the network provides access to a resource, then it is the server of


that resource

remaining computers: clients - client-server protocol

distributed systems

Mobile systems
smaller personal computers with battery and wireless network

1. Introduction 6
smartphones

6. A classification of operating systems


Monoprogrammed/multiprogrammed
also known as single-tasking/multitasking

monoprogrammed

the execution of a program has to finish for the start of a new one

primitive operating systems

multiprogrammed

from 1965

several programs run concurrently

concept of process (or task)

multithread systems

multiprocessing

allowing the concurrent execution of programs to be parallel

multiprocessor operating systems control these systems

time slot for processes

processes run for a short time one after the other

Single-terminal/multiterminal
multiterminal operating system: ready to be connected simultaneously from different
terminals

time-sharing systems are multiterminal (eg. Unix)

systems made for personal computers are single-terminal (MS-DOS, Windows


95/98)

1. Introduction 7
Single-user/multiuser
multiuser system

user authentication, managing user accounts

privacy and integrity

Unix

single-user

first operating systems for personal computers

mobile phones

7. The operating system market


Proprietary operating systems
designed for a specific architecture, providing necessary updates

creates a closed world

competitors don’t know the architecture, customers are dependent

IBM systems, Digital VAX VMS, Apple Mac systems, Windows

Open source operating systems


appeared with the advent of Unix (1970s)

portable operating system at the source code level

contradictory effects

wide dissemination of the system

resulted in slightly modified systems, not fully compatible with each other

System V, BSD, AIX, Solaris, Linux

POSIX specification: reference in the Unix world

Free software

1. Introduction 8
the software adapts very dynamically to specific problems

the development of new products is very fast

Real-time operating systems


response times are limited by a deadline

after the deadline, the response is invalid or catastrophic (stability control of a


car)

often these systems are embedded in more complex systems

heart pacemaker, airline traffic control system

Embedded systems
increasingly present

appliances, cars, industrial plants, robots

physical constraints, real time requirements

mobile devices

conventional operating systems have been adapted to the constraints (size and
power)

Microsoft Windows, Apple iPhone OS, Palm OS

specific systems have been developed

Symbian OS, Google Android

8. Examples of operating systems


IBM mainframe operating systems
dominant computer company for many years

first major operating system: OS/360 (1964)

complex batch operating system

1. Introduction 9
MVS (1974)

provided virtual memory

introduced the concept of virtual machine

running multiple copies of the operating system into independent logical


partitions

today it’s part of the z/OS system

VMS from Digital


1970s: cheapened costs of computers

minicomputers appear

VAX-11 architecture, VMS operating system (1977)

adaptability to the diverse hardware support level of the different


implementations of the VAX architecture, especially virtual memory

file system manages file versions

The Unix family


start of development: 1970, Bell Laboratories at AT&T

completely rewritten in 1972 in C

first operating system written in a high level language

free distribution

many universities and companies used it

lot of ramifications

Ultrix (Digital), Xenix (Microsoft), AIX (IBM), HP-UX (HP)

two families

System V (AT&T)

BSD (University of Berkeley)

unified in the System V Release 4 → Solaris

1. Introduction 10
available for PCs

commercial versions: SCO, Santa Cruz

freely distributed: Linux, FreeBSD

multiprogrammed, multiuser, multi-terminal

supports various interfaces (alphanumeric and graphical)

Microsoft: from MS-DOS to Windows NT


MS-DOS
August 1981: IBM markets its first PC with MS-DOS as operating system

facts behind the success

1. Introduction 11
appearance

compatibility with previous versions

less developed than others from their competitors

Windows 95/98
redesigned Windows 3.11

multitasking, memory protection and 32-bit addressing

remaining compatible with previous versions

Windows NT/2000/XP/Vista/7
1988: Windows hired Digital engineers → Windows NT (New Technology)

client/server architecture

2001: Windows XP

specific version for home use

versions for 64-bit processors

2007: Windows Vista

2009: Windows 7

Mac OS
1984: Macintosh, Mac OS operating system

cooperative multiprogramming

relatively high price, closed system strategy

1999: version 9

2000: Mac OS X

adapted for mobile devices → iOS

1. Introduction 12

You might also like