Студопедия

КАТЕГОРИИ:


Архитектура-(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; Просмотров: 353; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.