CS3013/502 First Exam Topic Outline
Here is an outline of the topics that were covered for
the first exam:
- Introduction
- History
- Structure
- Concepts
- Processes
- Shells
- Files
- System Calls
- Processes
- Implementation
- Process control block
- Context-switching
- States (ready, running, blocked) and transitions
- Creation
- Scheduling
- FCFS, SJF, RR, Prio, Multi-level feedback queue ...
- Windows specifics (a bit)
- Linux specifics (a bit)
- Synchronization
- Critical sections
- Semaphores
- Monitors
- Message passing
- Software signals
- Classic synch problems
- Dining philosophers
- Readers/Writers
- Parallel Systems and Threads
- Simple Operating System
system.h
header file
Dispatcher()
for scheduling
TimerInterruptHandler()
for time-slices
use-proc-table.c()
for 2 processor support
semaphore.c
changes to implement semaphores
- Memory Management
- Simple
- Linking and Loading
- Variable and Fixed Partitions
- Paging
- Page Tables
- Associative Registers
- Multilevel Paging
- Inverted Page Tables
- Segmentation
- Virtual Memory
- Swapping and Demand Paging
- Page faults
- Page replacement algorithms
- Thrashing
- Paging tradeoffs
- Issues
- Project 1 - Mini Shell
- System Calls
exec()
fork()
wait()
getrusage()
gettimeofday()
- Implementation issues
- Project 2 - Mini Chat
- (Basic ideas, since not yet completed)
- System Calls
semcreate(), semattach()
shmcreate(), shmattach()
- Implementation issues
- synchronization of processes
Return
to the 3013/502 Home Page
Send all questions to the claypool at cs.wpi.edu.