(Latest Revision -- 10/26/2001)
(10/26/2001: Assigned HW #4)

Homework Problems for CS 3750

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

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.

Put things into your own words. Do not copy, quote, or closely paraphrase the textbook or other people's writings.

Write so as to be understandable to a certain intended readership -- an intelligent person who has completed the prerequisites for CS 3750 but who has not yet taken CS 3750.


Send e-mail to: john@ishi.csustan.edu

Homework Assignment #1.

Due Monday, September 17

Chapter #01 -- Introduction Chapter #02 -- Computer System Structures
  1. The HAL 3000 computing system has a primary memory X and a secondary memory Y. HAL also has a cache C that it uses to reduce the average time required to move a word of data from Y to X. Write a pseudo-code algorithm for a function read(A, B) that places a copy of the word at address B in Y into the word at address A in X. (Your algorithm does not have to be very detailed, but it is important that you show you understand how to properly select and sequence the cache-maintenance actions and the memory-transfer actions.)

  2. The summary section of the second chapter states: "Multiprogramming and time-sharing systems improve performance by overlapping CPU and I/O operations on a single machine." Suppose that initially in such a system there is no I/O occurring and a user-program is executing in the CPU. What chain of events would typically change that situation into one where a user-program is executing and I/O is occurring simultaneously? When you answer this, don't skimp on details. Show me that you learned the information in the text that applies here.

Homework Assignment #2.

Due Monday, October 01

Chapter #03 -- Operating System Structures Chapters #04 & #05 -- Processes and Threads
Homework Assignment #3.

Due Wednesday, October 17

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

Due Friday, November 09

Note: I will collect this homework on Friday, November 09 and then I will immediately discuss the answers. However, I will not pass back the homework until after you take your exam on Wednesday, November 14, or later. I advise you to make a second copy of the homework, take notes on Friday when I discuss the solutions, study from the copy and notes over the weekend (also study from other review materials), and then come in on Wednesday and take the exam. (Monday, November 12 is a holiday.)

Chapter #08 -- Deadlocks Chapter #09 -- Memory Management Chapter #10 -- Virtual Memory NOTE: The statement of problem #10.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.