A process may never be removed from the semaphore queue in which it is suspended
Back
First Purpose of an Operating System
Front
Provide an environment in which a user can execute programs conveniently and efficiently
Back
Logical Address
Front
Also called virtual address
The address that the CPU generates and sends to the Memory Management Unit (MMU)
Back
9 Operating System Services
Front
User interface, program execution, i/o operations, file-system manipulation, communication, error detection, resource allocation, accounting, protection and security
Back
Paging
Front
Solves the problem of external fragmentation
Memory is divided into frames of a fixed size (512 bytes - 1GB)
Processes are divided into pages of the same size
Logical address is <page #, offset>
Pages can be scattered throughout memory
Internal Fragmentation is the trade-off
Last page likely not exactly the same size as a page
Average internal fragmentation per process is ½ page size - not bad
Back
Contiguous Memory Allocation
Front
Processes are stored in single, unbroken chunks
When processes terminate, holes are formed
Holes can be used for future processes
Over time, memory can be filled with many small holes, too small for contiguous processes to fit
This is called External Fragmentation
Compaction can be used to defragment memory
Back
Second Purpose of an Operating System
Front
Allocate Resources fairly and efficiently
Back
What are the 5 Operating System responsibilities in connection with Process Management
Front
Creating and deleting processes, suspending and resuming processes, providing a mechanism for process synchronization, providing a mechanism for process communication, providing a mechanism for deadlock handling
Back
Name and describe the 6 scheduling algorithms from the text
Front
FCFS - As the name implies... process/thread is allowed to run until the CPU-burst is complete regardless of time
SJF - As processes enter ready queue, the shortest job gets priority
SJRF - Use preemption to swap out process with less time remaining
Priority Scheduling - Order (and preempt) based on user-given priority (starvation is an issue)
Round-Robin - Use time quanta on a not-to-exceed basis. Then order by FCFS
Multilevel Queue Scheduling - Use multiple queues for different level processes. Sort based on characteristics of CPU-burst
Multilevel Feedback Queue - Same as above but allow processes to move between queues
Back
Physical Address
Front
The actual address in memory used to retrieve instructions or data.
The act of translating a logical address into a physical address is called address binding
Back
Address Binding
Front
Compile time
The compiler decides what absolute address will be used
Compiler must know where the process will reside in memory
Load time
Compiler generates relocatable code
Final binding is done when the process is loaded
Execution time
Process can be moved in memory during execution
Binding must be delayed until run time
Back
5 Process States
Front
New,Executing, Waiting, Ready, Terminated
Back
Deadlock
Front
two or more processes are waiting indefinitely for an event that can be caused by only one of the waiting processes
Back
Translation Look-aside Buffer (TLB)
Front
Resides in cache
When CPU looks for a page to frame translation, it checks the TLB first
If the page is not in the TLB, it goes to the page table in memory
The page number is then stored in the TLB along with the corresponding frame number
Access time is almost cut in half with a high TLB hit rate
Back
Third purpose of an operating system
Front
Acts as a control program to supervise the execution of programs to protect the system and to manage and control the operation of I/O systems