IAE Academy

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 sheet

TOTAL 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.