It's needed for efficiency, organizes jobs so CPU always has one to execute
Back
Threads
Front
Separate, independent tasks within a job.
Back
Multithreading Models
Front
Many-to-One: many user threads to one kernel thread
One-to-One: One user thread to one kernel thread
Many-to-Many: many user level threads to be mapped to many kernel threads
Back
Schedulers
Front
Short-term scheduler selects which processes should be executed next and allocates the CPU
Long-term scheduler selects which processes should be brought into the ready queue
Back
Multiple Queue with Dynamic Priority
Front
Priority of processes changes dynamically
Slide 26 CH5
Back
What is a Kernel?
Front
Responsible for memory management, process and task management, and disk management.
Back
Remote Procedure Calls
Front
abstracts procedure calls between processes on networked systems
Back
UNIX
Front
System Programs, Kernel
Back
Layered Approach
Front
An operating system structure that can be broken into pieces that are smaller and more appropriate than those allowed by the original MS-DOS and UNIX systems.
Back
atomic operation
Front
An operation that is uninterruptible
Back
What are 4 components of a computer system
Front
Hardware, OS, Application Programs, Users
Back
Why is the design on an OS not solvable?
Front
Goals conflict
Impossible to fulfill all requirements without sacrificing another goal
Back
Soft real-time systems vs. hard real-time systems
Front
Soft real-time systems: no guarantee as to when critical real-time process will be scheduled
Hard real-time systems: task must be serviced by its deadlines
Back
Kernighan's Law
Front
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it."
Back
context switch
Front
save the state of the old process and load the saved state for the new process
Back
Shortest-Job-First (SJF) Scheduling
Front
slide 16ish ch 5
Back
TSL
Front
Test and Set Lock
Back
Types of Parallelism
Front
Data Parallelism - Distributes subsets of the same data across multiple cores, same operation on each
Task parallelism - distributing threads across cores, each thread performing unique operation
Back
Process vs. Program
Front
A process is active and a program is passive.
Back
Microkernel System Structure
Front
Moves as much from the kernel into user space
Back
I/O bound vs CPU bound
Front
I/O Bound Processes: Issue lots of I/O requests and little computation
CPU Bound Processes: Use CPU frequently and I/O Infrequently
Back
Preemptive Scheduling
Front
A running process can be taken off the CPU for any (or no reason). Suspended by the scheduler
Back
what is emulation?
Front
used when source cpu type is different from the target
Back
processor affinity
Front
A standard in which a process that starts in a computer with more than one CPU is usually assigned to that CPU again the next time it runs.
Create, load, execute, suspend, resume, and terminate processes
Switch system among multiple processes in the main memory (process scheduling)
Provide communication mechanisms between processes
Back
Preventing Race Conditions
Front
Slie 8 Ch 67P1
Back
Process Control Block (PCB)
Front
The data structure used by the operating system to manage information about a process
Contains info about each process, sate, number, counter, registers, memory limits, list of open files
Back
Process Scheduler
Front
(slide 15 or 16 ch3)
Back
Gannt Chart
Front
sLIDE 20 CH5
Back
I/O Subsystem
Front
responsible for memory management of I/O including buffering, caching, spooling
Back
System Calls
Front
callback to the system using an API
Back
What is Timesharing?
Front
A logical extension in which the CPU switches jobs so frequently that users can interact with each job while it is running, creating interactive computing.
Back
Sockets
Front
an endpoint for communication
Back
What is an OS responsible for?
Front
Slide 24 or 25 Chap1
Back
What is a process?
Front
a program in execution, it is a unit of work within the system.
multi-threaded processes have one program counter per thread
Back
FCFS Scheduling
Front
CPU is allocated to the process that requests it first
Back
What is an Operating System
Front
An operating system acts as an intermediary between the user of a computer and the computer hardware.
Back
Goals of Scheduler
Front
Fairness, CPU utilization, Response Time, Turanaround time, throughput
Back
Round Robin Scheduling
Front
Uses qauntums based on priority to ensure more pfairness
Back
Policy vs. Mechanism
Front
Policy - What will be done
Mechanism - how to do it
Back
Types of a Process
Front
Either OS Process (e.g. System Call) or User Process
Either I/O bound processes or CPU Bound Processes
Back
Thread Pools
Front
Create a number of threads in a pool where they await work.
Back
What happens when a process uses its quantum
Front
Ch5
Back
Monolithic OS
Front
a collection of functions which can call any other ones when needed
includes system calls, system programs, enevery manager, device drivers, etc. (everything is included)
Entire OS in main library
Pro: High Performance, easy to implement
Cons: Debug problems & Security