Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену СПО.docx
Скачиваний:
1
Добавлен:
18.01.2024
Размер:
1.11 Mб
Скачать
  1. Основные категории ресурсов ос. Типы доступа к ресурсам ос.

Основные категории ресурсов операционной системы (ОС) включают в себя:

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

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

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

  4. Сетевые ресурсы: это ресурсы, доступные через сеть, такие как интернет, принтеры в сети и т. д. ОС управляет доступом к этим ресурсам, обеспечивая безопасность и корректность их использования.

Типы доступа к ресурсам операционной системы Windows и Linux могут включать:

Совместное использование ресурсов: этот тип доступа позволяет нескольким программам одновременно использовать один и тот же ресурс. Например, несколько программ могут одновременно использовать одну и ту же память или процессорное время.

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

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

  1. Понятие взаимной блокировки (тупика). Примеры, условия возникновения, обнаружение, предупреждение взаимоблокировок.

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

Пример: предположим, что у нас есть три процесса: A, B и C. Процесс A хочет получить доступ к ресурсу R1, процесс B хочет получить доступ к R2, а процесс C хочет получить доступ и к R1 и R2. Если все три процесса попытаются получить доступ к своим ресурсам одновременно, то возникнет взаимная блокировка, так как ни один из процессов не сможет продолжить свою работу, поскольку все ресурсы будут заняты другими процессами.

Тупиковая ситуация по примеру выше

Условия возникновения взаимных блокировок:

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

2. Условие удержания и ожидания. Процессы, удерживающие в данный момент ранее выделенные им ресурсы, могут запрашивать новые ресурсы.

3. Условие невыгружаемости. Ранее выделенные ресурсы не могут быть принудительно отобраны у процесса. Они должны быть явным образом высвобождены. *Процессы не могут быть принудительно завершены или вытеснены из процессора.*

тем процессом, который их удерживает.

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

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

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

Существует несколько технологий обнаружения и восстановления взаимных блокировок (тупиков) в операционных системах:

Анализ системных вызовов: ОС может отслеживать системные вызовы, которые выполняются процессами, и анализировать их, чтобы определить, есть ли вероятность возникновения тупика.

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

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

Восстановление после тупика может включать в себя несколько методов:

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

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

Для предупреждения взаимных блокировок процессов можно использовать следующие методы:

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

  • Использование блокировок и ожиданий: применение блокировок и ожиданий позволяет контролировать доступ процессов к ресурсам и предотвращать возникновение тупиковых ситуаций.

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

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