This is Project 01 of CSE.30341.FA20.
- Domer McDomerson ([email protected])
- Belle Fleur ([email protected])
The following are questions that should help you in thinking about how to approach implementing Project 01.
-
Given a command string such as
sleep 10
, how would start a process that executes this command? In particular, how would you handle the name of the program (ie.sleep
) versus the arguments to the program (ie.10
)? -
What signals do you need to send to a process to pause it (ie. suspend its execution) or to resume it (ie. continue its execution)?
-
What must happen when pushing a process to a
Queue
? -
What must happen when popping a process from a
Queue
? -
What must happen when removing a process from a
Queue
?
-
What system call will allow us to trigger a timer event at periodic intervals? What signal does it send when a timer is triggered?
-
What functions would allow you to parse strings with various arguments?
-
What needs to be created when calling
scheduler_add
and where should this object go? -
How would you determine if you should display a particular queue in the
scheduler_status
function? -
How would you wait for a process without blocking? What information do you need to update when a process terminates?
- What should happen in the
Scheduler
when a timer event fires?
- How would you the result of
gettimeofday
to return adouble
representing the current time in seconds?
Describe any known errors, bugs, or deviations from the requirements.