Методы доступа

Методы доступа определяют набор программ, осуществляющих операции ввода-вывода (программы метода доступа), и набор внешних спецификаций пользователя для выполнения операций обмена (макрокоманды методов доступа).

В зависимости от логического уровня различают следующие уровни методов доступа:

  1. физические методы доступа; применимы к любым организациям данных;
  2. базисные методы доступа; применимы практически к любым организациям наборов данных;
  3. методы доступа с очередями; применимы только к организациям, допускающим последовательную обработку записей;
  4. виртуальные методы доступа; используют странично-сегментную организацию памяти.

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

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

Физический метод доступа является базовым в операционной системе. Через него реализуются все остальные методы доступа более высокого уровня.

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

Супервизор ввода-вывода выполняет следующие функции:

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