Midterm 1 Flashcards
(Kernel) Module
Pieces of code that can be loaded and unloaded from the kernel as needed
Aging
A solution to scheduling starvation that involves gradually increasing the priority of threads as they wait for CPU time.
Application program
A program designed for end-user execution, such as a word processor, spreadsheet, compiler, or Web browser
Application Programming Interface (API)
A set of commands, functions, and other tools that can
be used by a programmer in developing a program
Asymmetric Multiprocessing
A simple multiprocessor scheduling algorithm in which only one processor accesses the system data structures and others run user threads, reducing the need for data
sharing. A boss processor controls the system; the other processors either look to the boss for instruction or have predefined tasks.
Asynchronous cancellation
Stopping a thread from running at any point
Atomic
Cannot be interrupted by another instruction. If two instructions are called at the same time, both instructions get executed correctly
Batch interface
A method for giving commands to a computer in which commands are entered into files, and the files are executed, without any human interaction.
Binary semaphore
A semaphore of values 0 and 1 that limits access to one resource (acting similarly to a mutex lock).
Block device
An I/O device that is randomly accessible, with block-size chunks being the smallest I/O unit
Blocking
In interprocess communication, a mode of communication in which the sending process is blocked until the message is received by the receiving process or by a mailbox and the receiver blocks until a message is available. In I/O, a request that does not return until the I/O completes.
Blocking receive
A process must get a message before continuing
Blocking send
The sent message must be read by another process before the current process can continue
Bootstrap loader
The small program that loads the kernel as part of the bootstrap procedure
Bounded buffer
A buffer with a fixed size
Bounded buffer problem
Producers write to a buffer with a fixed capacity and consumers read from the buffer. Producers wait if the buffer is full and consumers wait if the buffer is empty
Bounded waiting
A practice that places limits on the time a thread or process is forced to wait for something.
BSD UNIX
A UNIX derivative based on work done at the University of California at Berkeley (UCB).
Buffering
Putting things in a buffer, a memory area that stores data being
transferred (e.g., between two devices or between a device and a process)
Bus
A communication system; e.g., within a computer, a bus connects various components, such as the CPU and I/O devices, allowing them to transfer data and commands
Busy waiting
A practice that allows a thread or process to use CPU time continuously while waiting for something. An I/O loop in which an I/O thread continuously reads status information while waiting for I/O to complete
Byte
8 bits
Cache Coherency
The coordination of the contents of caches such that an update to a value stored in one cache is immediately reflected in all other caches that hold that value.
Cache Mangement
The management of a cache’s contents