Все о моделировании в Компас-3D LT
   Главная Статьи Файлы Форум Ссылки Категории новостей
Май 25 2020 04:49:49   
Навигация
Главная
Статьи
Файлы
FAQ
Форум
Ссылки
Категории новостей
Обратная связь
Фото галерея
Поиск
Разное
Карта Сайта
Популярные статьи
Что необходимо ... 65535
Учимся удалять!... 26267
4.12.1 Професси... 23593
Примеры, синони... 21582
FAST (методика ... 19696
Просмотр готовы... 19401
Декартовы коорд... 18109
Просмотр готовы... 16284
содержание - се... 13610
Работа с инстру... 12337
Сейчас на сайте
Гостей: 1
На сайте нет зарегистрированных пользователей

Пользователей: 9,955
новичок: Logyattella
Друзья сайта
Ramblers Top100
Рейтинг@Mail.ru

Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ по Delphi
Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog
12.3 СЕМАФОРЫ
Поддержка системы UNIX в многопроцессорной конфигурации может включать в себя разбиение ядра системы на критические участки, параллельное выполнение которых на нескольких процессорах не допускается. Такие системы предназначались для работы на машинах AT amp;T 3B20A и IBM 370, для разбиения ядра использовались семафоры (см. [Bach 84]). Нижеследующие рассуждения помогают понять суть данной особенности. При ближайшем рассмотрении сразу же возникают два вопроса: как использовать семафоры и где определить критические участки.
Как уже говорилось в главе 2, если при выполнении критического участка программы процесс приостанавливается, для защиты участка от посягательств со стороны других процессов алгоритмы работы ядра однопроцессорной системы UNIX используют блокировку. Механизм установления блокировки:
выполнять пока (блокировка установлена) /* операция проверки */
приостановиться (до снятия блокировки);
установить блокировку;
механизм снятия блокировки:
снять блокировку;
вывести из состояния приостанова все процессы, приостановленные в результате блокировки;
Рисунок 12.5. Конкуренция за установку блокировки в многопроцессорных системах
Блокировки такого рода охватывают некоторые критические участки, но не работают в многопроцессорных системах, что видно из Рисунка 12.5. Предположим, что блокировка снята и что два процесса на разных процессорах одновременно пытаются проверить ее наличие и установить ее. В момент t они обнаруживают снятие блокировки, устанавливают ее вновь, вступают в критический участок и создают опасность нарушения целостности структур данных ядра. В условии одновременности имеется отклонение: механизм не сработает, если перед тем, как процесс выполняет операцию проверки, ни один другой процесс не выполнил операцию установления блокировки. Если, например, после обнаружения снятия блокировки процессор A обрабатывает прерывание и в этот момент процессор B выполняет проверку и устанавливает блокировку, по выходе из прерывания процессор A так же установит блокировку. Чтобы предотвратить возникновение подобной ситуации, нужно сделать так, чтобы процедура блокирования была неделимой: проверку наличия блокировки и ее установку следует объединить в одну операцию, чтобы в каждый момент времени с блокировкой имел дело только один процесс.
Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Случайные статьи
Правила размещения...
Постоянное обновление
2.3.2.4 Телеграфны...
Аннотация
3.1 Основные типы ...
3.9 Технология Gig...
1.3.1 Файловая сис...
8.1.6 Работа в реж...
Больше 500 долларов
4.11 Технология АТМ
Глава 11. Pretec ...
Вертикальное скани...
10.2 ДИСКОВЫЕ ДРАЙ...
3.10 Технологии To...
Глава третья
Великолепный Linux...
Пометки на схеме
Разъем последовате...
Глава первая
Глава 2. Беспровод...
9.6. Межгрупповая ...
9.4 ВЫВОДЫ
Принцип 4. Создава...
2.4.7.2 Обнаружени...
Прокладка маршрута
Глава 13. INTERPHA...
Индукция Джона Ст...
4.5 СУПЕРБЛОК
8.3.1 Перезапуск ч...
Глава 7. HUMMINBI...
Вспомогательные ...
2.2. Понимание ко...
10.4 ПОТОКИ
Глава 4. Основные ...
ГЛАВА 8. ДИСПЕТЧЕР...
3.11 Особенности ...
6.6 ПРИОСТАНОВКА В...
3.7 УПРАЖНЕНИЯ
Глава 2. Pocket N...
2.4.7.1 Идея цикли...
Мини-чат
Вам необходимо залогиниться.

Нет присланных сообщений.
Copyright © 2009