Устройства ввода-вывода

Лекция 10. Ввод-вывод

Удаление по приоритетам.

Удаление по вероятности использования

Удаление в связи с давностью использования

Удаление по времени пребывания в ОП

Случайное удаление страниц

Случайное удаление не является самым эффективным способом, так как оно не может дать стопроцентной гарантии, что только что удалённая страница не понадобится на следующем этапе работы. Случайное удаление осуществляется с помощью функции случайных чисел. Супервизор попросту берет начальный адрес случайной страницы в оперативной памяти и переписывает его в swap-файл (на диск). При этом корректируется страничная (сегментная) таблица.

Механизм этой стратегии можно представить как «первым вошел, первым вышел». Это значит, что страница, дольше всех находящаяся в оперативной памяти будет удалена первой. Этот метод также не универсален, и основное неудобство заключается в том, что необходимо вести механизм учёта за длительностью пребывания страниц в ОП, что также связанно с усложнением структуры и потерей времени.

Замещается та страница, на которую нет ссылок на протяжении наиболее длительного времени (процесс в течение долго времени не нуждался в ней, а значит, появляется вероятность, что эта страница не понадобится и на следующем этапе).

Вероятность использования страницы N очень небольшая, а вероятность использования страницы М высока. В этом случае, страница N будет удалена из памяти. Этот способ также не представляется достаточно эффективным, так как здесь всё основано на вероятности. Но, каждый раз, когда мы подбрасываем монету, неизвестно какой стороной она упадёт. Так же и здесь - нет никакой гарантии, что эта страница не понадобится на следующем этапе.

Этот способ является достаточно эффективным, так как страницы удаляются по приоритетам. Каждая страница имеет свой приоритет, который устанавливается супервизором в соответствии с «важностью» программы, находящейся в определённой странице. Предположим, что в странице N находятся коды важной пользовательской подпрограммы, а в странице М - текстовый файл, работа с которым не является столь важной. Тогда N получает приоритет 1, а М, предположим, 9. Это значит, что когда в следующий раз супервизору понадобится удалить из ОП страницу, он начнет со страниц, имеющих самый низкий уровень приоритета (9).

 

 

Одна из важнейших функций операционной системы состоит в управлении всеми устройствами ввода-вывода компьютера. Операционная система должна давать этим устройствам команды, перехватывать прерывания и обрабатывать ошибки. Она должна также обеспечить простой и удобный интерфейс между устройствами и остальной частью системы. Интерфейс, насколько это возможно, должен быть одинаковым для всех устройств (для достижения независимости от применяемых устройств).

Операционная система управляет устройствами ввода-вывода. Программное обеспечение ввода-вывода составляет существенную часть операционной системы.

ОС имеет дело с интерфейсом, предоставляемым аппаратурой программному обеспечению, - команды, принимаемые аппаратурой, выполняемые ею функции и ошибки, о которых аппаратура может сообщить. В то же время программирование многих устройств ввода-вывода часто оказывается тесно связанным с их внутренним функционированием.

Устройства ввода-вывода можно разделить на две категории: блочные устройства и символьные устройства.

Блочныминазываются устройства, хранящие информацию в виде блоков фиксированного размера, причем у каждого блока имеется адрес. Обычно размеры блоков варьируются от 521 до 32 768 байт. Важное свойство блочного устройства состоит в том, что каждый его блок может быть прочитан независимо от остальных блоков. Наиболее распространенными блочными устройствами являются диски.

Другой тип устройств ввода-вывода - символьные устройства. Символьное устройство принимает или предоставляет поток символов без какой-либо блочной структуры. Оно не является адресуемым и не выполняет операцию поиска. Принтеры, сетевые интерфейсные карты, мыши и большинство других устройств, не похожих на диски, можно рассматривать как символьные устройства.

Некоторые устройства не попадают ни в одну из категорий. Например, часы не являются блок-адресуемыми. Они также не формируют и не принимают символьных потоков. Вся их работа состоит в инициировании прерываний в строго определенные моменты времени. Экраны отображения памяти также не попадает в рамки этой модели. И все же модель блочных и символьных устройств является настолько общей, что может использоваться в качестве основы для достижения независимости от устройств некоторого программного обеспечения операционных систем, имеющего дело с вводом-выводом. Например, файловая система имеет дело с абстрактными блочными устройствами, а зависимую от устройств часть составляет программному обеспечению низкого уровня.

Устройства ввода-вывода покрывают огромный диапазон скоростей, что создает определенные трудности для программного обеспечения, которому приходится обеспечивать хорошую производительность на скоростях передачи данных, различающихся несколькими порядками. Со временем у многих устройств появляются все более быстрые новые модели.