Operating Systems formula sheet
47 formulas in 7 topics, each with when to use it. Each is explained in the topic notes.
Print the whole sheetTOTAL PROCESSES
F is the number of fork() calls that actually execute, summed over all processes; assumes every fork succeeds.
N UNCONDITIONAL FORKS IN A ROW
n fork() calls one after another with no condition and no exit; the same holds for a loop that runs n times with a fork in it and no break. New (child) processes created = 2^n - 1.
INTERLEAVINGS OF TWO INSTRUCTION SEQUENCES
Number of distinct interleavings of two independent sequences of m and n instructions, each sequence keeping its own order. Different interleavings may still give the same output.
CONDITION FOR TWO STATEMENTS TO RUN CONCURRENTLY
R(S) is the set of variables statement S reads and W(S) the set it writes. If all three intersections are empty, S1 and S2 give the same result whichever runs first or if they run in parallel.
NEED MATRIX
Remaining claim of process for resource type .
AVAILABLE VECTOR
Free instances of ; Total is the number of instances of in the system.
TURNAROUND TIME
Holds for every scheduling algorithm.
WAITING TIME
Valid when the process has a single CPU burst and does no I/O. With I/O bursts, WT = TAT − (total CPU time) − (total I/O time).
ADDRESS SPLIT
n is the logical address width in bits; the page offset has d bits and the page number n-d bits.
FRAMES
Physical address = frame number bits followed by d offset bits.
EFFECTIVE ACCESS TIME
Weighted average of a hit-path access (time m) and a faulting access (total time S).
EFFECTIVE ACCESS TIME WHEN THE FAULT TIME IS EXTRA
Use this form when the question gives S as a delay added on top of the normal memory access, so a faulting access costs m + S.
LINKED ALLOCATION
Applies when each data block stores its own next-block pointer of bytes.
WIDTH OF A BLOCK ADDRESS
A pointer or FAT entry must be able to name every one of the blocks; questions usually round this up to whole bytes.