Exam 1

advertisement
Comp 354 Study Guide – Exam 1
Chapter 1 Introduction
1.1 What Operating Systems Do
Purpose, goals and functions.
Bootstrap process
1.2 Computer-System Organization
Components and connections
Interrupts, traps and interrupt vectors
I/O structure, DMA, device controllers
Storage structure – RAM, secondary storage, caching, device drivers
1.3 Computer-System Architecture
Multiprocessors, tightly vs. loosely coupled systems
Asymmetric vs. Symmetric multiprocessing
Clusters
1.4 Operating-System Structure
Multiprogramming, job scheduling
Timesharing, multitasking, time slices, CPU scheduling
1.5 Operating-System Operations
Role of interrupts, system calls
User mode and kernel mode
Timers, preemption
1.6 Process Management
Processes and threads
Process resources
Multiplexing and context switching
Process synchronization, communication and deadlock
1.7 Memory Management
Goals and activities
1.8 Storage Management
The file abstraction
Medium and device properties
Directory structure and access control
OS activities for storage management
Buffering and spooling
1.9 Protection and Security
User and group IDs, privilege levels
1.10 Kernel Data Structures
The usual suspects, bitmaps
1.11 Computing Environments
The usual suspects, client-server, virtualization, cloud computing
1.12 Open-Source Operating Systems
Role of open-source in OS – Linux, GNU
Chapter 2 Operating-System Structures
2.1 Operating-System Services
Command Line, GUI, Batch
Program execution, File system, I/O, communication, errors, debugging
Resource allocation, protection
How services provided
2.2 User and Operating-System Interface
Shells, commands, desktop metaphor
2.3 System Calls
Relationship to APIs
Implementation and parameter passing
2.4 Types of System Calls
Process control, File & device management, system information, communications, protection
2.5 System Programs
Types
Registry
Background vs. foreground, services and daemons
2.6 Operating-System Design and Implementation
Goals, policies and mechanisms
Languages used
2.7 Operating-System Structure
Layered approach
Microkernel vs. monolithic
Loadable kernel modules
2.8 Operating-System Debugging
Log files and core dumps
Tracing and profiling
Single step mode
Performance monitoring and tuning
2.9 Operating-System Generation - Omit
2.10 System Boot – already covered
Chapter 3 Processes
3.1 Process Concept
Components
Process state and state transitions
PCB and context switching
3.2 Process Scheduling
Scheduler and scheduling queues
Long term vs. short term
I/O-bound vs. CPU-bound
3.3 Operations on Processes
Parent and children processes
Process creation – fork and exec in Unix
Process termination
Multiprocess architecture
3.4 Interprocess Communication
Independent and cooperating processes
Shared memory vs. message passing
Producer-consumer problem – description only
Direct vs. indirect communication
Blocking vs. non-blocking
3.5 Examples of IPC Systems – nothing specific
3.6 Communication in Client-Server Systems
Sockets, RPCs and pipes
Chapter 4 Threads
4.1 Overview
Motivation for and benefits of threads
4.2 Multicore Programming
Dividing and balancing work, data splitting and dependencies
Parallelism and concurrency
Hyperthreading
Multithreaded processes
Amdahl’s law
User threads and kernel threads
4.3 Multithreading Models – omit
4.4 Thread Libraries
Two approaches
Pthreads – what is it?
4.5 Implicit Threading
Concept, thread pools, OpenMP
4.6 Threading Issues
How does fork work with threads
Signals and signal handling
Thread cancellation
4.7 Operating-System Examples
Linux threads
Download