Bilkent University Department of Computer Engineering CS342 Operating Systems
Bilkent University Department of Computer Engineering CS342 Operating Systems
Bilkent University Department of Computer Engineering CS342 Operating Systems
Chapter 1
Introduction
1
Outline and Objectives
Objectives
Outline
• To
What
provide
Operating
a grand
Systems
tour ofDo
the major operating systems components
• To
Computer-System
provide coverage
Organization
of basic computer system
• OS structure and operation
• Major OS Functions
– Process Management
– Memory Management
– Storage Management
– Protection and Security
• Computing Environments
2
Basic components of a computer system: place of
OS
• A computer system can be divided into four
components
– Hardware – provides basic computing and
storage resources
• CPU, memory, I/O devices
– Operating system
• Controls and coordinates use of
hardware among various applications
and users
– Application programs –solve the
problems of the users: use system
resources
• Word processors, compilers, web
browsers, database systems, video
games
– Users
• People, machines, other computers
3
What is an operating system?
4
Operating System Definition (as a software)
5
Computer System Organization and Operation
6
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
Network
cable
Network
adapter
Bus
7
Computer Startup
8
Computer system operation:
I/O and device interaction
• I/O devices and the CPU can execute concurrently
• Each device controller has a local buffer
– Data movement (I/O) between device and local buffer (by device)
– Data movement between memory and local buffer (by CPU)
• Device controller
informs CPU that it
has finished its
current output operation
or it has some input data
by causing
an interrupt
9
Hardware interrupts
10
Direct Memory Access Structure
• With DMA, device controller transfers blocks of data from device buffer
directly to main memory without CPU intervention
– Only one interrupt is generated per block, rather than the one interrupt
per byte
CPU
Main Memory
DMA
Device controls the transfer
Controller
Disk
11
Software interrupts
12
Interrupt-Driven OS
Kernel Code
hardware interrupt
13
Storage Structure
Spinning
secondary
Disk
storage
14
Storage Hierarchy
17
Computer System Architecture:
Single processor systems
• A lot of systems use a single general-purpose processor (CPU)
• or a limited number of CPUs
– Most systems have special-purpose processors as well
18
Computer System Architecture:
Multiprocessor systems
– Advantages include
1. Increased throughput
2. Economy of scale (cheaper than using multiple computers)
3. Increased reliability – graceful degradation or fault tolerance
19
Symmetric Multiprocessing Architecture (SMP)
20
A Dual Core Design
Single chip
21
Clustered Systems
• Like multiprocessor systems, but multiple systems working together
– Usually sharing storage via a storage-area network (SAN)
– Provides a high-availability service which survives failures
• Asymmetric clustering has one machine in hot-standby mode
• Symmetric clustering has multiple nodes running applications,
monitoring each other
– Some clusters are for high-performance computing (HPC)
• Applications must be written to use parallelization
PC
PC
SAN
PC
PC Storage
Disk
Operating System and Its Functions
23
Operating Systems: providing multiprogramming
25
Operating System: how it operates
• is interrupt driven
– Hardware interrupt causes ISR to run (which is a routine of OS)
– Software error or request creates exception or trap
• Division by zero, for example (exception)
• request for an operating system service (trap)
Exception handlers
27
Operating System: how it operates
28
Operating System: how it operates
29
Major OS Functionalities
• Process Management
• Memory management
• Storage (disk) management
– File concept, file mapping to disk blocks, disk scheduling
• I/O control and management
– Device derivers (doing I/O),
buffering,
providing uniform access interface
• Protection and security
– Controlled access to resources,
preventing processes interfering with each other and OS
30
Process Management
31
Memory Management
• All
Memory
data in
management
memory before
activities
and after processing
– Keeping track of which parts of memory are currently being used and by
whom
• All instructions in memory in order to execute
– Deciding which processes (or parts of a process) and data to move into
and out
• Memory of memorydetermines what is in memory, where and when
management
– Allocating and deallocating memory space as needed
32
Process Address Space
max
stack
a process Physical
Physical
(running Main
MainMemory
Memory
application) data RAM
Mapping RAM
(by OS)
a process has an
instructions
address space
(set of logical addresses
0
process is using)
address space
of the process
33
Storage Management
• File-System management
– Files usually organized into directories
– Access control on most systems to determine who can access what
• OS activities include
• Creating and deleting files and directories;
• Primitives to manipulate files/dirs;
• Mapping files onto secondary storage
34
Mass-Storage Management
• Mass Storage:
disk (secondary);
tapes,
CDs, tapes, etc. (tertiary)
• OS activities
– Free-space management; Storage allocation
– Disk scheduling
– Uniform naming ….
35
Performance of various levels of storage
36
Input/Output Subsystem
37
I/O Structure
System Call
– System call routine in OS performs the I/O via Routines
the help of device driver routines in OS. Kernel
Device Driver
– After issuing a system call, an application may
wait for the call to finish (blocking call) or may Device Controller
continue to do something else (non-blocking
call) Device
38
Protection and Security
39
Kernel Data Structures
• Lists • Trees
– Singly linked lists – Binary search tree
– Double linked lists – Balanced binary search tree
– Circular linked lists • Hash functions and hash tables
• Queues • Bitmaps
• Stacks
40
Different Types of Computer Systems and
Applications
(Computing Environments)
41
Computing Environments:
Distributing Computing
• Earlier systems executed tasks on a single system
– Now we have systems interconnected (networked)
together
• Enabling distributed computing, resource
sharing, etc.
42
Computing Environments
• Traditionally
mainframe computer
dumb terminals
43
Computing Environments
• Client-Server Computing
– Dumb terminals replaced 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
44
Peer-To-Peer Computing
45
Web Based Computing
Web HTTP
User Web server
browser
pages
46
Mobile Computing
47
Virtual Machines
48
Virtual Machines
Guest Guest
Guest OS
OS OS
VM1 VM2 VM3
Hardware
49
Cloud Computing
50
Cloud Computing
• Embedded Computing
• Embedded computers in car engines, robots, microware ovens, …
• They do specific tasks
• Little or no interface (no monitor)
• Some use general purpose processors (CPUs) and OSs (Linux)
• Some use ASICs – No OS
• OS is real time OS
– Rigid timing requirements for tasks to be performed
52
Open-Source Operating Systems
53
References
• Operating System Concepts, 7th , 8th , 9th , 10th editions, Silberschatz et al., Wiley.
• Modern Operating Systems, Andrew S. Tanenbaum, 3rd edition, 2009.
• These slides are adapted/modified from the textbook and its slides:
Operating System Concepts, Silberschatz et al., 7th, 8th, 9th. 10th editions, Wiley.
54
Additional Study Material
55
Migration of Integer A from Disk to Register
Main Memory
56