100 likes | 218 Vues
This document provides a comprehensive overview of fundamental computer system concepts, including instruction execution, interrupts, memory hierarchy, caching, and locality. It further delves into operating system fundamentals, defining its objectives, evolution, and the distinctions between user and kernel modes. Sections explore process management, thread types, and the principles of concurrency, including race conditions, mutual exclusion, and synchronization techniques. By examining these core concepts, readers will gain an essential understanding of how computer systems and operating systems function and interact.
E N D
Chapter 1 Computer System Overview • Sections 1.1 to 1.6 • Instruction exe cution • Interrupt • Memoryhierarchy • Cache memory • Locality: spatial and temporal • Problem 1.10
Chapter 2 Operating System Overview • Sections 2.1 to 2.4 • Objectives and functions of OS • Evolution of OS • Dual-mode operations: user and kernel modes (what and why) • (hardware) interrupts [including timer, I/O, etc.] and (software) traps[including exceptions and system calls]
Chapter 3 Process Description & Control • Sections 3.1 to 3.5 • Process control block (PCB) • Process creation • Context switching (what and why) • Shell: internal vs. external commands • Processes and their relationships via ps –ef • UNIX signals • System calls • fork(), exec(), opendir(), etc.
Chapter 3 Processes Note that PID and process name may be different on different systems.
Chapter 4 Threads • Sections 4.1 to 4.2 • User-level threads vs. kernel-level threads • Hybrid threads • pthread program
User-Level vs. Kernel-Level Threads User-level threads vs. Kernel-level threads
Thread Scheduling scheduling of user-level threads vs. kernel-level threads
Chapter 5 Concurrency: Mutual Exclusion and Synchronization • Sections 5.1 to 5.7 • Race condition, critical section, and mutual exclusion • On a uniprocessor system, interrupt is the root of all evil • Hardware solutions: disable/enable interrupts, test&set, swap • Semaphore: binary and counting • Monitor and condition variables • Bounded buffer producer/consumer problem: • Both mutex and synchronization • Message passing: send/receive, blocking/nonblocking • Reader and writer problem
Chapter 5 Concurrency: Mutual Exclusion and Synchronization • Programming with pthread