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.