Operating Systems - Chapters 10-12

अब Quizwiz के साथ अपने होमवर्क और परीक्षाओं को एस करें!

PCIe bus

A common computer I/O bus connecting the CPU to I/O devices.

SAS

A common type of I/O bus.

Serial-attached SCSI (SAS)

A common type of I/O bus.

Port

A communication address; a system may have one IP address for network connections but many ports, each for a separate communication. In computer I/O, a connection point for devices to attach to computers. In software development, to move code from its current platform to another platform (e.g., between operating systems or hardware systems). In the Mach OS, a mailbox for communication.

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.

Expansion bus

A computer bus for connecting slow devices like keyboards.

Back door

A daemon left behind after a successful attack to allow continued access by the attacker. In cryptography, a method of gaining access to encrypted information without first having the secret keys. More generally, a method of passing arbitrary commands or information when an interface does not provide a standard method.

Memory-mapped I/O

A device I/O method in which device-control registers are mapped into the address space of the processor.

Status register

A device I/O register in which status is indicated.

Control register

A device I/O register where commands are placed by the computer.

Data-out register

A device I/O register where data is placed by the device to be read by the computer.

Data-in register

A device I/O register where data is placed to be sent to the device.

Host bus adapter (HBA)

A device controller installed in a host bus port to allow connection of one or more devices to the host.

Interrupt

A hardware mechanism that enables a device to notify the CPU that it needs attention.

Interrupt chaining

A mechanism by which each element in an interrupt vector points to the head of a list of interrupt handlers, which are called individually until one is found to service the interrupt request.

Programmed I/O (PIO)

A method of transferring data between a CPU and a peripheral device in which data are transferred one byte at a time.

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.

Direct memory access (DMA)

A resource-conserving and performance-improving operation for device controllers allowing devices to transfer large amounts of data directly to and from main memory.

Trap

A software interrupt. The interrupt can be caused either by an error (e.g., division by zero or invalid memory access) or by a specific request from a user program that an operating-system service be performed.

Exception

A software-generated interrupt caused either by an error (such as division by zero or invalid memory access) or by a specific request from a user program than an operating-system service be performed.

Software interrupt

A software-generated interrupt; also called a trap. The interrupt can be caused either by an error (e.g., division by zero or invalid memory access) or by a specific request from a user program that an operating-system service be performed.

Controller

A special processor that manages I/O devices.

Fibre channel (FC)

A type of storage I/O bus used in data centers to connect computers to storage arrays. A storage-attachment network.

Polling

An I/O loop in which an I/O thread continuously reads status information waiting for I/O to complete.

Scatter-gather

An I/O method in which multiple sources or destinations of I/O are specified in one command structure.

Nonmaskable interrupt

An interrupt that cannot be delayed or blocked (such as an unrecoverable memory error)

Device driver

An operating system component that provides uniform access to various devices and manages I/O to those devices.

Interrupt-handler routine

An operating system routine that is called when an interrupt signal is received.

Address space layout randomization (ASLR)

An operating system technique to avoid code-injection attacks that place memory objects like the stack and heap at unpredictable locations.

Interrupt vector

An operating-system data structure indexed by interrupt address and pointing to the interrupt handlers. A kernel memory data structure that holds the addresses of the interrupt service routines for the various devices.

Direct I/O

Block I/O that bypasses operating-system block features such as buffering and locking.

Change

Change the current working directory to another directory specified by a path name.

Rename

Change the name of a file or directory specified by a path name.

Interrupt-controller hardware

Computer hardware components for interrupt management.

Create

Create a new named directory and a new entry in the current working directory, which points to the new directory.

Direct virtual memory access (DVMA)

DMA that uses virtual addresses rather than physical memory addresses as transfer sources and destinations.

Delete

Delete directory d specified by a path name. Delete also all files and directories reachable using any path name starting from d.

Maskable

Describes an interrupt that can be delayed or blocked (such as when the kernel is in a critical section).

Raw I/O

Direct access to a secondary storage device as an array of blocks with no file system.

