Все о моделировании в Компас-3D LT
   Главная Статьи Файлы Форум Ссылки Категории новостей
Декабрь 12 2018 17:13:38   
Навигация
Главная
Статьи
Файлы
FAQ
Форум
Ссылки
Категории новостей
Обратная связь
Фото галерея
Поиск
Разное
Карта Сайта
Популярные статьи
Что необходимо ... 65535
4.12.1 Професси... 21904
Примеры, синони... 21053
Учимся удалять!... 20686
FAST (методика ... 18709
Просмотр готовы... 18572
Декартовы коорд... 16836
Просмотр готовы... 15346
Работа с инстру... 11619
Что такое САПР 11019
Сейчас на сайте
Гостей: 1
На сайте нет зарегистрированных пользователей

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

Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ по Delphi
Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog
12.1 ПРОБЛЕМЫ, СВЯЗАННЫЕ С МНОГОПРОЦЕССОРНЫМИ СИСТЕМАМИ
В главе 2 мы говорили о том, что защита целостности структур данных ядра системы UNIX обеспечивается двумя способами: ядро не может выгрузить один процесс и переключиться на контекст другого, если работа производится в режиме ядра, кроме того, если при выполнении критического участка программы обработчик возникающих прерываний может повредить структуры данных ядра, все возникающие прерывания тщательно маскируются. В многопроцессорной системе, однако, если два и более процессов выполняются одновременно в режиме ядра на разных процессорах, нарушение целостности ядра может произойти даже несмотря на принятие защитных мер, с другой стороны, в однопроцессорной системе вполне достаточных.
struct queue {} *bp, *bp1;
bp1-›forp = bp-›forp;
bp1-›backp = bp;
bp-›forp=bp1;
/* рассмотрите возможность переключения контекста в этом месте */
bp1-›forp-›backp =b p1;
Рисунок 12.2. Включение буфера в список с двойными указателями
В качестве примера рассмотрим фрагмент программы из главы 2 (Рисунок 12.2), в котором новая структура данных (указатель bp1) помещается в список после существующей структуры (указатель bp). Предположим, что этот фрагмент выполняется одновременно двумя процессами на разных ЦП, причем процессор A пытается поместить вслед за структурой bp структуру bpA, а процессор B структуру bpB. По поводу сопоставления быстродействия процессоров не приходится делать никаких предположений: возможен даже наихудший случай, когда процессор B исполняет 4 команды языка Си, прежде чем процессор A исполнит одну. Пусть, например, выполнение программы процессором A приостанавливается в связи с обработкой прерывания. В результате, даже несмотря на блокировку остальных прерываний, целостность данных будет поставлена под угрозу (в главе 2 этот момент уже пояснялся).
Ядро обязано удостовериться в том, что такого рода нарушение не сможет произойти. Если вопрос об опасности возникновения нарушения целостности оставить открытым, как бы редко подобные нарушения ни случались, ядро утратит свою неуязвимость и его поведение станет непредсказуемым. Избежать этого можно тремя способами:
1. Исполнять все критические операции на одном процессоре, опираясь на стандартные методы сохранения целостности данных в однопроцессорной системе;
2. Регламентировать доступ к критическим участкам программы, используя элементы блокирования ресурсов;
3. Устранить конкуренцию за использование структур данных путем соответствующей переделки алгоритмов.
Первые два способа здесь мы рассмотрим подробнее, третьему способу будет посвящено отдельное упражнение.
Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

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

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

Пароль



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

Забыли пароль?
Запросите новый здесь.
Случайные статьи
Глава 1. GARMIN QUEST
6.4.2 Взаимодейст...
Что для нас будет ...
Руководство по раз...
Проверка правильно...
Перепроектирование...
4.1.2 Обращение к ...
Глава 9. Humminbir...
Что представляет с...
7.2.2. Необходимые...
1. Линейно-функцио...
Creative MegaWorks...
Почему САПР не "эл...
Глава 3. ПалмГИС
2.4. Продуктивност...
2.2.1 Обзор особен...
2.3. Представление...
Коммутация каналов
Известные объекты
Принцип 1. Как мож...
Кратчайшее описание
Графический язык
Правила для атрибутов
Глава 3. Компьютер...
Метод доступа в се...
2.5. Пропуск этап...
Как подключить GPS...
4.12.4.3 Низкоорби...
7.3.2. Концепци...
1.3.1 Файловая сис...
О чем мы узнали ?
Качество
ГЛАВА 4. ИСПОЛЬЗО...
ГЛАВА 2. ПЯТЬ УРОВ...
Этапы реинжиниринг...
1.3 ОБЗОР С ТОЧКИ ...
4.1 Структура и ха...
2. Моделирование и...
5.16.2 Поводы для ...
Время восхода/захо...
Мини-чат
Вам необходимо залогиниться.

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