Module 4: Uncovering Services Provided by the OS Flashcards
control registers
registers in the CPU that are used to store control information on state of program execution (e.g. program counter and stack pointer)
data registers
registers in the CPU that are used to store the intermediate data used when executing instructions
system call
executed in kernel mode and thus requires a context switch
provide an interface for the user to interact with the OS and request functionality
each system call has a number, which is used by the system call dispatcher to lookup the code associated with the invoked system call
blocked queue
a process is placed on the blocked queue, maintained by the OS, if it is waiting for some condition to be true before it is able to proceed in its execution; one example is a process waiting for a response from an I/O devices that is not ready
TRAP call
a series of assembly instructions leading to the privilege bit being flipped in the CPU to switch it from operating in user mode to kernel mode
CPU cache
stores copies of the data that is frequently accessed by this processor
disk operation
an operation requiring a response from the external disk memory
interrupt
a notification to the OS for an event that requires servicing; the interrupt may originate from a hardware devices or software condition
interrupt identifier
used by the OS to map the interrupt notification to the appropriate handler for the event
segmentation faults
a failure that occurs when the program attempts to access a restricted portion of memory, or read/write illegally (e.g. write to a read-only location of memory)
this is a means of notifying the OS of the illegal action and results in memory protection for the machine
disk device driver
device drivers are used as an interface between the hardware and software to allow the operating system to ignore the specific details of the hardware component being used
interrupt handler
a function that is run whenever a particular type of interrupt is invoked and received by a process
pointer
store the addresses or memory locations of variables
dereferencing
use the address value from a pointer to access the data in the memory location
hardware interrupts
interrupts that are generated at the hardware level, typically in response to an external event such as a clock tick or completion of a disk request