Operating Systems Flashcards
What is software?
a collection of electronically stored instructions (a program) that allows you to interact with a computer
What are the two software categories?
application software and system software
What are some examples of application software?
office suites, photo editors (GIMP), web browsers (chrome), video conferencing (zoom, skpye)
What are some examples of system software?
operating systems (windows, linux), antimalware (trend micro anti-virus)
What is the role of a operating system?
process management, memory management, device management
What is involved in process management?
managing numerous, concurrently running programs, managing the CPU through individual processes
What is involved in memory management?
allocating and efficiently tracking memory
What is involved in device management?
granting and sharing access to computer’s hardware
What are the different process states?
ready, waiting, running, new, terminated
What is PCB?
process control block is a data structure used by the OS to manage info about a process, including the current values of program counter, CPU register, and accounting info
When is a new PCB created?
when a process is first created and persists until the process is terminated
When a process moves from one state to another what happens to its corresponding PCB?
moves from one state list to another in the OS
What happens each time a process is moved to the running state?
register values for the currently running process are stored into its PCB, the PCB is moved to the list of the state its going into, the register values of the new running process are loaded into the CPU
What is the exchange of register values called? (running state)
context switch
What is CPU scheduling?
the act of determining which process that is in the ready state should be moved to the running state
How many processes can be in the running state? What about ready state?
only one, multiple
What is non preemptive scheduling?
when the current executing process gives up the CPU voluntarily
What is preemptive scheduling?
when the operating system decides to favour another process, prempting the currently executing process
What is turn around time?
the amount of time between when a process arrives in the ready state the first time, and when it exits the running state for the last time
What are some examples of CPU scheudling algorithms?
first come first serve, shortest job next, round robin
What is first come first serve?
when processes are moved in the CPU in the order in which they arrive in the ready state
(first that arrives it the first moved into CPU)
What is shortest job next?
the process with the shortest estimated running time in the ready state is moved to the running state
What is round robin?
when process runs or a specific amount of time and then moves back to the ready state if not finished and the process repeats
Which CPU scheduling algorithms are non-preemptive vs preemptive?
FCFS-non-preemptive
SJN-non-preemptive
RR-preemptive