Support for a wide range of drivers and easy insertion of a new driver in the
system
Benefits of I / O subsystem any universal OS is a different set of drivers for
the most popular peripheral devices. Well-planned and implemented operating
system may fail in the market only because it did not include an adequate set of
drivers and administrators and users have to go right for them to the driver of
their external device to equipment manufacturers, or worse, with its development.
It was in such a situation were people first version of OS / 2, and perhaps this
is a time not for the last delivery positions that good operating system,
drivers are rich in Windows 3.x.
To operating system is not a lack of experienced drivers, it is necessary to
have a clear, friendly and open interface between drivers and other parts of the
OS. This interface is used to ensure that drivers are not only wrote directly
developers of the operating system, but also a large army of programmers around
the world, especially those businesses that produce external devices for
computers. Openness interface drivers, that is his description of the
accessibility to independent software developers (and perhaps also to develop it
by conciliation between the leading teams of developers), is a prerequisite for
successful development of the operating system.
The driver works on the one hand, with the OS kernel modules (modules, I / O
subsystems, modules, system calls, modules and subsystems management of memory,
etc.), on the other hand, with controllers external devices. So there are two
types of interfaces: "EibConnection kernel interface" (Driver Kernel Interface,
DKI), and interface "device" EibConnection (Device Driver Interface, DDF). "EibConnection
kernel interface" should be standardised in any case, a "EibConnection interface
device" makes sense to standardize when the subsystem I / O driver is not
permitted to interact directly with the hardware controller, and carry out these
operations on their own. Escaping driver of the equipment is very useful
function, as well as driver in this case is independent of the hardware platform.
I / O subsystem can support several different types of interfaces DKI / DDI,
providing specific interface devices for a certain class. For example, Windows
NT drivers for the Network Adapter is the interface standard NDIS (Network
Driver Interface Specification), while drivers of network transport protocols
interact with the upper layers of network software interface for TDI (Transport
Driver Interface).
Usually I / O subsystem supports a large number of system functions that can
cause a driver to perform some action model. Examples can be referred to an
exchange transaction registers controller, a buffer for interim storage I / O
synchronization of several drivers, copying data from user space to space
systems, etc.
To support the development of drivers operating system typically issued a so-called
package DDK (Driver Development Kit), a set of tools, libraries, compilers and
otladchikov.
Dynamic loading and unloading of drivers
Suggest a better translation
Thank you for contributing your translation suggestion to Google Translate.
We'll use your suggestion to improve translation quality in future updates to
our system. I found 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 aktiviziruemogo
process. 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
system; 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.
Harmonization of speed and cache data exchange When data is always a challenge
to harmonize speed. For example, if one user process produces some of the data
and transmit them to another user through the process of RAM, in general, the
speed of data generation and reading do not match. Harmonization speed is
usually achieved by buffering data in RAM and synchronization of processes to
access the buffer. In the I / O subsystem to coordinate the exchange rate is
also commonly used data buffering in memory. In those specialized operating
systems, which provide high-speed I / O is a priority (Real-time services
network file services, etc.), much of RAM are not under the code of applications,
and by buffering data. But buffering only on the basis of RAM in the I / O
subsystem is not is the difference between the exchange rate and operational
memory, which processes data processing facilities, and the speed of external
devices often too large to a temporary buffer could be operational memory-volume
may simply not enough. For such cases should be special measures, and is often
used as a buffer disk file, also called spul- file (from the spool - spool, the
same buffer, only to train). A typical example of an organization spulinga
output to the printer. To print documents in dozens of megabytes is not unusual,
therefore, for temporary storage (and print any document takes a few minutes to
tens of minutes) of RAM is not enough. Another solution to this problem is to
use a large buffer memory controllers external devices. This approach is
especially useful when placing data on disk too slow exchange (or the data
displayed on the disc itself). For example, the graphics display controllers
used buffer memory, commensurate with the volume of operational, and it has
accelerated withdrawal schedules on the screen. Buffering data not only agree on
the speed of the processor and external devices, but also to other tasks, reduce
the number of actual I / O operations through data caching. The disk cache is a
feature I / O subsystems virtually all operating systems, significantly reducing
time access to the stored data. Sharing devices and data between processes I / O
devices can be processes in a monopoly, and the joint use of (shared). This OS
should provide access control by the same means as in access to other resources
of computer systems by testing a user or group of users on whose behalf a
process to carry out an operation of the device. For example, a particular group
of users allowed to capture the serial port of monopoly ownership, and other
users is prohibited. The operating system can control access not only to the
device as a whole, but to individual portion of data stored or displayed this
device. The disc is a typical example of the device for which it is important to
control access to the device is not as a whole and to individual directories and
files. In finding information on graphic display windows of the screen are also
a resource, which must be a kind of ongoing access to the system processes. It
is for each portion of the device or data may be put to the right, not directly
connected with access to the device as a whole. For example, the file system,
usually for each directory and file can be set individual access rights.
Obviously, joint access to parts of the device or the data stored on it, a prerequisite
for the job is a shared device as a whole. The same device in different time
periods can be used as shared, and monopoly regimes. Nevertheless, there are
devices, which are usually characterized by one of these regimes, such as
sequential alphanumeric ports and terminals are used in the monopoly regime, and
drive-line sharing. The operating system should provide the devices in both
modes, providing tracking procedures capture and release devices used monopoly,
in the case of sharing of optimizing the sequence of I / O operations for the
various processes to improve overall productivity, if possible. For example,
data from several processes disc can be streamlined so the sequence of
operations that unproductive time on the movement of heads significantly reduced
(although for some of the processes may slow I / O operations). In the division
between devices may be needed in distinguishing portion of the two processes
from each other. Normally such a need arises to share the so-called serial
devices, data which, unlike direct access devices not addressed. Typical
representatives of such devices is a printer that is not allocated in the
possession of monopoly power, and at the same time each document will be
published as a coherent set of pages. For these devices is organized mainly by
finding jobs, each job is a portion of data that can break, such as paper for
printing. To keep jobs queue used spul- file, which both agree on the speed of
the printer and memory and provides logical segmentation data portion. As spul-
file is shared direct access devices, the processes can simultaneously output to
the printer, placing data in its section spul- file. Providing convenient
logical interface between devices and the rest of the system Variety of I / O
devices made especially urgent as a masking OS logical interface between
peripheral devices and applications. Virtually all modern operating systems
support as a basis for such an interface file model of peripheral devices when
any device looks for a consistent set of application programmer bytes, which is
working with the unified system calls (for example, read and write), asking the
name of the device and the debug output log file shifting from the start byte.
To sustain such an interface I / O subsystem lot of work to be done, given the
difference in data operations, such as the hard disk and graphics terminal. The
attractiveness of the model debug output log file device is its simplicity and
uniformity to the devices of any kind, but in many cases for programming some of
Input / Output devices, it is too poor. Therefore, the model is often used as
the only basis on which I / O subsystem builds more content model device type. I
/ O subsystem provides, as a rule, a specific interface to display graphical
information on the screen or printer, for programming operations networking, etc.
This specific interface developer can always build on the existing base
interface. Support for a wide range of drivers and easy insertion of a new
driver in the system Benefits of I / O subsystem any universal OS is a different
set of drivers for the most popular peripheral devices. Well-planned and
implemented operating system may fail in the market only because it did not
include an adequate set of drivers and administrators and users have to go right
for them to the driver of their external device to equipment manufacturers, or
worse, with its development. It was in such a situation were people first
version of OS / 2, and perhaps this is a time not for the last delivery
positions that good operating system, drivers are rich in Windows 3.x. To
operating system is not a lack of experienced drivers, it is necessary to have a
clear, friendly and open interface between drivers and other parts of the OS.
This interface is used to ensure that drivers are not only wrote directly
developers of the operating system, but also a large army of programmers around
the world, especially those businesses that produce external devices for
computers. Openness interface drivers, that is his description of the
accessibility to independent software developers (and perhaps also to develop it
by conciliation between the leading teams of developers), is a prerequisite for
successful development of the operating system. The driver works on the one hand,
with the OS kernel modules (modules, I / O subsystems, modules, system calls,
modules and subsystems management of memory, etc.), on the other hand, with
controllers external devices. So there are two types of interfaces: "EibConnection
kernel interface" (Driver Kernel Interface, DKI), and interface "device"
EibConnection (Device Driver Interface, DDF). "EibConnection kernel interface"
should be standardised in any case, a "EibConnection interface device" makes
sense to standardize when the subsystem I / O driver is not permitted to
interact directly with the hardware controller, and carry out these operations
on their own. Escaping driver of the equipment is very useful function, as well
as driver in this case is independent of the hardware platform. I / O subsystem
can support several different types of interfaces DKI / DDI, providing specific
interface devices for a certain class. For example, Windows NT drivers for the
Network Adapter is the interface standard NDIS (Network Driver Interface
Specification), while drivers of network transport protocols interact with the
upper layers of network software interface for TDI (Transport Driver Interface).
Usually I / O subsystem supports a large number of system functions that can
cause a driver to perform some action model. Examples can be referred to an
exchange transaction registers controller, a buffer for interim storage I / O
synchronization of several drivers, copying data from user space to space
systems, etc. To support the development of drivers operating system typically
issued a so-called package DDK (Driver Development Kit), a set of tools,
libraries, compilers and otladchikov. Dynamic loading and unloading of drivers
It concerns the development of new drivers, there is also the problem of driver
modules running in the OS, that is dynamic zagruzki- unloading the driver.
|