- •Министерство образования и науки российской федерации федеральное агентство по образованию
- •Архитектура эвм
- •Часть 2, 3
- •Глава 5. Уровни организации эвм.
- •5.1. Машинный уровень организации
- •5.1.1. Форматы команд.
- •5.1.2. Адресация данных.
- •6.2.1.1. Прямые способы адресации.
- •6.2.1.2. Непрямые способы адресации:
- •3. Автоинкрементная, автодекрементная (индексная) адресация.
- •5.1.3. Адресация команд.
- •5.1.4. Типы машинных команд.
- •5.1.5. Команды обработки данных.
- •5.2. Микропрограммный уровень организации эвм.
- •5.2.1. Принцип микропрограммного управления.
- •5.2.2. Описание функциональных микропрограмм.
- •5.2.3 Набор микроопераций и микроэлементов.
- •1°. Шина.
- •2°. Регистры.
- •3°. Счетчики.
- •4°. Сумматоры.
- •5°. Преобразователи кодов.
- •6°. Вычисление значений логических условий.
- •7°. Комбинированные операционные элементы.
- •5.2.4. Структурное построение и функционирование микропрограммных устройств управления.
- •5.3. Системный уровень организации
- •Глава 6. Организация памяти вс.
- •6.1. Виды запоминающих устройств. Иерархия памяти.
- •6.2. Организация оперативной памяти.
- •Глава 7. Виды и архитектура процессоров.
- •7.1. Матричный процессор.
- •7.2. Процессор с конвейеризацией команд и процессор с конвейеризацией операций.
- •7.3. Суперскалярный процессор.
- •7.4. Коммуникационный процессор
- •7.5. Архитектуры cisc и risc.
- •Глава 8. Организация связей в эвм.
- •Глава 9. Основные классы современных параллельных компьютеров.
- •9.1. Симметричные мультипроцессорные системы (smp) (Symmetric Multi-Processing)
- •9.2. Массивно-параллельные системы (мрр) (Massively Parallel Processing)
- •9.3. Системы с неоднородным доступом к памяти (numa) (non uniform memory access)
- •9.4. Параллельно-векторные системы (pvp)
- •9.5. Кластерные системы
- •Глава 10. Межпроцессорные сети связи в эвм mpp типа (Interconnect Network)
- •Глава 11. Эффективная организация дисковых накопителей при организации параллельного и независимого доступа
- •11.1. Общие вопросы организации.
- •11.2. Время обслуживания.
- •11.3. Затраты и целесообразность.
- •11.4. Технология i2o в raid-контроллерах.
- •Глава 12. Параллельные и распределенные системы Введение.
- •Недостатки мультипроцессоров
- •Pc необходимо объединять в сети, поскольку возникает
- •12.1. Операционные системы мультипроцессорных эвм
- •12.1.1 Процессы и нити
- •12.1.2. Взаимодействие процессов
- •12.1.3 Планирование процессоров
- •12.2. Коммуникации в распределенных системах
- •Локальные сети.
- •Клиент-сервер
- •Удаленный вызов процедур
- •Обмен сообщениями между прикладными процессами send, receive (адресат/отправитель, [тэг], адрес памяти, длина)
- •12.3. Синхронизация в распределенных системах
- •12.3.1. Синхронизация времени
- •Логические часы.
- •Физические часы.
- •12.3.2 Выбор координатора
- •Алгоритм "задиры"
- •Круговой алгоритм.
- •12.3.3 Взаимное исключение Централизованный алгоритм
- •Алгоритм с круговым маркером
- •Алгоритм древовидный маркерный (Raymond)
- •Децентрализованный алгоритм на основе временных меток.
- •Алгоритм широковещательный маркерный (Suzuki-Kasami).
- •12.3.4. Координация процессов
- •12.4. Распределенные файловые системы
- •12.4.1 Архитектура распределенных файловых систем
- •Интерфейс файлового сервера
- •5.1.2 Интерфейс сервера директорий
- •Различают две формы прозрачности именования
- •Семантика разделения файлов
- •12.4.2 Реализация распределенных файловых систем
- •Использование файлов
- •5.2.2 Структура системы
- •Кэширование
- •Когерентность кэшей.
- •Размножение
- •12.4.3. Пример: Sun Microsystems Network File System (nfs)
- •Архитектура nfs.
- •Протоколы nfs.
- •Реализация nfs
- •Список литературы
- •Оглавление:
12.1. Операционные системы мультипроцессорных эвм
ОС может быть организована как:
главный-подчиненный (master-slave, выделение одного процессора для ОС упрощает ее, но этот процессор становится узким местом с точки зрения загруженности и надежности);
симметричная (наиболее эффективная и сложная).
12.1.1 Процессы и нити
Процесс - это выполнение программы. Компоненты процесса - выполняющаяся программа, ее данные, ее ресурсы (например, память), и состояние выполнения. Традиционно, процесс имеет собственное адресное пространство и его состояние характеризуется следующей информацией:
таблицы страниц (или сегментов);
дескрипторы файлов;
заказы на ввод-вывод;
регистры и т.п.
Большой объем этой информации делает дорогими операции создания процессов, их переключение. Потребность в легковесных процессах, нитях (threads) возникла еще на однопроцессорных ЭВМ (физические процессы или их моделирование, совмещение обменов и счета), но для использования достоинств многопроцессорных ЭВМ с общей памятью они просто необходимы. Процессы могут быть независимыми, которые не требуют какой-либо синхронизации и обмена информацией (но могут конкурировать за ресурсы), либо взаимодействующими.
12.1.2. Взаимодействие процессов
Если приложение реализовано в виде множества процессов (или нитей), то эти процессы (нити) могут взаимодействовать двумя основными способами:
посредством разделения памяти (оперативной или внешней)
посредством передачи сообщений
При взаимодействии через общую память процессы должны синхронизовать свое выполнение. Различают два вида синхронизации - взаимное исключение критических интервалов и координация процессов.
Процесс p1 выполняет оператор
,
а процесс p2 - оператор
.
Машинные коды выглядят так:
Процесс p1 |
Процесс p2 |
Load R1,I |
Load R1,I |
Load R2,J |
Load R2,J |
Add R1,R2 |
Sub R1,R2 |
Store R1,I |
Store R1,I |
Результат зависит от порядка выполнения этих команд. Требуется взаимное исключение критических интервалов. Решение проблемы взаимного исключения должно удовлетворять требованиям:
в любой момент времени только один процесс может находиться внутри критического интервала;
если ни один процесс не находится в критическом интервале, то любой процесс, желающий войти в критический интервал, должен получить разрешение без какой либо задержки;
ни один процесс не должен бесконечно долго ждать разрешения на вход в критический интервал (если ни один процесс не будет находиться внутри критического интервала бесконечно );
не должно существовать никаких предположений о скоростях процессоров.
Взаимное исключение критических интервалов в однопроцессорной ЭВМ:
Блокировка внешних прерываний (может нарушаться управление внешними устройствами, возможны внутренние прерывания при работе с виртуальной памятью).
Блокировка переключения на другие процессы (MONO, MULTI).
