Week 1 Lec 1
Week 1 Lec 1
(CSC 2205)
2
OUTLINES
3
COMPUTER SYSTEM
1. Hardware
2. Operating system
3. Applications programs
4. Users
4
LAYERED VIEW OF A COMPUTER SYSTEM
5
PURPOSE OF A COMPUTER SYSTEM
6
COMPUTER SYSTEM HARDWARE
Processor
System Bus
HD
Mem
Bus
8
OPERATING SYSTEM CONCEPTS
• Single-user systems
• Batch systems
• Multiprogrammed systems
• Time-sharing systems
• Real-time systems
• Interrupts, traps, and software interrupts (UNIX signals)
• Hardware protection
9
OPERATING SYSTEM STRUCTURES
10
PROCESSES
11
PROCESSES (CONTINUED)
12
THREADS
13
CPU SCHEDULING
• Basic concepts
• Scheduling criteria
• Scheduling triggers
• Scheduling algorithms
• UNIX System V scheduling algorithm
• Optimal scheduling
• Algorithm evaluation
14
PROCESS SYNCHRONIZATION
• Basic concept
• The Critical Section Problem
• Solutions for the Critical Section Problem
• Software-based solutions—the Bakery Algorithm
• Hardware-based solutions
• Semaphores
• Binary and counting semaphores
15
PROCESS SYNCHRONIZATION …
16
DEADLOCKS
• Basic concept
• Deadlock characterization
• Deadlock handling (prevention, avoidance, detection and recovery)
• Banker’s algorithm
17
MEMORY MANAGEMENT
• Basic concepts
• Various techniques for memory management
• Logical to physical address translation
• Swapping
• Contiguous memory allocation: MFT, MVT
• External fragmentation
• Paging
• Hardware support for paging
• Internal fragmentation
18
MEMORY MANAGEMENT
• Performance of paging
• Protection and sharing
• Page table issues: Multi-level paging, Hashed page tables, Inverted
page tables
• Segmentation
• Protection and sharing
• Segmentation with paging
• Intel P4 example
19
VIRTUAL MEMORY
• Basic concept
• Demand paging
• Page fault
• Performance of demand paging
• Page replacement
• Allocation of frames
• Thrashing
• Operating-system examples
• Other considerations (I/O locking, page size, …)
20
FILE SYSTEM INTERFACE
21
WHAT IS AN OPERATING SYSTEM?
22
OPERATING SYSTEM GOALS
23
ANY QUESTIONS ?
24