Operating Systems (NOT FINISHED) Flashcards
Define Application Software
The software was written to address specific needs
Define System Software
Software that manages a computer system at a fundamental level
What are the 5 roles of an Operating System
System software that manages computer resources such as memory and input/output devices, provides an interface through which a human can interact with the computer, allows an application progra to interact with other system resources, the various roles of an operating system generally revolve around the idea of ‘sharing nicely’, an operating system manages resources, and these resources are often shared in one way or another among program that want to use them
What are the services provided by the OS
Editors and debuggers, Program execution, System access, Controlled access to files, Access I/O devices, Error detection and response, Accounting
What resource management does the OS provide
Multiprogramming, Memory management, Process management, CPU scheduling
What are desirable features for an OS
Memory protection for OS, timer, privileged instruction and interrupts
What are two approaches to Batch Processing
Uniprogramming, Multiprogramming
Define Uniprogramming
Processor must wait for I/O instruction to complete before proceeding
Define Mulitprogramming
When one job needs to wait for I/O , the processor can switch to another job
Define Timesharing system
A system that allows multiple users to interact with a computer at the same time
Define Virtual Machine
The illusion created by a time-sharing system that each user has his/her own machine
Define Device driver
A small program that knows the way a particular device expects to receive and deliver information
What are the 5 states an instruction can be in
New, Ready, Waiting, Running, Terminated
PROCESS CREATION: Define Parent process
The original, creating, process
PROCESS CREATION: Define Child process
The newly created process
PROCESS TERMINATION: What would be a reason to terminate a process
New batch job, HALT/STOP instruction, Interactive login, user logs off, Service/application completed, Fault/error, Terminating a Parent Process can terminate a child Process, …
PROCESS SUSPENSION: Why would you suspend a process
The process needs an unavailable resource, OS suspects the process of causing a problem, An interactive user wishes to pause the process, The process may only need to run periodically, OS needs resources for another process, …
PROCESS MANAGEMENT: How would you manage a process
Using a queue
What are the two suspended states
Blocked/Suspended, Ready/Suspended
Define Blocked/Suspended
The waiting process swapped out
Define Ready/Suspended
The process could be executed, but swapped out
Define CPU Scheduling
The act of determining which process in the ready state should be moved to the running state
What are the two types of Scheduling
Non pre-emptive scheduling, pre-emptive scheduling
Define non pre-emptive scheduling
The currently executing process gives up the CPU voluntarily
Define pre-emptive scheduling
The operating system decides to favour another process over the currently running one
What are some CPU Scheduling Approaches
First-come, First-Served, Shortest Job Next, Round Robin
Define First-Come First-Served
Processes are moved to the CPU in the order in which they arrive in the running state
Define Shortest Job Next
A process with the shortest estimated running time in the ready state is moved into the running state first
Define Round Robin
Each process runs for a specified time slice and moves from the running state to the ready state to await its next turn if not finished
Factors to evaluate an approach
Turnaround time, Delay, Processor Utilization
Define Turnaround time
The time between when a process first arrives in the ready state and when it exits the running state for the last time
What is the formula for delay
(turnaround - service time) / service time * 100
Define Processor Utilization
Percentage of time CPU doing useful work
Define Logical Address
Reference to a stored value relative to the program making the reference
Define Physical Address
Actual address in main memory, where the instruction/data is stored