Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 13
На сайте нет зарегистрированных пользователей

Пользователей: 13,372
новичок: vausoz
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование информационно-поисковой библиографической системы на gpss ...
Поиск пути в графе заданном списками инцедентности на Turbo Pascal
Моделирование регулировочного участка цеха на GPSS + Пояснительная записка

Подсистема ввода-вывода
Каждый драйвер может определить набор команд, загружаемых посредством интерфейса ioctl. Одним из параметров таких функций является cmd, целое число, соответствующее выполняемой команде. Параметр arg указывает на специфический для команды набор аргументов. Это удобная точка входа, поддерживающая богатый набор операций с устройством

d_segmap() Отображает память устройства в адресном пространстве процесса.

Также вам может показаться, что такая тема как http://magic-st.ru/ никак не связана и даже не тематична. Хотя, может быть и связана. В любом случае все-таки зайдите на сайт magic-st.ru. Тема имидж салон там представлена весьма широко. На том сайте можно узнать много интересного на тему имидж салон. Что означает вообще тема имидж салон, где найти имидж салон - про это написано на сайте magic-st.ru. Это очень важная для многих людей тема - имидж салон. Спасибо сайту magic-st.ru за информацию на тему имидж салон.


Используется символьными устройствами, отображаемыми в память при применении системного вызова mmap
d_mmap() Применяется только в случае поддержки процедуры d_segmap().



Если d_segmap равняется NULL, системный вызов mmap по отношению к символьному устройству вызывает операцию spec_segmap(), которая, в свою очередь, вызывает d_mmap(). Проверяет корректность указанного смещения устройства и завершает работу с возвратом соответствующего виртуального адреса
d_xpoll() Опрашивает устройство с целью проверки наступления определенного
события. Может использоваться для проверки готовности устройства для чтения или записи без блокировки, если произошла ошибка и т. д.
d_xhalt() Завершает работу устройства, управляемого драйвером. Вызывается
при завершении работы системы либо при выгрузке драйвера из ядра
Структуры переключателя немного отличаются друг от друга в различных реализациях UNIX. Например, в некоторых вариантах переключатель блочного устройства содержит дополнительные функции, такие как d_ioctl(), d_read() и d_write(). Другие версии могут поддерживать функции инициализации или реакции на сброс шины.
Все перечисленные процедуры (кроме d_xhalt() и d_strategy()) принадлежат к верхнему уровню. Процедура d_xhalt() вызывается при завершении работы, вследствие чего не может воспользоваться контекстом прикладного процесса и даже прерываниями. В любом случае эта процедура не переводится в режим сна.
Операция d_strategy() является специализированной сразу же по нескольким причинам. Она часто запускается с целью чтения или записи буферов, не относящихся к вызывающему ее процессу. Например, процесс пытается получить свободный буфер. Для этой цели он находит в списке свободных буферов первый по счету «грязный» буфер и вызывает процедуру strategy для выгрузки его содержимого на диск. После вызова операции записи процесс запрашивает следующий буфер (считая, что он свободен) и начинает его использовать. В дальнейшем процесс не интересуется состоянием записываемого буфера и не ожидает окончания операции записи. Более того, дисковые операции ввода-вывода часто являются несинхронными (как в только что приведенном примере) и драйвер не должен блокировать вызывающий процесс.
Из вышесказанного можно заключить, что операция d_strategy() интерпретируется как процедура нижнего уровня. Она инициализирует операцию ввода-вывода и завершает работу, не ожидая окончания ввода-вывода. Если при получении запроса устройство окажется занято, d_strategy() просто добавит этот запрос во внутреннюю очередь устройства и завершит выполнение. Через некоторое время из кода прерывания будут вызваны другие процедуры нижнего уровня, которые удалят запрос из очереди и выполнят его. Если вызывающему процессу необходимо ждать завершения ввода-вывода, он производит это вне рамок процедуры d_strategy().



Точки входа драйвера для обработки прерываний и инициализации, как правило, недоступны посредством таблицы переключателя. Вместо этого они указываются в главном файле конфигурации, используемом при сборке ядра системы. Такой файл содержит вхождения для каждого контроллера и драйвера. Во вхождении отражается также такая информация, как уровни ipl, номер вектора прерываний и базовый адрес драйвера CSR. Специфика содержимого и формата файла зависят от реализации UNIX.
В системе SVR4 определено две процедуры инициализации для каждого драйвера — init и start. Каждый драйвер регистрирует эти процедуры в массивах io_init[] и io_start[] соответственно. Код первоначальной загрузки системы загружает все функции init до инициализации ядра и все функции start после завершения его инициализации.


Подсистема ввода-вывода


Подсистема ввода-вывода представляет собой часть ядра, управляющую аппаратно-независимой частью операций ввода-вывода и взаимодействующую с драйверами устройств для обработки аппаратно-зависимых операций. Подсистема ввода-вывода также отвечает за именование устройств и их защиту, предоставляя прикладным приложениям единый интерфейс доступа ко всем устройствам системы.
Опубликовал katy June 23 2015 06:48:14 · 0 Комментариев · 2775 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Visual Basic for ...
Пример OpenGL гра...
Win-Prolog 3.618
Page Promoter 7.7...
PHP 5
PrevInst
ProLIB18
Degisy Data Acces...
Java 2 - Эффектив...
XPmenu
Email
Пятнашки и крести...
Delphi 2006 - Спр...
В.Понамарев - COM...
AID антивирус
DiskInfo
JanComp
PBEditPack
Ics
Fig [Исходник на ...

Топ загрузок
Приложение Клие... 100793
Delphi 7 Enterp... 98016
Converter AMR<-... 20298
GPSS World Stud... 17059
Borland C++Buil... 14238
Borland Delphi ... 10373
Turbo Pascal fo... 7390
Калькулятор [Ис... 6080
Visual Studio 2... 5228
Microsoft SQL S... 3674
Случайные статьи
Поскольку процесс ...
Типовая структура ...
Функция GetBkColor...
Fall Control Super...
Этапы разработки а...
В сети Fabrikam ос...
Второе разрешает/з...
Использование фоно...
Прекращение отладк...
Отсечение
MySQL и Perl: взаи...
Планирование за не...
Инфографика очень ...
Выбор фонового рис...
Алгоритм Leaky Bucket
Идентификаторы в я...
Социативный массив...
Datum в Чикаго
TCP протокол семей...
9.2. Описание син...
Раздел описания пе...
Простое наследование
При перегрузке опе...
Книга Ра в Вулкан ...
Разрешение маршрут...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?