Contiguous block allocation scheme

Every file is mapped into a contiguous sequence of disk blocks. The FCB points to the first disk block. The file length, also maintained in the FCB, determines how many blocks are occupied by the file. The main advantages are: Fast sequential access because neighboring blocks do not require any seek operations. Fast direct access because a target block number can be computed using the file position and the block length.

Indexed block allocation scheme

File blocks may reside anywhere on the disk. An index table is provided for each file, which keeps track of the blocks belonging to the file.

Find

Find a file or directory specified by a name.

Escape

Generally, a method of passing arbitrary commands or information when an interface does not provide a standard method.

Daisy chain

In computer I/O, a connection method involving connecting devices to each other in a string (device A to B, B to C, C to D, etc.).

First-level interrupt handler

In some operating systems, an interrupt handler responsible for reception and queuing of interrupts; the interrupts are actually handled at another level (by the second-level handler).

Second-level interrupt handler

In some operating systems, the interrupt handler that actually handles interrupts; reception and queueing of interrupts are handled at another level (by the first-level handler).

Shortest seek time first (SSTF) scheduling algorithm

It considers the list of all pending requests and always selects the request that requires the shortest travel distance from the current position.

Error correcting code (ECC)

It includes multiple parity bits in a string to permit the detection and automatic correction of some number of erroneous bits.The number of bits that can be detected and corrected depends on the number of parity bits and the encoding scheme employed.

Parity bit

It is a bit added to a string of bits to ensure that the total number of 1's in the string is even or odd. Even parity sets the parity bit such that the number of 1's is even. Similarly, odd parity sets the parity bit such that the number of 1's is odd. Even and odd parity are duals of each other and either can be used as the simplest form of error detecting code, able to detect a single erroneous bit in a string.

Tree-structured directory hierarchy

It is a collection of directories organized such that (1) every directory points to zero or more files or directories at the next lower level, and (2) every file and directory except the root is pointed to by exactly one parent directory at the next higher level. The root of a tree-structured directory hierarchy is the highest level directory, which does not have a parent directory.

Relative path name

It is a concatenation of file names starting with the current directory.

File control block (FCB)

It is a data structure associated with a filename that contains all relevant attributes of the file. FCBs are stored apart from file directories and are pointed to by the corresponding directory entries. In Unix and other OSs an FCB is called an i-node.

Bitmap

It is a data structure where each bit represents one disk block. A 1 indicates that the block is allocated and a 0 indicates that the block is free.

Device driver

It is a device-specific program that implements I/O operations, requested by user applications or the OS, by interacting with the device controller. Since devices vary greatly in speed, latency, and the size of data being transmitted, the ability to perform random vs sequential access, and other aspects, device drivers are supplied by the device manufacturers.

Circular buffer

It is a fixed array of buffer slots filled by the producer and emptied by the consumer one slot at a time in ascending order, modulo the buffer size.

Disk block

It is a fixed sequence of bytes on the disk, which can only be accessed as a single unit using low-level read-block and write-block operations. The FS views the disk as a sequence of blocks, numbered consecutively 0 through D - 1, where D is the total number of blocks on the disk.

Direct memory access (DMA) controller

It is a hardware component that allows devices to access main memory directly, without the involvement of the CPU. Using DMA, the CPU only initiates a data transfer, which can consists of a line of characters, a block of data, or even multiple blocks of data, as part of a single I/O operation.

File

It is a named collection of information managed on secondary storage by the FS. The user can view a file as a single abstract unit of data storage and access the file's contents using high-level operations provided by the FS's interface, without knowing the specific characteristics of the underlying storage devices. Depending on the FS, a file can be viewed as an unstructured stream of bytes or a series of records.

Sector

It is a portion of a track and is the smallest unit of data that can be read or written with a single r/w operation.

Buffer

It is a register or an area of main memory used to hold data generated by a producer process or an input device and removed from the buffer at a later time by a consumer process or an output device. Depending on the intended use, a single buffer can hold one character at a time or a larger block of data.

File extension

It is a sequence of one or more characters following the file name. A file extension, unlike a magic number, is not hidden within the file header and thus can conveniently be examined by the user. The drawback is that a file extension can easily be changed without changing the file's type. Thus file extensions support only a weak form of file typing by providing convenient hints about a file's type but do not rigorously enforce which operations are valid for a given file type.

Disk block cache

It is a set of main memory buffers that contain the most recently accessed disk blocks.

Access method

It is a set of operations provided by the OS as part of the user interface to access files. The most common access method is sequential. The FS maintains the current position within the file and each read/write operation accesses the next n bytes or the next record of the file. Some OSs (Ex: most IBM systems) support also direct access methods, where a record can be accessed directly by specifying a record number or a key value.

Magic number

It is a short sequence of characters at the start of the file header, which identifies the file type. The file type, in turn, determines which programs are allowed to access and interpret the file. Ex: The OS will allow only properly compiled and linked binary files to be loaded into memory for execution.

File directory (or folder)

It is a special-purpose file that records information about other files and possibly other directories. The directory consists of a set of entries, each containing the name of a file followed by other information necessary to access the file.

Bad block (bad sector)

It is a storage block that is no longer reliable for storing and retrieving data due to physical damage. An ECC is associated with each block, which allows the detection and automatic correction of some number of corrupted bits in the block.

Record

It is a structure of related data items, possibly of different data types, identified within a file by a record number or a unique key field. Ex: A student ID would uniquely distinguish all student records in a file.

Programmed I/O

It is a style of I/O programming where the CPU, running the device driver, performs the copying of all data between the I/O device controller and main memory.

Buffer swapping

It is a technique that allows the operations of a producer process and a consumer process to overlap by using two buffers. While the producer is filling buffer 1, the consumer is copying buffer 2. When both terminate, the two buffers are swapped. The producer starts filling buffer 2 while the consumer starts copying buffer 1.

Polling

It is a technique to determine whether a device is busy or idle by reading a flag set and reset by the device controller.

C-Scan scheduling algorithm

It is a variant of the Scan algorithm that services requests in only one direction. When the outermost request is reached, the r/w head sweeps back to the opposite end of the disk and starts servicing requests again in the same direction.

Stable storage

It is an approach to data management that uses redundancy, along with a strict protocol for reading, writing, and error recovery, to guarantee that all data remains consistent in the presence of media and crash failures.

File allocation table (FAT)

It is an array where each entry corresponds to a disk block. The FAT keeps track of which disk blocks belong to a file by linking the blocks in a chain of indices. A file's FCB contains the index of the first file block, which in turn contains the index of the next block, etc.

Device controller (device adapter)

It is an electronic circuit capable of operating a specific I/O device using binary signals. The interface to a device controller is a set of hardware registers and flags, which may be set by and/or examined by device drivers.

File System

It is an integral part of every OS, whose function is to implement the concept of files.

Metadata

It is information about the format and organization of a file's data and is generally stored in a file header. A file header is a portion of the file preceding the actual data and is visible to only the FS itself.

Track

It is one of many concentric rings on a magnetic disk surface. To access information on a track, a read/write head, mounted on a movable arm, is mechanically positioned over the track. Information is written onto or read from the track as the disk rotates under the r/w head.

Peak transfer rate

It is the rate at which the data is streamed to or from the disk once the read/write head is at the beginning of the sector to be transferred. It depends directly on the rotational speed of the disk and the number of sectors per track

Sustained data rate

It is the rate at which the disk can transfer data continuously. It includes the seek times over multiple tracks and other overhead in accessing the data over time.

Seek time

It is the time to move the r/w head from the current position to the track containing the desired data. The time is directly proportional to the physical distance the r/w head needs to traverse.

Data transfer time

It is the time to transfer the desired number of bits to or from the disk, and is directly proportional to the disk's rotational speed.

Rotational delay (rotational latency)

It is the time to wait for the desired data item to pass under the r/w head. On average, the rotational delay is one half of the time of one disk revolution. Thus the time depends on the disk's rotational speed.

