Notes - 1 Introductory Lecture
Notes - 1 Introductory Lecture
Operating Systems
Operating
System
Concepts
7th edition
by Avi Silberschatz
Reference Book:
Operating Systems
Internals and Design
Principles
by William Stallings
13A-2
Course Website and Contacts
CMS Website:
Operating Systems Website
http://web.uettaxila.edu.pk/cms/teOSbsAU09/
Email Correspondence:
[email protected]
13A-3
Course Outline
Chapters
Part 1: Overview
1. Introduction
2. Operating-System Structures
Part 2: Process Management
3. Processes
4. Threads
5. CPU Scheduling
6. Process Synchronization
7. Deadlocks
13A-4
Course Outline
Chapters
Part 3: Memory Management
8. Main Memory
9. Virtual Memory
Part 4: Storage Management
10. File-System Interface
11. File-System Implementation
12. Mass-Storage Structure
13. I/O Systems
13A-5
Course Outline
Chapters
Part 5: Protection and Security
14. Protection
15. Security
Part 6: Distributed Systems
16. Distributed System Structures
17. Distributed File Systems
18. Distributed Coordination
Part 7: Special-Purpose Systems
19. Real-Time Systems
20. Multimedia Systems
13A-6
Course Outline
Chapters
Part 8: Case Studies
21. The Linux System
22. Windows XP
23. Historical Perspective
13A-7
Chapter 1: Introduction
• What Operating Systems Do
• Computer-System Organization
• Computer-System Architecture
• Operating-System Structure
• Operating-System Operations
• Process Management
• Memory Management
• Storage Management
• Protection and Security
• Distributed Systems
• Special-Purpose Systems
• Computing Environments
Objectives
• 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.)
• No universally accepted definition
• “Everything a vendor ships when you
order an operating system” is good
approximation
– But varies widely
• “The one program running at all times
on the computer” is the kernel.
Everything else is either a system
program (ships with the operating
system) or an application program
Computer Startup
• bootstrap program is loaded at power-
up or reboot
– Typically stored in ROM or EPROM,
generally known as firmware
– Initializates all aspects of system
– Loads operating system kernel and starts
execution
Computer System Organization
• 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
Computer System Organization
Computer-System Operation
• I/O devices and the CPU can execute
concurrently.
• Each device controller is in charge of a
particular device type.
• Each device controller has a local buffer.
• CPU moves data from/to main memory
to/from local buffers
• I/O is from the device to local buffer of
controller.
• Device controller informs CPU that it has
finished its operation by causing an interrupt.
Common Functions of Interrupts
• Interrupt transfers control to the interrupt
service routine generally, through the interrupt
vector, which contains the addresses of all the
service routines.
• Interrupt architecture must save the address
of the interrupted instruction.
• Incoming interrupts are disabled while another
interrupt is being processed to prevent a lost
interrupt.
• A trap is a software-generated interrupt
caused either by an error or a user request.
• An operating system is interrupt driven.
Interrupt Handling
• The operating system preserves the
state of the CPU by storing registers
and the program counter.
• Determines which type of interrupt has
occurred:
– polling
– vectored interrupt system
• Separate segments of code determine
what action should be taken for each
type of interrupt
Interrupt Timeline
I/O Structure
• After I/O starts, control returns to user program
only upon I/O completion. (Synchronous)
– Wait instruction idles the CPU until the next interrupt
– Wait loop (contention for memory access).
– At most one I/O request is outstanding at a time, no
simultaneous I/O processing.
• After I/O starts, control returns to user program
without waiting for I/O completion. (Asynchronous)
– System call – request to the operating system to allow
user to wait for I/O completion.
– Device-status table contains entry for each I/O device
indicating its type, address, and state.
– Operating system indexes into I/O device table to
determine device status and to modify table entry to
include interrupt.
Two I/O Methods
Synchronous Asynchronous
Device-Status Table
Direct Memory Access Structure
• Used for high-speed I/O devices able to
transmit information at close to memory
speeds.
• Device controller transfers blocks of
data from buffer storage directly to main
memory without CPU intervention.
• Only one interrupt is generated per
block, rather than the one interrupt per
byte.
Storage 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
• Traditional computer
– Blurring over time
– Office environment
• PCs connected to a network, terminals attached to
mainframe or minicomputers providing batch and
timesharing
• Now portals allowing networked and remote systems
access to same resources
– Home networks
• Used to be single system, then modems
• Now firewalled, networked
Computing Environments (Cont.)
Client-Server Computing
Dumb terminals supplanted by smart PCs
Many systems now servers, responding to requests generated by
clients
Compute-server provides an interface to client to request
services (i.e. database)
File-server provides interface for clients to store and retrieve
files
Peer-to-Peer Computing
• 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
Web-Based Computing
• Web has become ubiquitous
• PCs are most prevalent devices
• More devices are becoming networked to
allow web access
• New category of devices are invented to
manage web traffic among similar servers:
load balancers
• Use of operating systems like Windows 95,
client-side, have evolved into Linux, Windows
XP and Vista, which can be clients and
servers
The End
Questions?