Навигация
Главная
Поиск
Форум
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
Создание отчето... 65455
Модуль Forms 65215
Пример работы с... 64642
ТЕХНОЛОГИИ ДОСТ... 61898
Имитационное мо... 57779
Реклама
Сейчас на сайте
Гостей: 5
На сайте нет зарегистрированных пользователей

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

Метод конечных разностей для интерполяции/экстраполяции на Delphi
Моделирование процесса поступления заявок в систему, состоящую из трёх Э...
Лабораторная работа по динамическим спискам на Turbo Pascal (удаление ду...

Реклама



Подписывайся на 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 Комментариев · 1060 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
PHP: обучение на ...
Apollovcl61
Crypt32
Панель Наша Кнопка
Профессиональное ...
FreeNet
Encrypt Decrypt
PolyFlow
Trojan [Исходник ...
Создание отчетов ...
Панель поиска
Программирование ...
39 статьи по Delphi
Сложный калькулятор
Еext Editor
Панель "Случайное...
Email
Delphi и технолог...
БД сеть компьютер...
BDEPack

Топ загрузок
Приложение Клие... 100470
Delphi 7 Enterp... 87078
Converter AMR<-... 20078
GPSS World Stud... 12846
Borland C++Buil... 11846
Borland Delphi ... 8604
Turbo Pascal fo... 7039
Visual Studio 2... 4999
Калькулятор [Ис... 4802
FreeSMS v1.3.1 3542
Случайные статьи
Ввод-вывод потока
Введение
Определение параме...
Оглавление. Java. ...
Неявная загрузка м...
INDEX (ИНДЕКСИРОВАТЬ)
Разработка табличн...
при создании масси...
Глава 3
Передача факсимиль...
Интеграция и персп...
Применение вычисли...
Краткая характерис...
Проверка достоверн...
Обзор уязвимостей ...
Реализация моделей...
Осторожное резонан...
Error In statement
Платежное поручение
Бизнес в Шотландии.
Компиляция в MIPS-...
10-17)
Метод обратного ра...
«Бегун» про контек...
Редактирование диз...
Статистика



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


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