Clustered block allocation scheme

It links together sequences of contiguous blocks. The last block of any cluster points to the beginning of the logically next cluster. The last block also records the number of blocks belonging to the next cluster to facilitate direct access within each cluster. The number of blocks in the first cluster is recorded in the FCB along with the pointer. The approach is a compromise between the contiguous and linked allocations. The main advantages are: Easy expandability of a file. If the block following the last file block is free, than the last cluster is extended as with the contiguous allocation. If the block following the last file block is occupied, then a new cluster is started and the last block points to the first block of the new cluster. A reduced number of pointers since only the last block of a cluster contains a pointer. Improved sequential access over the purely linked allocation since accessing blocks within a cluster does not require any seek operations. The main drawbacks are: Slower sequential access than with contiguous allocation since each cluster requires a seek operation to a different position on the disk. Inability to perform direct access since the location of the target block cannot be computed. To access any block requires following the pointers until the cluster containing the target block is reached.

Scan scheduling algorithm

It mimics the behavior of an elevator in a building. The r/w head maintains a current direction of travel and services all request sequentially in the current direction. When the outermost request is reached, the direction is reversed and the algorithm services all requests in the opposite direction.

List

List the file names and optionally other attributes of all files contained in a directory specified by a path name.

Move

Move a file or directory from one directory to another.

Operands

One or more operand registers are used to describe the parameters of the requested operation. The values are written by the CPU prior to starting the operation.

Interrupt priority level

Prioritization of interrupts to indicate handling order.

Typical file attributes

Size: The current size in bytes or words. Type: Information to differentiate directories, regular files, executable files, and other types of files supported by the system. Location: Information necessary to locate the file's physical blocks on disk. Protection: Information about who can access the file and the permitted type of access (Ex: read only or execute only). Use: The date and time of file creation, last access, or last modification.

Cycle stealing

The act of a device, such as a DMA controller, using the bus and preventing the CPU from using it temporarily.

Linked block allocation scheme

The blocks containing a file may be scattered throughout the disk. The FCB points to the first block and each block points to the logically next block. The main advantage is: Easy expandability of a file by linking additional blocks to the last block. The main drawbacks are: Slower sequential access than with a contiguous allocation, since each block access requires a seek operation to a different position on the disk. Inability to perform direct access since the location of the target block cannot be computed. To access any block requires following the pointers and reading all blocks preceding the target block. Decreased reliability of the disk. If a disk block becomes physically damaged, the rest of the file cannot be found. Considerable waste of disk space since every disk block must include a pointer to the next block.

Double buffering

The copying of data twice (e.g., from a device to the kernel and then from the kernel to a process's address space), or the use of two buffers to decouple producers and consumers.

Data buffer

The data buffer holds the data to be transferred between the device and main memory. Depending on the device type, the buffer may hold a single character or a block of data.

Interrupt-request line

The hardware connection to the CPU on which interrupts are signaled.

Block-device interface

The interface for I/O to block devices.

PHY

The physical hardware component that connects to a network (implements layer 1 in the OSI model).

Busy

The register (a 1-bit flag) is set by the controller to indicate whether the device is busy or idle.

Status

The register is set by the controller to indicate the success or failure of the last I/O operation.

Opcode

The register specifies the type of operation requested. Ex: read or write. Storing a new value into the register starts the I/O operation.

Absolute path

Uniquely identified by an internal ID, f, it is the concatenation of the directory and file names leading from the root to the file f. The individual names are separated by an agreed-upon delimiter, typically a forward slash or a backslash.


संबंधित स्टडी सेट्स

World History - Growth of World Empires - Q1

View Set

(Unit 5) Telecommunications Components

View Set

Ch. 2 Health and Wellness Skills

View Set

BUA340-01 Exam #3, Part II: Ch.'s 13-16

View Set

Lab Simulation 10-1: Create Custom Computer Groups: MCSA

View Set

Microbial Growth: Cell Division and Population Growth

View Set

Algebra 2 Chapter 1 Quiz 1 | BJU Algebra

View Set