(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.
- Program code: Turn in a neat, compilable copy
by e-mail. No attachments, please. The e-mail must
be sent before midnight on the due date.
- Everything else: Turn in a hard copy. Double
space it. Use a font size from 10 to 14. The
printout is due on the desktop at the beginning of
class on the due date.
Send the e-mail to: john@ishi.csustan.edu
Homework Assignment #1.
Due Tuesday, September 19
Chapter #01 -- Introduction
- What actions does an operating system perform?
- What services does an operating system
provide?
- What forces have driven the development of operating
systems?
- 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
- Explain how system calls are implemented.
- Discuss traps and interrupts. What are they? How are
the two related?
Homework Assignment #2.
Due Tuesday, October 3
Chapter #04 -- Processes
pp. 120-121; #4.6 and 4.8.
Chapter #05 -- CPU Scheduling
Homework Assignment #3.
Due Tuesday, October 17
Chapter #06 -- Process Synchronization
Do the problem in file "hymanProb" in this
directory. Note the kind of specific "scenario"
required to solve the problem. Next do problem 6.6
on page 202 by giving a specific "scenario."
Chapter #07 -- Deadlocks
pp. 231-234; #7.4 and 7.5
Homework Assignment #4.
Due Thursday, November 02
Chapter #06 -- Process Synchronization
Chapter #07 -- Deadlocks
Chapter #08 -- Memory Management
pp. 231-234; #8.5, 8.7, 8.10, 8.16
Chapter #09 -- Virtual Memory
pp. 331-335; #9.3, 9.5, 9.10, and 9.18
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
p. 366-368; #10.4 and 10.13
Chapter #11 -- File-System Implementation
- pp. 392; #11.1 (Read the statement of the
problem carefully. Before beginning to
answer review the the text's description of
contiguous, linked, and indexed
allocation. Look at the diagrams on pages
374, 377, and 379. Assume that the
information in the "directories" in the
diagrams is part of the file's "control
block" and is thus assumed to be already in
memory.)
- Do the following problem, which is similar
to #11.4: Suppose a bit map is used to
implement the "free list" for file
allocation. Explain in detail why there
must always be a completely current version
of the bit map in RAM, plus a very recent
version on disk too.
Chapter #15 -- Network Structures
Chapter #16 -- Distributed System Structures
- Define Network Operating System
- Define Distributed Operating System
- Define Remote Procedure Call and
give some details explaining how RPC is
implemented.
- Explain the concept of clustering
as it relates to creating scalable
distributed systems.