Operating Systems Chapter 1: Introduction
Operating Systems Chapter 1: Introduction
Chapter 1: Introduction
General Info
Course Prerequisites
Data Structures.
Required Readings
Silberschatz, Abraham, Galvin, Peter and Gagne, Greg,
(2012). Operating System Concepts, Ninth edition, New York,
NY: John Wiley & Sons. (required).
Andrew Tanenbaum, Modern Operating Systems, Prentice
Hall. Second Edition. (only specific sections of the book will
be required for special topics).
Contents
Project 40%
Midterm 30%
Final 30%
GOOD LUCK!
Chapter 1: Introduction
OS is a resource allocator
Manages all resources
Decides between conflicting requests for
efficient and fair resource use
OS is a control program
Controls execution of programs to prevent
errors and improper use of the computer
Operating System Definition (Cont.)
It is an extended machine
Hides the messy details which must be
performed
Presents user with a virtual machine, easier to
use
It is a resource manager
Each program gets time with the resource
Each program gets space on the resource
History of Operating Systems
Introduction of transistors
Programs were first written on paper in the FORTRAN
language then they were translated into punched cards.
After the program had finished, a human operator would
take the result and take it into the output room.
Batch system
A collection of jobs given in input
IBM 1401: read cards, copy tapes, print output
Large 2nd generation computers with operating systems
Programmed in Assembly and Fortran
FMS: Fortran Monitor System
IBSYS: IBM operating system for 7094.
History of Operating Systems (1)
Multiprogramming system
three jobs in memory – 3rd generation
3rd generation 1965 – 1980
Integrated Circuits
IBM: OS/360
Weakness: all software including the OS would run on all
models
Millions of lines of code written by hundreds of
programmers
Spooling
Copy jobs from cards onto disk
Whenever a running job finishes, load a new one
Time-sharing systems
CPU allocation in turn to different jobs
CTSS: Compatible Time Sharing System
Developed at M.I.T on a specially modified 7094.
3rd generation 1965 – 1980
Multics: MULTIplexed Information and Computing Service
Written in PL/I
Introduced seminal idea into the computer literature
DEC PDP-1
Only 4k of 18-bit words
120.000$
Culminating in PDP-11
Unix
KenThompson, wrote from PDP-7 a one-user version of
MULTICS.
BSD: Berkeley Software Distribution
System V: AT&T.
Posix, Minix, Linux.
Fourth generation 1980 – present
UNIX
Best for workstations, high-end computers, network
servers
Popular on machines with high-performance RISC chips
Linux is also going strong on Intel machines
X Windows
Graphical User Interface for UNIX developed at M.I.T.
Distributed Operating Systems
Network Operating Systems
The Operating System Zoo
Mainframe operating systems
Server operating systems
Multiprocessor operating systems
Personal computer operating systems
Real-time operating systems
Embedded operating systems
Smart card operating systems
Computer Startup
Computer-system operation
One or more CPUs, device controllers connect through
common bus providing access to shared memory
Concurrent execution of CPUs and devices competing for
memory cycles
Bus
Bus
Computer-System Operation
Synchronous Asynchronous
Device-Status Table
Direct Memory Access Structure
Main memory – only large storage media that the CPU can
access directly.
Secondary storage – extension of main memory that
provides large nonvolatile storage capacity.
Magnetic disks – rigid metal or glass platters covered with
magnetic recording material
Disk surface is logically divided into tracks, which are
subdivided into sectors.
The disk controller determines the logical interaction
between the device and the computer.
Storage Hierarchy
Distributed computing
Collection of separate, possibly heterogeneous, systems
networked together
Network is a communications path, TCP/IP most
common
– Local Area Network (LAN)
– Wide Area Network (WAN)
– Metropolitan Area Network (MAN)
– Personal Area Network (PAN)
Network Operating System provides features between
systems across network
Communication scheme allows systems to exchange
messages
Illusion of a single system
Computing Environments – Client-Server
Client-Server Computing
Dumb terminals supplanted by smart PCs
Many systems now servers, responding to requests generated
by clients
Compute-server system provides an interface to client to
request services (i.e., database)
File-server system provides interface for clients to store
and retrieve files
Computing Environments - Peer-to-Peer
Another model of distributed system
P2P does not distinguish clients and
servers
Instead all nodes are considered
peers
May each act as client, server or
both
Node must join P2P network
Registers its service with central
lookup service on network, or
Broadcast request for service
and respond to requests for
service via discovery protocol
Examples include Napster and
Gnutella, Voice over IP (VoIP) such
as Skype
Computing Environments - Virtualization
Silberschatz: Chapter 1.
Tanenbaum: Sections 1.1, 1.2, 1.3
Get slides from website
http://www.marenglenbiba.net/opsys/
Keep in mind
End of Chapter 1