California State University Dominguez Hills - Department of Computer Science

  Home  |  Syllabus  |  Outline  |  Homework  |  Lecture Notes  |  Tests  |  Contact  |   

 CSC 341- 01                Operating Systems                     Spring 2018

 

 

THE URL OF THIS PAGE IS http://csc.csudh.edu/suchenek/CSC341/homework.htm

Last revised May 9, 2018

This is a restricted-access website. The contents of this website, the links contained therein directly and indirectly, and the contents of the said links, are copyrighted. They are provided exclusively for access and non-profit educational use by the students currently enrolled in this course and for the duration of this semester. Any other use or any access or use by others, without authorization of the professor in this course and copyright holder or holders, is not allowed. No picture taking, videotaping, or recording without professor's prior permission is allowed in class.

Homework

All homework is no credit, except when indicated otherwise.

Watch for added or modified homework.

Exercises for
Chap. 1

p.49 ...
1.1, 1.5, 1.6, 1.7
(optional), 1.8, 1.9, 1.12, 1.19, 1.20, 1.21, 1.24, 1.25.

(A bit more challenging homework for smart students) Write a Java code for the implementation of interrupts as described here:
http://csc.csudh.edu/suchenek/CSC341/Implementation_of_interrupts.txt

Exercises for Chap. 2

p. 94 ...
2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.13, 2.15.


Exercises for
Chap. 3

p. 149 ...

3.3, 3.4, 3.8, 3.9, 3.18.

Exercises for Chap. 4

4.1, 4.2, 4.3.

Exercises for Chap. 5
  • ex. 5.1, 5.3, 5.8, 5.27, 5.31, 5.38, 5.39.
  • (A replacement for incorrect ex. 5.5) Show that if the wait() and signal() semaphore operations are not executed as system calls then mutual exclusion may be violated.
  • Implement TestAndSet method of Fig. 5.3 using Swap as the only synchronizarion primitive.
  • What's wrong with the definitions of wait and signal in Section 5.6 Semaphores? Give all reasons.
  • Exercise (hard): Modify the code of monitor DiningPhilosophers so that it allows construction of individual philosophers.

    It requires execution of the following statement for each philosopher:

    DiningPhilosophers Philosopher = new DiningPhilosophers();

    Then each philosopher invokes the operations pickup()‏
          and putdown() in the following sequence:

                  Philosopher.takeForks ();

                       EAT

                   Philosopher.returnForks ();

Exercises for Chap. 6

6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.10, 6.14, 6.16, 6.19, 6.20, 6.21, 6.24.

Exercises for Chap. 7

Ex. 7.1, 7.2, 7.3, 7.4, 7.9, 7.11, 7.17, 7.20, 7.23, 7.28, 7.29.


Exercises for Chap. 8

Ex. 8.1, 8.2, 8.3, 8.4, 8.5, 8.8, 8.14, 8.18, 8.19, 8.21, 8.31.


Exercises for Chap. 9

Ex. 9.2, 9.9, 9.11, 9.12, 9.13.

Exercise: Calculate the capacity and the average transfer rate of a maximally utilized 3-zone CAV disk, with one surface only, that rotates at 7,200 RPM and whose innermost track accomodates 32 sectors, 512 bytes each. Assume that the maximum (as opposed to actual) capacity of adjacent tracks differs by exactly 8 bytes. A simplistic and not-to-scale scheme of the disk is shown below.



Use the material in Disk_utilization_otimization_slides.pdf as a basis for your calculations. You can calculate the average transfer rate as the capacity of the entire disk divided by the time it takes to read the entire disk; ignore any seek and rotational latency times.

Exercises for Chap. 10

Ex. 10.5, 10.12, 10.13, 10.14, 10.15, 10.17.



Exercises for Chap. 11

Ex. 11.1, 11.2, 11.3, 11.4, 11.5, 11.15, 11.16, 11.17.


Exercises for
Chap. 14

Ex. 14.13, 14.14.


 

 


 

 

 Please, contact me right away if you have any questions.

 

 


Copyright © 2018 Suchenek - All rights reserved

 

 

 

1