Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
44 Cards in this Set
- Front
- Back
process
|
a program or instance of a program running on a computer
|
|
Three Components of a process
|
Program, Data, State
|
|
process elements
|
Identifier, Priority, Program Counter, Memory Pointers, I/o status info / Accounting info
|
|
PCB
|
a data structure in the kernel that controls the process / contains the process elements / allows support for multiple processes / how the operating system moves around
|
|
states
|
not-running, "ready to execute" / blocked, "waiting for I/O" / dispatcher cannot just select the process that has been in the queue the longest b/c it may be blocked
|
|
queue
|
First in First out
|
|
two state model
|
Process may be in one of two states - running or non-running / punch card machines / ENTER > NON-RUNNING > DISPATCH > RUNNING > PAUSE OR EXIT
|
|
five state model
|
NEW - READY - RUNNING - EXIT - BLOCKED
|
|
When to switch process
|
TIMESLICE - I/O REQUEST / INTERRUPT / TERMINATION(error or exception or normal completion)
|
|
context switch
|
every time the processor goes down to a different process queue
|
|
scheduling
|
Why? - assign processes to be executed / reduced response time / more throughput / processor efficiency goes up
|
|
response time
|
trade off between response time and throughput / keep at adequate level while getting an optimal amount of work done
|
|
throughput
|
if it is a server you want to increase throughput / try to get the most work done in a second or hour
|
|
efficiency
|
getting the most out of your processor
|
|
priorities
|
the story of Solitaire and the nuclear processor / some processes are more important
|
|
starvation
|
low priority process that don't get enough time
|
|
short-term scheduling
|
known as dispatcher / executes most frequently / invoked when an EVENT OCCURS
|
|
mid-term scheduling
|
"swapping"
|
|
long-term scheduling
|
when you allow a process to enter into the system / "backups run at night"
|
|
preemptive
|
can be interupted / a process can timeout / means after each time slice we will use the dispatcher and get the next job
|
|
arrival and service times
|
the time arrived in the queue / the time it will take the process to start and complete
|
|
FCFS
|
FIRST COME, FIRST SERVE / each process joins ready queue / NON PREEMPTIVE / bad choice for scheduling
|
|
round robin
|
divy ups the time for processes / PREEMPTIVE use based on a clock / known as time slicing
|
|
SPN
|
SHORTEST PROCESS NEXT / NONPREEMPTIVE / process with shortest expected processing time is selected next, short processes jump ahead of longer processes / is non-preemptive process /
|
|
SRT
|
SHORTEST REMAINING TIME / PREEMPTIVE VERSION of SPN / must estimate processing time / chooses the process with the smallest remaining time whether it is a long job or a short job / possible starvation of longer processes
|
|
HRRN
|
HIGHEST RESPONSE RATIO / NONPREEMPTIVE / rewards those that have the higher ratio of time waiting plus the expected service times
|
|
feedback
|
PREEMPTIVE / Penalize jobs that have been running longer / Vista and later use this / Linux uses feedback / assign a base priority to a process
|
|
fair-share
|
user's application runs as a collection of processes (threads)
|
|
memory management
|
subdividing memory to accommodate multiple processes
|
|
relocation
|
programmer does not know where the program will place in memory when it is executed / may be swapped to disk and relocated
|
|
protection
|
processes should not be able to reference memory locations in another process without permission / must be checked at run time
|
|
sharing
|
allows several processes to access the same portion of memory
|
|
fixed partitioning
|
any process whose size is less than or equal to the partition size can be loaded into an available partition
|
|
internal fragmentation
|
main memory use is inefficient. Any program, no matter how small, occupies an entire partition. This is called internal fragmentation
|
|
dynamic partitioning
|
partitions are of variable length and number / process is allocated exactly as much memory as required
|
|
external fragmentation
|
eventually getting holes in memory from dynamic partitioning / the longer a system runs the worse fragmentation gets
|
|
placement algorithm
|
BEST-FIT worst / FIRST-FIT best / NEXT-FIT medium
|
|
base register
|
starting address for the process / these registers are set when the process is loaded or when the process is swapped in
|
|
bounds register
|
ending location for the process / use registers for protection
|
|
paging
|
partition memory into small equal fixed-size chunks and divide each process into the same size chunks
|
|
page
|
chunks of a process
|
|
frame
|
chunks of memory
|
|
page table
|
operating systems maintain a page table for each process / contains the frame location for each page in the process
|
|
address resolution
|
the long binary math thing - logical to physical addresses
|