Input-Output and file system
One of the main tasks OS is the exchange of data between applications and
computer peripheral devices. In order to achieve this, and have developed the
first system programs, which have prototypes operating systems. In modern OS
features data exchange with peripheral devices perform I / O subsystem. Clients
of the subsystem are both users and applications, but also some components of
the operating system, which requires the system data or withdrawal of such
facility management processes in the active process of change must be written to
the drive context priostanavlivaemogo process and take from the disk context
The main components are the I / O subsystem drivers that control external
devices, and file system. For I / O subsystem is also with some conventions
include the controller and interrupt considered above. Conditionality is *
interrupt controller that serves not only the I / O subsystem modules, and other
modules operating system, in particular an important module, as planner / flow
controller. But because the planning subsystem I / O represents a major
proportion of the burden off the controller, it is logical to consider it as
part of (the same root of the emergence of computer systems were off at the time
of operation with I / O devices) .
File system because of its complexity, specificity and importance as a major
repository of all information computer system should be considered in a separate
chapter. However, the file is viewed in conjunction with other components of I /
O subsystem for two reasons. First, the file system makes extensive use of the
remaining parts of I / O subsystem, and secondly, the model file is the basis of
most of access to devices used in modern I / O subsystem.
Objectives of the OS files and devices
Input / Output Subsystem (Input-Output Subsystem) multiprogrammnoy OS in the
exchange of data with external computer devices must address some common
challenges, of which the most important are:
- organization of parallel I / O devices and the processor;
- Harmonization of the exchange rate and data caching;
- separation devices and data between processes;
Providing convenient logical interface between devices and the rest of the
supporting a wide range of drivers with the simple inclusion of a new driver;
- dynamic loading and unloading of drivers;
Support multiple file systems;
- supporting synchronous and asynchronous I / O operations.
The following topics are dealt with in detail these challenges.
The organization of parallel I / O devices and the processor
Each device I / O-drive computer system, printer, terminal, etc.-equipped
special unit, called the controller. The controller works with driver-system
software module designed to manage the appliance. The controller periodically
takes from the driver output device information, as well as team management,
which suggests that this information needs to be done (for example, put a text
in a certain area of the terminal or write in a certain sector of the disk).
Under the management controller device may some time to carry out its operations
autonomously, without the need for attention from the CPU. This time depends on
many factors - volume output, in the Purple manager device controller, device
speed, etc. Even the most primitive controller that performs simple functions,
usually spends a lot of time on self-realization of such functions after regular
command processor. The same is true for complex controllers, as well as the
speed of any I / O device, even the speed is usually considerably lower than the
speed of the processor.
The processes taking place in the controller, occur between Cards teams
regardless of OS. From the I / O subsystem is required to plan in real time (which
operate external devices) and the suspension of running a large number of
different drivers, ensuring an acceptable response time for each driver to an
event controller. On the other hand, it is necessary to minimize the load
processor I / O tasks, leaving as much processing time to implement user flows.
This is a classic challenge to the planning and real-time systems are usually
decided on the basis of a multi-priority scheme for discontinuing service. To
ensure an acceptable level of response all drivers (or part of the drivers) are
several levels of priority in accordance with the requirements of time and
reaction time of the processor. To implement priority schemes usually operate
general manager interruption OS.