Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы левые.doc
Скачиваний:
7
Добавлен:
15.03.2016
Размер:
214.53 Кб
Скачать
  1. Средства синхронизации и взаимодействия процессов. Сигналы и события в ос.

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

Во многих операционных системах эти средства называются средствами межпроцессного взаимодействия — Inter Process Communications (IPC), что отражает историческую первичность понятия "процесс" по отношению к понятию "поток".

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

Таким образом, потоки должны взаимодействовать друг с другом в двух основных случаях:

совместно используя разделяемый ресурс (чтобы не разрушить его);

когда нужно уведомлять другие потоки о завершении каких-либо операций.

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

,

Ввод-вывод в ОС, спулинг

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

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

Устройства ввода-вывода (УВВ) делятся на разделяемые (посредством механизма прямого доступа НМД, CD-ROM) и неразделяемые (посредством механизма последовательного доступа принтер, НМЛ).

Роль ОС в общении задач с УВВ определяется тремя причинами:

– необходимость разрешения конфликтов между задачами, которые обращаются к УВВ;

– необходимость более эффективного использования ресурсов (например, чтение данных с жесткого диска в последовательности, которая дает минимальное перемещение головок);

– ошибки в программах ввода-вывода задачи могут привести к краху всего вычислительного процесса.

Супервизор ввода-вывода (компонент ОС, отвечающий за управление вводом-выводом)

Существует два режима ввода-вывода: обмен с опросом готовности и обмен по прерываниям

Термин спулинг (spooling) не имеет общепринятого русского аналога.В соответствии с программистским фольклором, слово это происходит отаббревиатуры Simultaneous Peripherial Operation Off Line.Эту фразу трудно дословно перевести на русский язык; имеется в видуметод работы с внешними устройствами вывода (реже - ввода) в многозадачной ОС или многомашинной среде, при которой задачам создается иллюзия одновременного доступа к устройству. При этом, однако, задачи не получают к устройству прямого доступа, а работают в режиме off-line (без прямого подключения). Выводимые данные накапливаются системой, а затем выводятся на устройство так, чтобы вывод различных задач не смешивался.