1.1 What is an Operating System?
Computer Computer
Computer = +
Software Hardware
Computer System Application
Software = Software + Software
Application Software
Computer Games Word Processor
Interbet Browsers
Databases
SpreadSheets
System Software
E-Mails
Operating
Utilities System
Hardware
Disks
CPU Mouse
Printer
1.1 What is an Operating System?
Computer Hardware
a comprehensive term for all of the physical parts of a computer
Example: CPU, mouse, hard drive, printer, monitor, memory, etc.
Application Software
Computer Games Word Processor
Interbet Browsers
Databases
SpreadSheets
System Software
E-Mails
Operating
Utilities System
Hardware
Disks
CPU Mouse
Printer
1.1 What is an Operating System?
Computer Hardware
System Software
Provides a general programming environment in which
programmers can create specific applications to suit their needs
It acts as an interface between the hardware of the computer and
the application software that users need to run on the computer.
Application Software
Computer Games Word Processor
Interbet Browsers
Databases
SpreadSheets
System Software
E-Mails
Operating
Utilities System
Hardware
Disks
CPU Mouse
Printer
1.1 What is an Operating System?
Computer Hardware
System Software
Application Software
Consists of a collection of programs used by various uses for
performing different tasks.
Examples: spreadsheets, database systems, desktop publishing
systems, program development software, and games.
This software is designed to solve a particular problem for users
Application Software
Computer Games Word Processor
Interbet Browsers
Databases
SpreadSheets
System Software
E-Mails
Operating
Utilities System
Hardware
Disks
CPU Mouse
Printer
1.1 What is an Operating System?
The most important part of System Software is the
Operating System
Operating System = Software program that manages all
the available hardware resources on
a computer
An Operating System acts as an intermediary/interface
between a user of a computer and the computer hardware
1.2 Operating System’s responsibilities
Operating System has three main responsibilities:
1) Perform basic tasks such as
recognizing input from the keyboard
sending output to the display screen,
keeping track of files and directories on the disk,
controlling peripheral devices (e.g. disk drives and printers)
2) Ensure that different programs and users running at
the same time do not interfere with each other.
3) Provide a software platform on top of which other
programs (i.e. application software) can run
1.3 Characteristics of a typical OS
Operating System must support the following
Concurrency
Activation of several processes (apps.) at the same time
Sharing
Resources should be shared between running processes
Non-shareable (e.g. printer) and shareable resources (e.g.read only files)
Long term storage
Data is not lost after turning off the computer
Also desirable to provide the following:
Efficiency
Reliability
Maintainability
Small size
1.4 Operating Systems - Brief History
The first generation of computers (1945 – 1955)
Had no operating systems
Only one program was run on the computer at a time.
The programmers would load manually the program they
had written (on punched cards) and run it.
Very few computer, many other people waiting for their turn
to run their program = > may wait several days to run your
program!
1.4 Operating Systems - Brief History
The second generation of computers (1955 – 1965)
Mainframe era
Big machines (called mainframes) were locked away in specially air
conditioned computer rooms, with staffs of professional operators to
run them.
Very expensive machines with a multimillion dollar price tag
As technology advanced => many programs were all loaded
onto a single tape using a small computer.
This tape was then loaded on the mainframe machine and
manipulated by program called logically monitor
The logically monitor monitors the behaviour of the running
program. If the program crashed, the monitor immediately
loads and runs another program.
Logically monitor is the ancestor of today's operating
systems
1.4 Operating Systems - Brief History
The third generation of computers (1965 – 1980)
Early 1960s, computer manufacturers had totally
incompatible product lines, with primitive operating
systems specific to a particular hardware
IBM attempted to solve this problem by introducing the
System/360 “family”
A series of software-compatible machines that differed only in price
and performance (maximum memory, processor speed, number of
I/O devices permitted)
It included a single operating system, OS/360
1.4 Operating Systems - Brief History
The third generation of computers (1965 – 1980) (cont)
New techniques were added to the operating system
Multiprogramming (useful with I/O jobs)
Spooling (Simultaneous Peripheral Operation On Line) - read jobs
from cards/tapes onto the disk while a job is running
Timesharing, a variant of multiprogramming, in which each user has
an online terminal
1970s:The UNIX operating system was developed at AT&T
Bell Laboratories
Multiuser, Multitasking, Multichoice operating system
1.4 Operating Systems - Brief History
The Fourth generation of computers – Personal Computers (PCs) (1980
– Present)
Early 1980s: IBM designed the IBM PC and looked around for an operating
system to run on the PC
Bill Gates buys DOS (Disk Operating System) from Seattle Computer
Products, modifies it => MS-DOS (MicroSoft Disk Operating System).
MS-DOS dominates the PC market =>more advanced features are added
(many taken from UNIX)
Microsoft decides to build a successor to MS-DOS => GUI-based system
called Windows, which originally ran on top of MS-DOS (1985-1995)
1995: a freestanding version of Windows, Windows 95, was released
incorporates operating system features into it
It uses the underlying MS-DOS only for booting
1998: a slightly modified version => Windows 98
Another Microsoft operating system: Windows NT (NT stands for New
Technology),
1.5 How do we choose an OS?
What do you have?
Existing hardware
Do you want to keep it or upgrade?
Software you currently use
Do you want to keep it or upgrade?
Your knowledge level
Will you need to learn to use a new environment ?
Budget
What can you afford to spend?
What do you want?
1.5 How do we choose an OS?
What do you want?
Security
Logon password protected
Security services
Reliability
How much does a crash matter for you and your business?
How fault tolerant is the Operating system
Responsiveness
How much does speed matter?
How fast is the OS ?
What hardware is needed to achieve required speed?
1.5 How do we choose an OS?
What do you want?
Type of user interface
Are you already familiar with one?
Is it worthwhile learning a new one?
New software you want to use
Does it require a particular platform?
Would the new software run better on a particular platform?
Software that others in your organisation use
Make communication/ sharing with others easier
Capitalise on knowledge existing in your organisation
1.5 Examples of Operating Systems
Windows
Windows 95,98,ME, ( Microsoft)
Based on MS-DOS
Windows NT ( Microsoft) (1993)
Windows 2000, Windows XP,
Windows Vista (Jan 2007)
Latest version: Windows 7 (Oct 2009)
MAC OS ( Apple)
Solaris (Sun)
UNIX ( Free Software Foundation)
LINUX (a PC version)
RedHat
Ubuntu
1.7 Unix - Introduction
Unix heritage
1960’s: Initially designed as fun project (AT&T Bell Labs) .
Thompson’s ‘Space Travel’ game - Kernighan & Ritchie,
UNIX OS written in B language is produced for the game and distributed to
colleges & universities
1973: Unix is rewritten in ‘C’ language for speed and portability
Designed to be command line system
1984: Free Software Foundation created
It aims to reproduce all UNIX in a version free of licensing
1991: Linus Torvalds starts development of LINUX – a version of
UNIX for the PC
1.7 Unix - Introduction
Unix like Operating Systems
Linux: Free, open software, various distributions (Red Hat,
Ubuntu)
Solaris: Sun Microsystems
SCO UNIX and UNIXWARE: SCO -Santa Cruz Operation
System V Release 5: SCO ( Santa Cruz Operation)
HP_UX: Hewlett Packard
AIX: IBM
A/UX: Apple
1.7 Unix - Introduction
Unix main characteristics
Open source code
Source code is available to users and programmers to be modified if
required
Fosters evolution, customisation, compatibility
Multi-tasking
More than one application can run at the same time
Multi-user
More than one user can login and use it
Portability
Most OSs are written in Assembler, specific for an architecture. VERY
difficult to 'port' these OSs to other architectures.
UNIX is mostly written in the C language, allowing it to be portable to
many architectures.
UNIX runs on more architectures than any other OS, (from that time)
1.7 Unix - Introduction
Unix main characteristics
Network Capabilities
Support internet connections.
Supports network applications to be run (e.g. web browsing application)
Various Software Availability
Tools and Utilities provided, are simple and powerful
Virtual Memory support
It can run programs that require bigger memory space than amount of
RAM (main memory) the computer actually has!
1.8 Structure of an Operating System
Memory Mgt
S ys tem
N uc leus
Hardware
Each layer provides a set of functions dependent only on
the services provided by the system layer within it
We will talk about each layer in the next lectures