CMSC 412 Spring 2014
Corrections and clarifications for project #1
Project is due on Tuesday the 18th, the date in the handout is correct, but not the day of week.
Make sure you svn update after 2:30 pm Tuesday 2/11/14. Fixes include:
.submit file points to project P1 (2/9/14)
make program with -Werror to ensure warnings are treaded as errors to catch them (2/9/14)
user space processes having a name (2/11/14)
Reminder about process states for ps. 'R' means running or runnable. A running process is in state R and has a core number printed in front of it.
The protoype for Kill is in signal.h not process.c/h.
Helpful hint: The global variable CPUs[
contains a structure for each core, and one of the fields is the idle thread for that core.
The functions Dump_All_Thread_List and Lookup_Thread (kthread.c) show how to iterate through the list of threads currently in the system.
The second argument to the Kill system call (signal) is not used in project #1 (its for a later project).
The affinity routines should return EINVALID as the return code for any paramters that is not valid.
User programs should not be able to kill kernel threads.
The size argument to the PS system call is the number of elements in the table, not the size of the table in bytes.