КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Обработка ошибок
Существует два вида ошибок при обращении к странице: 1. отсутствие данных; 2. отказ системы защиты. 1. 2. Обращение к недопустимым страницам. Например, к адресу, выходящему за рамки виртуального адреса пространства. Когда процесс пытается обратиться к недоступной странице, возникает прерывание, и процессор запускает программу обработки прерываний по отказу данного типа. Если информация отсутствует в системе, то ядро посылает процессу сигнал нарушения сегментации. Если ссылка на страницу сделана правильно, то ядро выделяет физическую страницу в памяти и считывает в нее содержимое виртуальной страницы с устройства выгрузки или из исполняемого файла. Системы смешанного типа со свопингом и подкачкой по запросу. Несмотря на то, что подкачка по запросу отличается гибкостью, возможна ситуация, когда сборщик страниц не сможет достаточно быстро освободить место в памяти из-за того, что все страницы принадлежат рабочему множеству процессов. Выход из этого в том, чтобы комбинировать подкачку по запросу и свопинг. Когда ядро не может выделить процессу страницы памяти, оно возобновляет работу процесса подкачки и переводит процесс в состояние эквивалентное готовности к запуску будучи зарезервированным. Управление вводом/ выводом Подсистема управления вводом/ выводом позволяет процессам поддерживать связь с периферийными устройствами. Периферийные устройства - это терминалы, принтеры, сети. Драйверы - модули ядра, которые управляют устройствами. Каждому устройству соответствует один драйвер. Возможна ситуация, когда для однотипных устройств используются разные драйверы. Стадии конфигурации драйвера: 1. при подключении модуля 2. для plug-and-play устройств Bios устанавливает для каждого драйвера свое прерывание: - при подгруке модуля - в модуле ядра Результатом конфигурации является заполнение таблицы ключей. В таблице можно выделить два поля: При обращении к жесткому диску ядро смотрит тип устройства (оно содержится в имени файла). Существует два вида устройств: 1. символьные - - информация считывается и записывается посимвольно (принтер, сетевые карты, мыши) 2. блочные - информация считывается и записывается по блокам, блоки имеют свой адрес (диски) К символьным устройствам относят те, к которым возможен последовательный доступ (мышь, модем), к блочным – произвольный доступ (винчестеры, диски). Соответственно бывают блочные и символьные файлы. Обращение происходит через буферный Кеш. /dev/ - специальный каталог, для обращения к устройствам Для работы с блочными используются команды open, close, read, write. А для работы с символьными ioctl (для вызова). Создаются файлы командой mknod: mknod имя_файла тип ст. устр-ва мл. устр-ва (Пример): для создания файла, который будет отвечать за COM1: mknod <имя файла><тип> major minor, где major – номер типа устройства minor – номер устройства заданного типа Например, mknod /dev/tty/ S0 C 4 64 Старший номер устройства - это тип устройства, который указывается в таблице ключей, а младший номер - это номер устройства данного типа. Возникновение прерывания побуждает ядро запускать программу обработки прерывания для данного типа устройств (тип устройства определяется по вектору), передавая ей номер устройства. ПО ввода/вывода Ключевые моменты: 1) независимость от устройств. Вид программы не должен зависеть от того, читает ли она данные с гибкого диска или с жесткого диска. 2) обработка ошибок. Ошибки следует обрабатывать как можно ближе к аппаратуре. 3) буферизация. Данные с устройств невозможно сразу записать туда, куда надо. А) IP – пакет ядро/драйвер скачивает в буфер Б) формирование звука В) запись CD/DVD Для решения поставленных проблем целесообразно разделить программное обеспечение ввода-вывода на четыре слоя (см. рис.) 1) Обработка прерываний 2) Драйверы устройств 3) Независимый от устройств слой операционной системы 4) Пользовательский слой программного обеспечения.
Многоуровневая организация подсистемы ввода-вывода Способы работы с устройствами I/O
Дата добавления: 2014-01-05; Просмотров: 377; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |