Навигация
Главная
Поиск
Форум
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
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Создание отчето... 64201
Модуль Forms 63928
Пример работы с... 60936
ТЕХНОЛОГИИ ДОСТ... 60796
Имитационное мо... 56333
Реклама
Сейчас на сайте
Гостей: 6
На сайте нет зарегистрированных пользователей

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

Моделирование процесса обработки заданий на вычислительном центре на GP...
Лабораторная работа по динамическим спискам на Turbo Pascal (удаление ду...
База данных - словарь терминов на Delphi + Пояснительная записка

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Управления 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 09:40:32 · 0 Комментариев · 1032 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Стелтинг Стивен, ...
Дешифратор содерж...
Редактор текста (...
FatScrollbar
Domen Name IP
C++ для начинающих
Borland C++Builde...
PDPcheck
Java 2 - Эффектив...
Java Server Pages...
С/C++ Программиро...
SysInfo [Исходник...
AUTOWEB
Encrypt Decrypt
VFW
DCMintry
AID антивирус
Усложнённый кальк...
Шкрыль А. - Разра...
RbControls

Топ загрузок
Приложение Клие... 100455
Delphi 7 Enterp... 86149
Converter AMR<-... 20071
GPSS World Stud... 12523
Borland C++Buil... 11612
Borland Delphi ... 8525
Turbo Pascal fo... 7035
Visual Studio 2... 4992
Калькулятор [Ис... 4744
FreeSMS v1.3.1 3539
Случайные статьи
Генерация контента...
Первый шаг в постр...
Какие возможности ...
Преимущества контр...
Подготовка корпуса...
Помещение модели д...
Statement part too...
Чтение структуры P...
только соединиться...
Установка/Апгрейд ...
Недвижимость в Чите
Использование DTD-...
Правильная настрой...
Размеры объектов к...
2.1. Соберем все в...
Слоты Gms Deluxe с...
Destructor Identif...
Двери задор
Где мы находимся?
Глоссарий
2.1. ЦЕЛЬ: ХРАНЕНИ...
Блок-диаграммы (бл...
Где купить кухню в...
Установка и удален...
Обслуживание и под...
Статистика



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


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