M4: Uncovering Services Provided by the Operating System Flashcards
Control registers
Registers in the CPU that are used to store control
information on state of program execution, for example, the 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 call 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 device that is not ready
TRAP call
a series of assembly instructions leading to he privilege bit being flipped in the CPU to switch it from operating in user mode to kernel mode
CPU cache
stores copies 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 device or software condition
Interrupt identifier
used by the OS to map the interrupt notification to the
appropriate handler for the event
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
Segmentation faults (C programming):
a failure that occurs when the program
attempts to access a restricted portion or 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.
Pointer (C programming):
store the addresses or memory locations of variables
Dereferencing (C programming)
use the address value from the 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.