|
|
|
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
- Provide definitions for hte following terms:
- Process:
- Thread:
- 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.
- List the advantages and disadvantages for the direct and indirect
messaging models (i.e. naming schemes).
- What are some differences between tightly and loosely coupled
multi-processor (MP) systems?
- What are the two concepts that the process model embodies?
- Regardless of any performance benefit, why is a threading model useful?
- 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.
|