Module 2: OS Overview Flashcards
kernel
one of two core components (with the file system)
file management system
one of three core components of OSs (with kernel and I/O component). all data in a computer is stored in the form of a file, and the OS helps maintain the file sizes, names, locations, directory structures, and file access rights
CPU
computer processing unit; circuitry to execute program instructions
CPU cycle
the cycle performed by the CPU to read a program instruction, execute it, and repeat it
user mode
applications in user mode can only run instructions that affect is own application; executing functions in the application’s code
kernel mode
allows privileged machine instructions to run. this mode is entered by flipping a bit on the CPU (TRAP)
privileged machine instructions
have global effects on your whole computer and external devices. examples: writing data to disks and running the logic that makes one application stop running, and instead start running another application
process
a program in execution. because there are limited CPU cycles and the OS needs to perform many tasks, the process concept allows OSs to switch between executing different tasks
process context
the snapshotted state of a process, which includes its data, memory utilization, and execution progress. the process context must be saved when the OS wants to stop running a process, and it gets reloaded when the OS resumes running the process
process management
a function of the OS kernel that manages applications using an abstraction called a process
address space
the memory organization for processes. each process has its own address space of five segments:
- code
- data
- heap
- stack
- kernel
code
segment of the process address space that is stored in the memory locations specified by the lowest addresses. consists of the instructions being executed for the process
program counter
register value stored in the CPU. points to the address of the next instruction to execute in the code segment
data
segment of the process address space that is stored in the memory locations just above the code segment. stores statically-defined variables
heap
segment of the process address space that is stored in the memory locations just above the data segment. stores dynamically allocated memory. grows and shrinks at runtime during program execution (malloc and free)