2 - Scheduling Flashcards
What are the process states?
Running
Runnable
Blocked
What are the three DECSystem-10 tables?
JBTQ - Job Table Queue
JBSTS - Job Status Table
QTT - Queue Transfer Table
JBTQ Purpose
To store the set of all jobs in three “priority queues” PQ1,2,3
What is the run queue?
The concatenation of three “priority queues”
What is a doubly linked list?
Each element has a pointer to the next and previous element.
Each PQ uses one.
Allows efficient deletion and insertion
Purpose of Job Status Table?
Stores extra info about each job (process)
What are the Job Status Bits?
RUN: 1 if runnable
JRQ: 1 if changed state and needs requeue
The wait state code - reason it’s not runnable
Others:
SWP: currently swapped out or trainsit
CMWB: set to swap in
NSWP: Do not swap out
Define QRT
Quantum Run TIme left
Time for which the program should be left to run
What is QRT measured in?
Jiffies
Linked to frequency,
Denoted by interrupt,
Regular source of interrupts,
Marks end of time slice
What happens if QRT exceeded?
in PQ1:
Moved to PQ2 with small qrt
in PQ2:
Moved to PQ3 with large qrt
in PQ3:
Moved to PQ2 with small qrt
Purpose of the QTT (Queue Transfer Table)
Denote which queue to move to and what QRT to set when an “event” occurs (eg QRT exceeded)