( Latest Revision -- Wed Nov 20 12:05:16 PST 2002 )



11/20/2002: Reformatted the HW #4 assignment (no material change)

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.

If I don't feel that what you write is understandable to that audience then you will lose substantial credit.

Format

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


Homework Assignment #1.

Due Monday, September 16

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, September 30

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

Due Monday, October 21

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

Due Wednesday, December 4

Chapter #08 -- Deadlocks Chapter #10 -- Virtual Memory