Блокирующие переменные (двоичный семафор Дейкстры)




Скачать 27.41 Kb.
НазваниеБлокирующие переменные (двоичный семафор Дейкстры)
Дата публикации18.04.2013
Размер27.41 Kb.
ТипЛекция
odtdocs.ru > Математика > Лекция

Системное программное обеспечение


Лекция 6.

Блокирующие переменные (двоичный семафор Дейкстры)

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

Семафоры Дейкстры

Уже не двоичная переменная.

Использование семафоров для синхронизации потоков (Пример: читать и писать)



^ Иллюстрация 1: Использование семафоров при чтении-записи с буфером (пример)
S — семафор. V(S) — S увеличивается на единицу (при выходе из критической секции), P(S) — S уменьшается на единицу (при входе). S принимает значение e и f.

^ Тупики (взаимная блокировка, deadlock — дедлок, клинч — clinch)

Возможно, когда сначала пройдет чтение, а потом будет запись. Задание: найти такую ситуацию на рисунке.

Распознавание тупиков — нетривиальная задача, не решенная в общем случае.

Синхронизирующие объекты ОС (для синхронизации процессов)

  • системные семафоры

  • мьютексы ???

  • события

  • таймеры

  • другие

(посмотреть самостоятельно)

Сигналы — возможность задачи реагировать на события (пример: нажатие на клавишу). Событие возможно только тогда, когда пришел какой-то сигнал.
Глава 5. (стр. 162 — 212)«Управление памятью»

Управление: Планирование — Организация — Контроль — Корректировка

  • отслеживание свободной памяти (контроль)

  • выделение памяти процессам (план)

  • освобождение памяти после завершения процесса (реализация)

  • вытеснение кодов и данных на диск и возвращение их в оперативную память

  • настройка адресов на конкретную область ФИЗИЧЕСКОЙ памяти

Типы адресов

  • символьные имена (присваивает пользователь)

  • виртуальные адреса (математические, логические: вырабатывает транслятор)

  • физические адреса (номера ячеек памяти)

Виртуальное адресное пространство

- совокупность виртуальных адресов процесса. Совпадение виртуальных адресов не приводит к конфликту, совпадение физических адресов — приводит.

^ Структуризация виртуального адресного пространства

  • линейная (плоская, flat) : адрес — одно число

  • сегментная : адрес — два числа (n,m): n — номер сегмента, m — номер внутри сегмента (смещение)

Задачи ОС по преобразованию виртуальных адресов в физические

  • преобразование 1 раз — выполняет перемещающий загрузчик (используется в системах реального времени)

  • загрузка в неизменном виде (без преобразования)

Ситуации при выделении памяти

  • виртуальной памяти больше, чем физической

  • физическая память больше виртуальной (MS-DOS на современных машинах, разрядность адреса)

^ Деление виртуальной памяти между ОС и всеми остальными



Иллюстрация 2: Деление памяти между ОС и процессами (пополам ОС и всем процессам)



Алгоритмы распределения памяти

  1. без использования внешней памяти («внутри МКАД»)
    а) фиксированными разделами (недостаток: фрагментация)
    б) динамическими разделами (недостаток: фрагментация может увеличиваться)
    в) перемещаемыми разделами (сжатие разделов)

  2. с использованием внешней памяти («за МКАД»)
    а) страничное (фиксированные разделы)
    б) сегментное (более крупный блок)
    в) сегментно-страничное (страницы внутри сегментов)


Распределение динамическими разделами

  1. Ведение таблиц свободных и занятых областей

  2. При запросе просмотр и выбор раздела, чтобы удовлетворить запросу памяти

  3. Загрузка в память (удовлетворение запроса)

  4. Корректировка таблиц

Недостаток — фрагментация.

Распределение перемещаемыми разделами

Появляется процедура сжатия (перемещение разделов без разрывов адресов памяти).

Виртуальная память и своппинг.

Добавить документ в свой блог или на сайт

Похожие:

Типы данных (переменных)
«дата/время», логические переменные и массивы из данных каждого типа различной размерности. Сами документы OpenOffice org, а также...

Типы данных (переменных)
«дата/время», логические переменные и массивы из данных каждого типа различной размерности. Сами документы OpenOffice org, а также...

Московский государственный институт электроники и математики
В работе выполняется расчёт оптимальных маршрутов сети при помощи алгоритма Беллмана-Форда и Дейкстры

Московский государственный институт электроники и математики
Для удобства работа алгоритма Дейкстры показана графически. Номера над маршрутизаторами — оптимальный вес маршрута

Тесты по логике Тест 1
Высказывание “для а необходимо В” (А и в логические переменные) соответствует формуле

Программа: вариант №1, вычисление числа π через ряд Лейбница
«Промежуточные» переменные помещаются не в регистры, а обратно в стековую память

Решение задачи
Примером распространённого алфавита является двоичный алфавит. Конечная строка — это конечная последовательность букв алфавита. Например,...

Теоретическая часть
Двоичный код состоящий из 8 разрядов носит название байта. Для записи чисел также используют 32-разрядный формат (машинное слово),...

Суперглобальные переменные php
Примечание: Впервые появилась в php версии 1 в более ранних версиях используется переменная $http server vars

Унарные / бинарные операторы Операции отношения
Текст не в кавычках, который не является командой, как полагают, является переменной. Переменные, по умолчанию, курсивные

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
odtdocs.ru
Главная страница