ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.01.2025

Просмотров: 304

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Согласование скоростей обмена и кэширование данных

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

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

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

Обеспечение удобного логического интерфейса между устройствами и остальной частью системы

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

Поддержка широкого спектра драйверов и простота включения нового драйвера в систему

Поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера. Достоинством подсистемы ввода-вывода операционной системы является разнообразие устройств, поддерживаемых данной ОС. Для создания драйверов необходимо наличие удобного и открытого интерфейса между драйверами и другими компонентами ОС. Драйвер взаимодействует, с одной стороны, с модулями ядра ОС (модулями подсистемы ввода-вывода, модулями системных вызовов, модулями подсистем управления процессами и памятью и т. д.), а с другой стороны — с контроллерами внешних устройств. Поэтому существуют два типа интерфейсов: интерфейс «драйвер-ядро» (Driver Kernel Interface, DKI) и интерфейс «драйвер-устройство» {Driver Device Interface, DDF). Интерфейс «драйвер-ядро» должен быть стандартизован в любом случае, а интерфейс «драйвер-устройство» имеет смысл стандартизировать тогда, когда подсистема ввода-вывода не разрешает драйверу непосредственно взаимодействовать с аппаратурой контроллера, а выполняет эти операции самостоятельно. Экранирование драйвера от аппаратуры является весьма полезной функцией, так как драйвер в этом случае становится независимым от аппаратной платформы.


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

Динамическая загрузка и выгрузка драйверов

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

Поддержка нескольких файловых систем

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


Поддержка синхронных и асинхронных операций ввода-вывода

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

Bilet 30 vopros 2 2. Основы мультипрограммирования.

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

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

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


Различают два основных режима многопрограммной работы ЭВМ: пакетной (групповой) обработки и разделения времени. Пакетная обработка заключается в комплектовании пакетов задач по мере поступления заявок от потребителей и в последовательной обработке каждого из этих пакетов так, чтобы обеспечить максимальную загрузку устройств. Пакет рекомендуется комплектовать из задач с различными объёмами информации и частотами обмена ею между устройствами ЭВМ. Программы задач вводят во внешнюю память и по очереди выполняют. При вынужденных прерываниях текущей программы ЭВМ переключается на выполнение очередной программы пакета, а прерванная программа после устранения причины прерывания снова ставится в очередь. При пакетной обработке учитываются приоритет поступивших заявок, момент их поступления и др. Режим пакетной обработки увеличивает производительность ЭВМ, снижает до минимума простои оборудования и является типичным режимом использования ЭВМ в вычислительных центрах. Однако пакетная обработка малоэффективна с точки зрения потребителей, т. к., не работая непосредственно с ЭВМ, они не могут быстро обнаруживать и исправлять ошибки в своих программах. Сроки получения результатов также возрастают.

Режим разделения времени создаёт у каждого потребителя впечатление, что ЭВМ обслуживает только его одного. Каждый потребитель снабжается устройством для ввода — вывода данных (типа «дисплей») или др. оборудованием, обеспечивающим взаимодействие потребителя с ЭВМ, в том числе и по каналам связи. Периодически каждый потребитель в отведённое для него машинное время решает свою задачу, изучает полученные результаты и готовит следующее задание для ЭВМ. Обычно потребитель пользуется общей библиотекой программ, но может иметь и частный архив. При пользовании общей библиотекой диспетчер-программа планирует и осуществляет вынужденные прерывания программ в зависимости от приоритета потребителя и отведённого ему машинного времени, а также от характера решаемой задачи. Режим разделения времени позволяет потребителю вести эффективный диалог с машиной, что наиболее удобно в системах управления технологическими процессами, в автоматизированных системах управления (АСУ) предприятиями и отраслями народного хозяйства, в информационно-справочных службах, в мощных вычислительных центрах и т. д. В свободное от обслуживания потребителей время ЭВМ могут проводить пакетную обработку данных.

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