Навигация
Главная
Поиск
Форум
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
Реклама
Сейчас на сайте
Гостей: 9
На сайте нет зарегистрированных пользователей

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

Моделирование интернет кафе на GPSS + Отчет
Моделирование работы обрабатывающего участка цеха в GPSS
Принадлежит ли точка пересечению двух окружностей на Turbo Pascal + Отче...

Управления ipl
Пространство ввода-вывода компьютера включает в себя набор всех регистров устройств, а также буферы фреймов для устройств, отображаемых в память, таких как графические терминалы. Каждый регистр имеет четко определенный адрес в пространстве ввода-вывода. Такие адреса, как правило, присваиваются при загрузке системы, опираясь на параметры, указываемые в конфигурационном файле, который используется для первоначальной сборки системы. Каждому контроллеру присваивается диапазон адресов, в котором он выделяет пространство для каждого обслуживаемого устройства.
Существует два метода настройки пространства ввода-вывода системы. В некоторых архитектурах (к ним относится Intel 80x86) пространство ввода- вывода отделено от основной памяти и доступно при помощи специализированных команд ввода-вывода (например, inb или outb). В других архитектурах, например в Motorola 680x0, применяется подход под названием ввод-вывод устройств, отображаемых в память (memory-mapped device I/O). Регистры ввода-вывода отображаются в часть основной памяти, для чтения-записи регистров применяются обычные команды обращения к памяти.
Точно также существуют две метода передачи данных между ядром системы и устройством. Используемый метод зависит от конкретного устройства. Все устройства можно разделить на две категории, исходя из выбранного для них способа обмена данными: программируемый ввод-вывод (Programmed I/O, РЮ) или прямой доступ к памяти (DMA). Устройства РЮ передают данные побайтно, используя для этой цели центральный процессор машины. Если такое устройство готово принять или передать следующий байт, генерируется прерывание. Если устройство поддерживает DMA, ядро может предоставить ему сведения о местонахождении данных в памяти (их источнике или приемнике), размер передаваемых данных и другую необходимую информацию. Устройство производит обмен данными посредством прямого обращения к памяти, не привлекая для этого процессор системы. После завершения обмена устройство прерывает работу процессора, уведомляя его тем самым о готовности к новой операции.
Как правило, метод РЮ используется медленными устройствами, такими как модемы, символьные терминалы и принтеры, в то время как дисковые накопители и графические терминалы являются устройствами DMA. В некоторых архитектурах, например SPARC, поддерживается метод DVMA (прямой доступ к виртуальной памяти, Direct Virtual Memory Access), позволяющий устройствам взаимодействовать напрямую с диспетчером MMU, передавая данные на виртуальные адреса. В этом случае устройства могут обмениваться друг с другом непосредственно, не используя основную память машины.
Прерывания устройств
Устройства вырабатывают прерывания с целью привлечения внимания центрального процессора. Обработка таких прерываний является аппаратно зависимой, но мы можем описать некоторые общие принципы их работы. Во многих системах UNIX определен набор приоритетов прерываний устройств (ipl). Количество поддерживаемых уровней в системах может быть неодинаковым. Низшим приоритетом является нуль. Фактически на этом уровне выполняются все прикладные процессы и большая часть кодов ядра. Высший приоритет зависит от конкретной реализации и, как правило, равняется 6, 7, 15 или 31. Если уровень ipl прерывания ниже по сравнению с текущим уровнем ipl системы, такое прерывание блокируется до тех пор, пока приоритет системы не станет выше ipl прерывания. Такой подход позволяет системе разграничить различные типы прерываний соответственно их значимости.
Каждое устройство генерирует прерывания с определенным уровнем ipl, как правило, все устройства, подключенные к одному устройству, имеют одинаковый ipl. При их обработке ядро сначала присваивает системе приоритет, равный ipl прерывания, что позволяет заблокировать последующие прерывания от того же устройства (а точнее, все прерывания, имеющие равный или более низкий уровень ipl). Более того, некоторые процедуры ядра повышают приоритет системы с целью временной блокировки прерываний. Например, процедура, управляющая очередью буферов дисковых блоков, поднимает уровень ipl с целью блокировки всех дисковых прерываний. В ином случае прерывание может произойти в тот момент времени, когда очередь находится в непротиворечивом состоянии, что приведет к проблемам дискового драйвера.


Для управления ipl ядро использует набор процедур. Например, spltty() применяется для увеличения уровня ipl до приоритета прерывания терминала. Процедура splx() снижает ipl до предыдущей сохраненной величины. Такие процедуры, как правило, реализованы в виде макроопределений с целью увеличения их эффективности.
Опубликовал katy June 23 2015 06:40:32 · 0 Комментариев · 2264 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Delphi 2005 Секре...
Abbrevia
Dealer
FormShape [Исходн...
C++ Стандартная б...
Профессиональное ...
Форма в форме
Отключение и вклю...
Proeffectimage
Меню проводника в...
Text3D
Карта сайта
Модифицированная ...
Медиа комбайн
Ранги для форума
База игр
PHP5. Профессиона...
Библия хакера 2. ...
mmmJlabel
PDJ_Anima

Топ загрузок
Приложение Клие... 100793
Delphi 7 Enterp... 98016
Converter AMR<-... 20298
GPSS World Stud... 17059
Borland C++Buil... 14239
Borland Delphi ... 10373
Turbo Pascal fo... 7390
Калькулятор [Ис... 6080
Visual Studio 2... 5228
Microsoft SQL S... 3674
Случайные статьи
Уже забыли пароль?
Обход ферзем
Web-навигация
Конфликт при удалении
Проект подсети
Если конкатенация ...
Новая форма Ливерпуля
Генерирование сигн...
Форматы видеоизобр...
Основные принципы ...
HACK F.A.Q
подпись ко всем по...
Использование ext/...
Создание таблиц ст...
Использование кома...
Основные понятия с...
Развертывание дере...
ТАБЛИЦЫ
Бинарный поиск в у...
Есть ли возможност...
События - блокирую...
ПРИЛОЖЕНИЕ 2. Осно...
Оконечный драйвер
вкладках службы FT...
Field Identifier e...
Статистика



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


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