CS422S: Operating Systems Organization (Spring 2003)


Home
Overview
Instructor
Graders
Notes
Homework
References

Assignments

Note: All homework assignments must be turned in at start of class. Only paper copies of the homework will be accepted.

Current

  • Project 4: Logging facility with persistent storage
    Project description:Project4
    Due: Midnight, Thursday 24 April, 2003

Old

  • Project 3: Simulating typical clock handler and callout queue processing
    Project description:Project3
    Due: Midnight, Thursday 27 March, 2002

  • Assignment 6: Memory Management
    Problems: Chapter 11: 1, 4 and 8
    Due: Start of class, Thursday 20 March.
  • Project 2: System performance measurements
    Project description:Project2
    Due: Start of Class, 20 February, 2003

  • Homework Assignment 5: Deadlock
    Problems: Chapter 10: 2, 5 and 7. Due: Tuesday 25 February, start of class.
    Solution: MSWord.

  • Homework Asssignment 4: Concurrency
    Problems: Chapter 8: 1, 5, 10 and 11. Chapter 9: 3, 4 and 7.
    Due: Tuesday 18 February, start of class.
    Solution: MSWord.

  • Assignment 3: Processes and Threads
    Due: Thursday, 6 February, must be turned in at start of class -- that is, do not email it but bring it with you to class.
    Solution: MSWord or pdf.

    Homework Assignment 3

    1. Provide definitions for hte following terms:
      1. Process:
      2. Thread:
    2. Describe the actions taken by the kernel to switch context between two processes. For example, assume there is one process, P1, that is currently running on the CPU (recall the state diagram). Now suppose that it is must block pending the completion of an I/O operation. A secong process P2 is on the Runnable queue. List the key steps that the kernel must do to change context from P1 to P2.
    3. List the advantages and disadvantages for the direct and indirect messaging models (i.e. naming schemes).
    4. What are some differences between tightly and loosely coupled multi-processor (MP) systems?
    5. What are the two concepts that the process model embodies?
    6. Regardless of any performance benefit, why is a threading model useful?
    7. In a multi-threaded application that has created 5 user-space threads, suppose one thread performed a blocking read system call to read the contents of a file. This would result in the entire process (and thus all the user-space threads) blocking. Could the threading library (i.e. the library that implements the user space threads) prevent this from happening? If so how, if not whay not?
  • Project 1: Introduction to process management and IPC
    Project description:Project1
    Due: Start of Class, 6 February

  • Assignment 2: Overview and devices
    Problems: Chapter 5, page 150: 1, 3, 4, 5 and 6
    Due: Thursday, 30 January at start of class.
    Solution: MSWord or pdf. A more detailed figure for problem 3 in chapter 5 is given in this MS powerpoint file.

  • Assignment 1: Introduction to C and pointers
    This assignment is designed to provide you with some initial experience with the C programming language, pointer use and building programs with make. To help you get started I am provied the following source file For this assignment you must complete the provided source code (pointers_422.c). In this file you will see comments with three XXXs, this indicates where you must add code.

    You are required to add code where indicated so that the programs output looks as described in a comment in the source file. You must use both malloc and calloc for allocating memory. If you need help with these or other functions use the man pages, for example try typeing man calloc on the command line.

    I am also providing a makefile, (Makefile) for you to use. This is intended to be a simple exercise and will provide you with an opportunity to "play" with C and learn the basic skills you will need for this course.

    Finally, I have a compiled (running) version of this program that you can use to compare your output. On hilton.cec (or any of the sparc computers) you can access the code in the direcory /home/cec/class/cs422/Assign1. There is one executable for Solaris and one for Linux.

    What to turn in: Nothing ... you must make an appointment with one of the TAs or myself and demonstrate you working code.

    Due date: Thursday evening, 23 January.


Last modified on Tue Jan 14 11:57:15 CST 2003 by fredk@arl.wustl.edu