Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы Операц среды Уманский 2011.docx
Скачиваний:
38
Добавлен:
24.09.2019
Размер:
66.74 Кб
Скачать
  1. Приведите пример использования семафора. Что такое мьютекс, как он используется?

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

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

  1. Перечислите методы взаимоисключений процессов.

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

  1. Когда возникает необходимость в синхронизации процессов?

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

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

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

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

  1. Дайте определение иерархической памяти.

Иерархическая память - структура соподчиненности запоминающих устройств в организации внешней памяти. Иерархическая память предоставляется системой управления иерархией запоминающих устройств.