I/O Systems Lecture Notes

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/47

flashcard set

Earn XP

Description and Tags

A collection of vocabulary terms and definitions covering the fundamental concepts of operating system I/O systems, hardware interfaces, interrupt mechanisms, and kernel subsystems as described in the lecture notes.

Last updated 7:53 AM on 8/14/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

48 Terms

1
New cards

Bus

A set of wires and a rigidly defined protocol that specifies a set of messages that can be sent on the wires, such as the PCI bus.

2
New cards

Port

A connection point, also referred to as a PHY in data-center nomenclature, through which a device communicates with a computer system.

3
New cards

Daisy chain

An arrangement where device A plugs into device B, device B plugs into device C, and device C plugs into a port on the computer, usually operating as a bus.

4
New cards

PCIe Lane

A component of a PCIe link composed of two signaling pairs, one for receiving data and the other for transmitting, used as a full-duplex byte stream.

5
New cards

Controller

A collection of electronics that can operate a port, a bus, or a device, such as a serial-port controller or a host bus adapter (HBA).

6
New cards

Memory-mapped I/O

A technique where device-control registers are mapped into the address space of the processor, allowing the CPU to execute I/O requests using standard data-transfer instructions.

7
New cards

Status register

A device register containing bits that indicate states, such as whether a command has completed, if data is available to be read, or if a device error occurred.

8
New cards

Control register

A register that can be written by the host to start a command or change the mode of a device, such as choosing between full-duplex and half-duplex communication.

9
New cards

Polling

A process where the host repeatedly reads the busy bit in the status register until it becomes clear, also known as busy-waiting.

10
New cards

Interrupt

A hardware mechanism that enables a device to notify the CPU when it becomes ready for service, triggered via an interrupt-request line.

11
New cards

Interrupt-handler routine

A routine at a fixed address in memory that determines the cause of an interrupt, performs necessary processing, and executes a return from interrupt instruction.

12
New cards

Nonmaskable interrupt

An interrupt reserved for unrecoverable events such as memory errors that cannot be turned off by the CPU.

13
New cards

Maskable interrupt

An interrupt that can be turned off by the CPU before the execution of critical instruction sequences to prevent interruption.

14
New cards

Interrupt vector

A table containing the memory addresses of specialized interrupt handlers used to reduce the search time for the source of an interrupt.

15
New cards

Interrupt chaining

A technique where each element in the interrupt vector points to a list of interrupt handlers that are called sequentially until the request is serviced.

16
New cards

FLIH (First-Level Interrupt Handler)

A handler that performs the context switch, state storage, and queuing of a handling operation in a split interrupt management system.

17
New cards

SLIH (Second-Level Interrupt Handler)

A separately scheduled handler that performs the actual processing of an I/O operation requested via an interrupt.

18
New cards

Trap

A software interrupt triggered by an instruction that saves the state of user code, switches to kernel mode, and dispatches to a kernel routine for a specific service.

19
New cards

Programmed I/O (PIO)

A method of data transfer where the CPU watches status bits and feeds data into a controller register one byte at a time.

20
New cards

DMA (Direct Memory Access) controller

A special-purpose processor that offloads data-transfer work from the main CPU by operating the memory bus directly.

21
New cards

Scatter–gather

A method that allows multiple I/O transfers to non-contiguous memory locations to be executed via a single DMA command.

22
New cards

Cycle stealing

A condition where the DMA controller seizes the memory bus, momentarily preventing the CPU from accessing main memory.

23
New cards

DVMA (Direct Virtual Memory Access)

A transfer method using virtual addresses that undergo translation to physical addresses, allowing transfers between two memory-mapped devices without CPU intervention.

24
New cards

Device-driver module

A kernel module that encapsulates the specific details and protocols of a hardware device to present a uniform device-access interface to the I/O subsystem.

25
New cards

Block device

A device category that transfers a block of bytes as a unit and supports commands like read()read(), write()write(), and seek()seek(), such as a disk drive.

26
New cards

Character-stream device

A device that transfers bytes one by one, such as a keyboard, mouse, or modem.

27
New cards

ioctl()

A UNIX system call standing for I/O control that allows an application to access any functionality implemented by a device driver without inventing a new system call.

28
New cards

Major device number

An identifier used by the operating system to route I/O requests to the appropriate device driver.

29
New cards

Minor device number

An identifier passed to a device driver to index into a device table and select a specific instance of a hardware device.

30
New cards

Network socket interface

An interface that enables applications to create a local socket, connect to remote addresses, and send or receive packets over a network.

31
New cards

select()

A socket interface function that manages a set of sockets and returns information about which ones have data waiting or room for sent packets, eliminating polling.

32
New cards

Programmable interval timer

Hardware that measures elapsed time and can trigger an interrupt after a specified duration, used by the scheduler for time-slicing.

33
New cards

HPET (High-performance event timer)

A hardware timer in modern PCs that runs at rates in the 10āˆ’megahertz10-megahertz range and uses comparators to trigger interrupts.

34
New cards

Blocking I/O

A system call that suspends the execution of the calling thread and moves it to a wait queue until the I/O operation completes.

35
New cards

Nonblocking I/O

A system call that returns immediately with whatever data are available, indicating how many bytes were transferred without halting the thread.

36
New cards

Asynchronous I/O

A system call that returns immediately and performs the transfer in its entirety in the background, signaling the thread upon completion.

37
New cards

Vectored I/O

A method, such as the UNIX readvreadv system call, that allows a single system call to perform multiple I/O operations involving multiple memory buffers.

38
New cards

Buffer

A memory area that stores data being transferred between two devices to cope with speed mismatches or different transfer sizes.

39
New cards

Double buffering

An optimization that uses two buffers to decouple the producer of data from the consumer, allowing one to be filled while the other is being written.

40
New cards

Cache

A region of fast memory that holds copies of data residing on slower storage to improve access efficiency.

41
New cards

Copy semantics

A guarantee that the version of data written to disk is the version present at the time of the system call, independent of subsequent changes to the application buffer.

42
New cards

Spool

A buffer that holds output for a device that cannot accept interleaved data streams, such as a printer.

43
New cards

Power collapse

A deep sleep state in mobile devices where individual components are powered off, allowing the device to consume very little power while still responding to stimuli.

44
New cards

Wakelock

A kernel mechanism in Android that allows applications to prevent the system from entering power collapse.

45
New cards

ACPI (Advanced Configuration and Power Interface)

An industry standard providing routines for the kernel to manage device state discovery, error management, and power management.

46
New cards

Stream

A full-duplex connection in the STREAMS mechanism consisting of a stream head, a driver end, and optional modules containing read and write queues.

47
New cards

I/O channel

A dedicated, special-purpose CPU found in high-end systems that offloads I/O work from the main CPU.

48
New cards

FUSE

A system interface that allows file systems to be written and run in user mode rather than within the kernel.