EECE-4029 Operating Systems Fall 2016
Process Scheduling

processes, mutex, semaphores, memory management, producer-consumer, files, deadlock, more..

Sample code and documentation

Archive:
   
scheduling.tar     All the code and documentation in a tar file
   
Makefile:
   
Makefile     Make all the code below with this
   
Code:
   
sched.c     Three threads that can take various priorities and scheduling
thread_NORMAL_5.c     Similar to the above
thread_FIFO_5.c     Similar to the above
thread_RR_5.c     Similar to the above
 
Documentation:
introduction     What is a scheduler, what are its concerns, scheduling algorithms
BFS scheduler     Some insight into the BFS scheduler
CFS scheduler     Description of the Completely Fair Scheduler
red-black     Red-black tree demo - these are used by CFS
MFQ scheduler     Description of the Multilevel Feedback Queue scheduler
 
sched_setscheduler     Set scheduling policy and parameters
pthread_setschedparam     Set scheduling policy and parameters
pthread_getschedparam     Get scheduling policy and parameters
pthread_barrier_t     Thread barrier object
pthread_barrier_init     Initialize thread barrier
pthread_barrier_wait     Thread barrier wait
pthread_barrier_destroy     Thread barrier destroy
policies     Settable scheduling APIs
nice     Change process priority
sched_param     Data structure used to hold scheduling parameters
sched_get_priority_max     Gets the maximum priority number for a given policy
sched_get_priority_min     Gets the minimum priority number for a given policy
pthread_attr_setinheritsched     Set inherit scheduler attribute
pthread_attr_getinheritsched     Get inherit scheduler attribute
pthread_attr_setschedpolicy     Set scheduling policy attribute
pthread_attr_setschedparam     Set the scheduler parameter
pthread_attr_getschedparam     Get the scheduler parameter