(Latest Revision -- 11/05/00)
11/05/00: Added Assignment #5
10/28/00: Clarified the statement of a problem in Assignment #4
10/24/00: Moved back due date for Assignment #4
10/17/00: Added Assignment #4

Homework Problems for CS 3750

You'll get good grades on the homework if you show mastery of the material. Give thoughtful and complete answers. Explain your answers so as to demonstrate and prove to a skeptical reader that they are correct.

Doing the homework will be likely to raise your course grade by one full letter grade (e.g. from C to B, or from B to A).

Directions for homework submissions

All homework submissions must be in 70-column format. Send the e-mail to: john@ishi.csustan.edu

Homework Assignment #1.

Due Tuesday, September 19

Chapter #01 -- Introduction
  1. What actions does an operating system perform?
  2. What services does an operating system provide?
  3. What forces have driven the development of operating systems?
  4. What are the main differences between operating systems for workstations like the Ultra's in our lab and operating systems for personal computers?
Chapter #02 -- Computer System Structures
  1. Explain how system calls are implemented.
  2. Discuss traps and interrupts. What are they? How are the two related?

Homework Assignment #2.

Due Tuesday, October 3

Chapter #04 -- Processes Chapter #05 -- CPU Scheduling
Homework Assignment #3.

Due Tuesday, October 17

Chapter #06 -- Process Synchronization Chapter #07 -- Deadlocks
Homework Assignment #4.

Due Thursday, November 02

Chapter #06 -- Process Synchronization Chapter #07 -- Deadlocks Chapter #08 -- Memory Management Chapter #09 -- Virtual Memory NOTE: The statement of problem #9.10 may be confusing. To clarify: there is only a total of three page frames available to the process. One of the frames contains the code. The other two frames are available to hold pages of the array data.

Homework Assignment #5.

Due Thursday, November 16

Chapter #10 -- File-System Interface Chapter #11 -- File-System Implementation Chapter #15 -- Network Structures Chapter #16 -- Distributed System Structures
  1. Define Network Operating System

  2. Define Distributed Operating System

  3. Define Remote Procedure Call and give some details explaining how RPC is implemented.

  4. Explain the concept of clustering as it relates to creating scalable distributed systems.