Читайте также:
|
|
Тупик – это ситуация, в которой находится процесс, ожидающий событие, которое никогда не произойдет(deadlock).
Тупики возникают вследствие:
Ошибок программирования (отсутствия семафора).
Занятости ресурсов, которые необходимы процессам. Ресурсы бывают разделяемыми и выделяемыми(монопольного владения). Тупики могут возникнуть с одними и с другими, но обычно с ресурсами монопольного владения.
Условия возникновения тупиков:
Условие взаимоисключения, одновременно использовать ресурс может только один процесс.
Условие ожидания ресурсов. Процессы удерживают ресурсы выделенные им и могут запрашивать другие ресурсы.
Условие неперераспределяемости. Ресурс не может быть отобран у процесса, а только освобожден самим процессом.
Условие кругового ожидания. Существует кольцевая цепь процессов, в которой каждый ресурс необходим одному процессу, но принадлежит другому.
Для возникновения тупика необходимо и достаточно выполнение всех 4-х условий.
Иерархия памяти. Локальность.
Иерархия памяти состоит из нескольких уровней. Чем выше уровень, тем меньше объем и тем выше скорость доступа к данным. Таким образом, чем выше уровень, тем выше стоимость 1 бита информации на данном уровне. Процессор при работе обращается к уровням сверху вниз. Если данные найдены на более высоком уровне. то обращения к более низкому не будет. Кроме того, для обработки данные могут копироваться из более низких уровней в более высокие.
Дата добавления: 2015-08-13; просмотров: 42 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Требования, предъявляемые к алгоритмам организации взаимодействия процессов. | | | Понятие физического и виртуального адреса. Связывание адресов. |