Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС / Тема_4.ppt
Скачиваний:
252
Добавлен:
11.04.2015
Размер:
5.04 Mб
Скачать

4.2.4. Разделение устройств и данных между процессами

Устройства ввода-вывода могут предоставляться процессам как в монопольном, так и в разделенном режиме.

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

Операционные системы

71

4.2.4. Разделение устройств и данных между процессами

ОС может контролировать доступ не только к устройству в целом, но и к отдельным порциям данных, хранимых этим устройством (например, диск). В последнем случае непременным является задание режима совместного использования устройства в целом.

Одно и то же устройство в разные периоды времени может использоваться как в разделяемом, так и монопольном режимах.

Операционные системы

72

4.2.4. Разделение устройств и данных между процессами

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

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

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

Операционные системы

73

4.2.4. Разделение устройств и данных между процессами

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

Операционные системы

74

4.2.4. Разделение устройств и данных между процессами

Понятие виртуального устройства шире понятия спулинга. Спулинг – это имитация работы с устройством в режиме непосредственного подключения к нему).

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

Системные процессы, которые управляют спул- файлом, называются спулером чтения (spool-reader) или спулером записи (spool-writer).

Операционные системы

75

4.2.4. Разделение устройств и данных между процессами

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

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

Процессы могут одновременно выполнять вывод на принтер, помещая данные в свой раздел спул-файла.

Операционные системы

76

4.2.4. Разделение устройств и данных между процессами

Достаточно рационально организована работа с виртуальными устройствами в системах Windows 9x/NT/2000/XP компании Microsoft.

Пример - подсистема печати.

Microsoft различает термины «принтер» и «устройство печати».

Принтер — это некоторая виртуализация, объект операционной системы, а устройство печати — это физическое устройство, которое может быть подключено к компьютеру.

Принтер может быть локальным или сетевым.

Операционные системы

77

4.2.4. Разделение устройств и данных между процессами

При установке локального принтера в операционной системе создается новый объект, связанный с реальным устройством печати через тот или иной

интерфейс.

Интерфейс может быть и сетевым, то есть передача управляющих кодов в устройство печати может осуществляться через локальную вычислительную сеть, однако принтер все равно будет считаться локальным.

Локальность принтера означает, что его спул-файл будет находиться на том же компьютере, что и принтер.

Операционные системы

78

4.2.4. Разделение устройств и данных между процессами

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

Операционные системы

79

4.2.4. Разделение устройств и данных между процессами

Для получения управляющих кодов принтера устанавливается программное обеспечение (компания Microsoft называет его высокоуровневым драйвером).

Эти управляющие коды посылаются на устройство печати по соответствующему интерфейсу через назначенные принтеру порты и управляют работой устройства печати.

При получении операционной системой от приложения запроса на печать она выделяет для этого процесса виртуальный принтер.

Операционные системы

80

Соседние файлы в папке ОС