Cтраница 2
Драйверы устройств управляют деталями работы устройств и предоставляют однородные интерфейсы к остальной части операционной системы. Независимое от устройств программное обеспечение ввода-вывода занимается буферизацией и сообщением об ошибках. [16]
Глава организована следующим образом. Сначала мы рассмотрим некоторые основы аппаратуры ввода-вывода, затем в общих чертах познакомимся с программным обеспечением ввода-вывода. Программное обеспечение ввода-вывода может быть структурировано в виде уровней, у каждого из которых есть строго очерченный круг задач. Мы рассмотрим эти уровни, чтобы понять, что они делают и как согласуются друг с другом. [17]
Глава организована следующим образом. Сначала мы рассмотрим некоторые основы аппаратуры ввода-вывода, затем в общих чертах познакомимся с программным обеспечением ввода-вывода. Программное обеспечение ввода-вывода может быть структурировано в виде уровней, у каждого из которых есть строго очерченный круг задач. Мы рассмотрим эти уровни, чтобы понять, что они делают и как согласуются друг с другом. [18]
Глава организована следующим образом. Сначала мы рассмотрим некоторые основы аппаратуры ввода-вывода, затем в общих чертах познакомимся с программным обеспечением ввода-вывода. Программное обеспечение ввода-вывода может быть структурировано в виде уровней, у каждого из которых есть строго очерченный круг задач. Мы рассмотрим эти уровни, чтобы понять, что они делают и как согласуются друг с другом. [19]
Каждая операционная система имеет свою подсистему ввода-вывода для управления устройствами ввода-вывода. Некоторые из программ ввода-вывода являются независимыми от устройств, то есть их можно применить ко многим или ко всем устройствам ввода-вывода. Другая часть программного обеспечения ввода-вывода, в которую входят драйверы устройств, предназначена для определенных устройств ввода-вывода. В главе 5 мы рассмотрим программное обеспечение ввода-вывода данных. [20]
Описаны эксперименты, выполненные в Калифорнийском университете в Беркли. Эти эксперименты позволили определить затраты, необходимые для модификации программ ввода-вывода. Программное обеспечение ввода-вывода было изменено таким образом, чтобы во время выполнения операторов READ и WRITE проверялись права пользователей на доступ. Возможны три различных результата такой проверки: доступ не разрешен; доступ не зависит от данных и разрешен; доступ зависит от данных и требуется проведение дополнительных процедур контроля. [21]
Одна из важнейших функций операционной системы состоит в управлении всеми устройствами ввода-вывода компьютера. Операционная система должна давать этим устройствам команды, перехватывать прерывания и обрабатывать ошибки. Она должна также обеспечить простой и удобный интерфейс между устройствами и остальной частью системы. Программное обеспечение ввода-вывода составляет существенную часть операционной системы. Тому, как операционная система управляет устройствами ввода-вывода, и посвящена эта глава. [22]
Каждая операционная система имеет свою подсистему ввода-вывода для управления устройствами ввода-вывода. Некоторые из программ ввода-вывода являются независимыми от устройств, то есть их можно применить ко многим или ко всем устройствам ввода-вывода. Другая часть программного обеспечения ввода-вывода, в которую входят драйверы устройств, предназначена для определенных устройств ввода-вывода. В главе 5 мы рассмотрим программное обеспечение ввода-вывода данных. [23]
Второй пример, иллюстрирующий важность макро -, а не микроэффективности, относится к тому времени, когда я работал системным программистом в вычислительном центре, в котором собирались устанавливать новую вычислительную систему третьего поколения. После того как анализ системы был завершен, мы предприняли такие шаги, как улучшение алгоритмов буферизации в программном обеспечении ввода-вывода, изменение формата физических блоков системных библиотек для уменьшения времени ожидания из-за вращения диска, изменение взаимного физического расположения некоторых файлов для уменьшения времени поиска и регулирование использования каналов. Хотя эти меры потребовали изменения менее тысячи операторов исходной программы системы, пропускная способность системы увеличилась примерно в четыре раза. [24]