• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/44

Click to flip

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