operating-systems io

Definition

IO Architecture

The IO architecture of an OS is a layered structure that organises IO functions by their level of abstraction and complexity. The goal is to provide a uniform interface to the user while managing device-specific operations at lower levels.

Layers of the IO System

  1. Logical IO: The user-level interface. It provides high-level commands such as open, close, read, and write. This layer treats all devices as logical resources.
  2. Device IO: Translates the logical commands into a sequence of device-specific IO instructions and control commands. It handles buffering.
  3. Scheduling and Control: Manages the actual interaction with the hardware. It handles queuing of IO requests, disk scheduling, interrupt handling, and monitoring the status of the device.

IO for File Systems

For devices that support a file system, the Logical IO layer is further subdivided into:

  • Directory Management: Mapping symbolic file names to unique identifiers and handling directory operations (e.g., creating or deleting files).
  • File System: Handling the logical structure of files and access control.
  • Physical Organisation: Translating logical file references (e.g., byte offsets) into physical device locations (e.g., track and sector numbers on a disk).