Review Questions

For Silberschatz & Galvin, 4th Edition

======================================================================
Chapter One
======================================================================

What actions does an operating system perform?

What services does an operating system provide?

What forces have driven the development of operating systems?

List several major milestones in the development of operating
systems.

Discuss the operation of an old-fashioned batch system.

Explain control cards.

Explain distributed systems.

======================================================================
Chapter Two
======================================================================

Discuss the basic architectural components of a modern
computing system, such as cache, registers, ALU, CPU, system
bus, primary memory, device controllers, and hard disks.  How
are these elements typically structured and organized.  How do
they interoperate?

Explain interrupts and how the functioning of a modern
computing system depends on interrupts.

Explain DMA.

Explain privileged mode and privileged instructions. 

Discuss some important operating systems capabilities and the
hardware support required to implement them.

Explain system calls.

======================================================================
Chapter Three
======================================================================

Explain what a process is.

What are the services that an operating system provides in
relation to:

Process Management
Main-Memory Management
Secondary Storage Management
I/O System Management
File Management
Protection
Networking

Explain system calls

Discuss several approaches to designing an operating system.

======================================================================
Chapter Four
======================================================================

Explain processes and threads.

Explain process control blocks.

Explain ready queue and I/O queue.

Explain the roles of short term and long term schedulers.

Explain swapping and context switching.

Discuss some important Unix system calls.

Explain user-level versus kernel-level threads.

Explain the producer-consumer problem.

Discuss several styles of interprocess communication.

======================================================================
Chapter Five
======================================================================

Explain preemptive and non-preemptive scheduling.

Explain shortest-job-first (SJF) scheduling.  What does it
achieve?  When is it easy to implement, and when is it hard to
implement?

Explain "aging" and what the need for it is.

Explain round robin.

Explain symmetric multiprocessing.

Explain throughput, turnaround time, waiting time and response
time.