Spring 25, CSCI 447, Test 1 Review
Bring your WWU Id card with you to the test.
Quick Review: Chapters 1 to 8, basic RISCV.
This review is produced to help you study. This is
not a guarantee that all topics are listed in the
following topic review list.
Topic Review:
- Chapter 1: Introduction
- What is an OS?
- Computer Systems architecture
- Primary Hardware Mechanisms
- Basic Issues for OSes
- Open Source OSes
- Chapter 2: Operating-System Structures
- OS Services
- Kernel Vs. "User Land"
- Utilities
- System Calls
- Library Routines
- General OS Design Goals
- General OS System Structures (e.g. big mess)
- Virtual Machines and OSes
- Real OS Debugging issues
- Computer Boot Process
- Chapter 3: Processes
- Early Run Model -- "on the metal"
- Multiprogramming basics
- Process Abstraction
- Process States
- Process Control Block
- Basic Scheduling
- Ready Queue
- Device Queues
- Dispatch
- Policy vs Mechanism
- Process Creation: clone vs new process
- Parent process options
- Process Termination
- Orphan processes
- Interprocess Communication
- Shared Memory vs Messages
- Chapter 4: Threads
- Why Threads
- CPU State: PC, Registers
- Process Threads
- User Level
- Kernel level
- Thread Models
- Many to one
- One to one
- M to N
- Threading issues
- fork/exec
- thread cancellation
- signal delivery
- thread pools
- thread specific data
- Chapter 5: CPU Scheduling
- CPU Switch -- causing the CPU to switch threads
- Switch and PCB issues
- Basic Job CPU burst paradigm
- CPU Scheduler
- Kinds of scheduling
- Scheduling Algorithms
- First-come, First Served
- Shortest Job First
- Priority Scheduling
- Round Robin
- Multilevel Queue Scheduling
- Thread Level Scheduling
- User Threads
- Kernel Threads
- Multi-processor Scheduling
- Processor Affinity
- Load Balancing
- Chapter 6: Process Synchronization
- Critical Sections
- Mutexes
- Software Solutions
- Hardware Solutions
- Semaphores
- Monitors and Condition Variables
- Chapter 7: Synchronization Examples
- Bounded Buffer
- Readers-Writers
- Dining-Philosophers
- Synchronization in Windows, Linux, POSIX and Java
- Chapter 8: Deadlocks
- Resource management
- Resource use and locking
- Deadlock conditions
- Handling deadlocks
- Deadlock Prevention
- other topics in Deadlock discussed in class
- RISCV
- RISCV Boot Process
- Basic Architecture
- Console read/write from Assignment 1
- Synchronization code from Assignment 2
- Don't forget to read the sections you are requested to
read on the slides.
Example multiple choice questions.
XX. (3 points) Thread specific data is
- the same as global variables.
- unique variables with different names for each thread.
- variables with unique values on each thread.
- not important
YY. (3 points) Processor affinity is used in
- process creation.
- load balancing.
- single CPU scheduling.
- multiple CPU scheduling.
ZZ. (6 points) What are the four requirements for deadlock
Last modified: April 23, 2025