Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры СПО 2 аттестация.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
77.44 Кб
Скачать

15. Тупиковые ситуации.

Тупик – это ситуация, в которой находится процесс, ожидающий событие, которое никогда не произойдет(deadlock).

Тупики возникают вследствие :

Ошибок программирования (отсутствия семафора).

Занятости ресурсов, которые необходимы процессам. Ресурсы бывают разделяемыми и выделяемыми(монопольного владения). Тупики могут возникнуть с одними и с другими, но обычно с ресурсами монопольного владения.

Условия возникновения тупиков:

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

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

Условие неперераспределяемости. Ресурс не может быть отобран у процесса, а только освобожден самим процессом.

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

Для возникновения тупика необходимо и достаточно выполнение всех 4-х условий.

16. Иерархия памяти. Локальность.

Иерархия памяти состоит из нескольких уровней. Чем выше уровень, тем меньше объем и тем выше скорость доступа к данным. Таким образом, чем выше уровень, тем выше стоимость 1 бита информации на данном уровне. Процессор при работе обращается к уровням сверху вниз. Если данные найдены на более высоком уровне. то обращения к более низкому не будет. Кроме того, для обработки данные могут копироваться из более низких уровней в более высокие.

17. Понятие физического и виртуального адреса. Связывание адресов.

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

  1. На этапе компиляции. Компилятор преобразует относительные ссылки в физические абсолютные и записывает их в бинарный код программы. В результате такой процесс может быть загружен только в определенное место в памяти. Достоинства: благодаря отсутствию последующего связывания высокая скорость работы. Недостатки: процесс не может быть передвинут по памяти. При свопинге требует загрузки обратно в то же место. Несколько процессов могут требовать размещения в одном месте.

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

  3. На этапе выполнения. Компилятор формирует относительные ссылки, которые в таком же виде загружаются в память. При каждом обращении к памяти относительные ссылки при участии MMU преобразуются в физические. Достоинства: полная гибкость размещения процессов в памяти. Процесс может перемещаться и загружаться/выгружаться в любое место. Недостаток: замедление работы из-за необходимого связывания при каждом обращении.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]