-
Notifications
You must be signed in to change notification settings - Fork 92
Design ‐ Process State Machine
A process has the following possible states:
IDLERUNNINGBLOCKED_ON_CPU_IO_REQUESTEDBLOCKED_ON_CPU_IO_AVAILABLEBLOCKED_ON_CPU_PAGE_FAULTBLOCKED_OFF_CPU_IO_REQUESTEDBLOCKED_OFF_CPU_IO_AVAILABLEENDED
Below are the possible transitions between states. Transitions are expressed using the following format:
START_STATE -> EVENT_NAME -> NEW_STATE
-
IDLE->ASSIGN_TO_CPU->RUNNING -
IDLE->TERMINATE_FROM_STARVATION->ENDED -
RUNNING->REMOVE_FROM_CPU->IDLE -
RUNNING->REQUEST_IO->BLOCKED_ON_CPU_IO_REQUESTED -
RUNNING->PAGE_FAULT->BLOCKED_ON_CPU_PAGE_FAULT -
RUNNING->TERMINATE_GRACEFULLY->ENDED -
BLOCKED_ON_CPU_IO_REQUESTED->IO_AVAILABLE->BLOCKED_ON_CPU_IO_AVAILABLE -
BLOCKED_ON_CPU_IO_REQUESTED->REMOVE_FROM_CPU->BLOCKED_OFF_CPU_IO_REQUESTED -
BLOCKED_ON_CPU_IO_AVAILABLE->IO_DELIVERED->RUNNING -
BLOCKED_ON_CPU_IO_AVAILABLE->REMOVE_FROM_CPU->BLOCKED_OFF_CPU_IO_AVAILABLE -
BLOCKED_ON_CPU_IO_AVAILABLE->TERMINATE_FROM_STARVATION->ENDED -
BLOCKED_ON_CPU_PAGE_FAULT->PAGE_AVAILABLE->RUNNING -
BLOCKED_ON_CPU_PAGE_FAULT->REMOVE_FROM_CPU->IDLE -
BLOCKED_ON_CPU_PAGE_FAULT->TERMINATE_FROM_STARVATION->ENDED -
BLOCKED_OFF_CPU_IO_REQUESTED->IO_AVAILABLE->BLOCKED_OFF_CPU_IO_AVAILABLE -
BLOCKED_OFF_CPU_IO_REQUESTED->ASSIGN_TO_CPU->BLOCKED_ON_CPU_IO_REQUESTED -
BLOCKED_OFF_CPU_IO_AVAILABLE->IO_DELIVERED->IDLE -
BLOCKED_OFF_CPU_IO_AVAILABLE->ASSIGN_TO_CPU->BLOCKED_ON_CPU_IO_AVAILABLE -
BLOCKED_OFF_CPU_IO_AVAILABLE->TERMINATE_FROM_STARVATION->ENDED