Midterm Study Guide Prepared by Prof.
Harald Gjermundrød
DEPARTMENT OF COMPUTER SCIENCE
COMP-354 Operating Systems
- Quiz 1 – 5
- Practical Exercise Set: 2
Introduction and Operating System Structures
• Operating System “definition”
• Computer System Structure
• OS as a resource allocator vs control program
• Computer system operation
a. Interrupts (hardware and software), system calls, trap (exception)
b. Interrupt service routine and interrupt handling
• I/O basics
a. Device controller, operation, methods (blocking, non-blocking) and
their advantages, disadvantages
b. Interrupts
• Storage structure
a. Primary and secondary
• OS Protection mechanisms
a. Dual mode: Only kernel can use all the instructions of the CPU
i. I/O: User applications cannot access hardware directly, must
use system calls.
b. Memory protection: User processes can only access their memory
region
c. CPU protection: Use of timer to always be in control
• Operating System Operations
a. Bootstrap program
b. Multiprogramming (Batch system) vs Multitasking (Timesharing)
c. Process Management
d. Memory Management
e. File-system Management
f. Mass-Storage Management
g. I/O Subsystem
h. Protection and Security
• Computer System Architecture
a. Single Processor system: Only a single CPU with one core
b. Multiprocessors systems: Asymmetric Multiprocessing and Symmetric
Multiprocessing
c. Clustered Systems
• Computing Environments
a. Traditional
b. Mobile
1
Midterm Study Guide Prepared by Prof. Harald Gjermundrød
• OS services
a. Services for convenience of programmer and user
b. Services for ensuring the efficient operation of the system
c. How to use them
• System calls
a. Definition, functionality, difference between system call (function
provided via the API of the OS, like Win32) and library call (function
in a language library like iostream), parameter passing
• System Programs
a. What are they used for?
b. Difference between background services, system programs, and
application programs
• OS Structures (describe them)
a. Simple
b. Layered
c. Microkernel
Process Management
• Process Concept
a. Definition, PCB components, states (and the state diagram)
b. The different parts stored in RAM for each Process (Text, Data, Heap,
Stack)
• Process scheduling
a. Why is needed, context switching, queues, types of schedulers
• Operations on processes
a. Create, execution of parent and child processes, address space of
child process, fork(), exec() family, be able to explain code using
these calls
b. Terminate, exit(), abort(), cascading termination
• Cooperating processes
a. Types of processes regarding cooperation
• Interprocess communication (IPC)
a. Shared Memory
b. Message passing (direct, indirect), synchronization options
Thread Management
• Thread Concept
a. Motivation, TCB, user and kernel threads, thread pool
• Thread vs. Process
• Benefits of threads
• Multithreading models (M-to-1, 1-to-1, M-to-M)
• Fork() and exec() for threads
• Thread cancellation
2
Midterm Study Guide Prepared by Prof. Harald Gjermundrød
CPU Scheduling
• Scheduling Concept
a. Motivation, CPU burst vs. I/O burst
b. Preemptive scheduling
c. Nonpreemptive scheduling
• Scheduling algorithms
a. FCFS, SJF, Priority, RR
§ Preemptive and nonpreemptive (where applicable)
§ Be able to draw Gantt chart
§ Calculate the following values:
• waiting time
• average waiting time
• turn around time
• average turnaround time.
§ Advantages and disadvantages
b. Multilevel Queue Scheduling and Multilevel Feedback Queue
§ Explain both and be able to compare them
The exam will test both your knowledge in the above
material as well as your critical thinking.