- •1. Определение и основные функции ос.
- •5. Пакетные системы.
- •7. Синхронные и асинхронные очереди сообщений.
- •9. Способы синхронизации параллельных процессов.
- •11. Механизм диспетчирования.
- •13. Механизм временного запрещения доступа.
- •15. Механизм прерываний и типы прерываний.
- •17. Примитив. Различие между работой процесса и примитива.
- •25.Динамическая настройка адресов.
- •27. Понятие свопинга. «Пробуксовка» системы.
- •Цели свопинга
- •Отрицательные последствия свопинга
- •Борьба со свопингом
- •29. Методы записи и считывания в fat
- •31.Основные причины фрагментации в fat.
- •33.Основные компоненты технологии Plug and Play.
- •39. Архитектура ос Windows nt 4.0..
- •41.Основные характеристики ос Windows9х.
- •43. Выполнение 32-разрядных приложений в ос Windows
- •45. Основные функции командного процессора ос ms dos.
- •51. Основные характеристики и модули ос ср/m.
- •53. Архитектура ос Windows 9х.
- •Особенности работы модуля Executive ос WindowsNt 4.0
- •Архитектура ос Windows9х
- •Выполнение 16-разрядных приложений в ос Windows
- •Составляющие подсистемы win 32 ос WindowsNt 3.Х и csr ос WindowsNt 4.0
9. Способы синхронизации параллельных процессов.
1. Матрица следования. Является эффективным средством синхронизации при реализации первого способа распараллеливания. Допускает автоматическое составление в процессе диспетчирования, как рассмотрено ранее. Легко составляется пользователем, планирующим параллельный процесс. Для оптимального планирования требует временной оценки работ либо оценки их сравнительной трудоемкости.
Например, пусть методом "разделяй и властвуй" производится распараллеливание сортировки слиянием. Известны оценки сложности такой сортировки (как функции параметра n — длины последовательности).
При разбиении последовательности на две можно построить граф G и его матрицу следования S (рис. 11.1).
Рис. 11.1. Составление взвешенного информационного графа и матрицы следования
Здесь t — время совместного анализа двух элементов последовательности. Значит, веса вершин t1, t2, t3 определены при заданных n и t.
2. Механизм семафоров.Различают двоичные семафоры, имеющие значения "открыт" и "закрыт", и семафоры-счетчики. "Закрытие" увеличивает их на единицу, "открытие" — уменьшает на единицу.
Анализ задач и, в частности, задач обработки больших массивов данных (баз данных и баз знаний) показал целесообразность совместной реализации этих двух принципов в многопроцессорной вычислительной системе. В одном семафоре, назовем егокомбинированным, в действительности воплощены два семафора: двоичный и счетчик:
В
начале считывания из массива выполняется
операция Сб
:= Сб+ 1 ;
при окончании считывания — операция Сб
:= Сб - 1.Значение
означает:
семафор C "закрыт
по считыванию".
При записи в массив выполняется операция: Са := 1, "закрыть", т.е. семафор C "закрывается по записи". При окончании записи выполняется операция Cа := 0 — "открыть", т.е. семафор C "открывается по записи".
Однако удобства семафора-счетчика могут быть реализованы в процедурах над двоичными семафорами. Т.е. двоичный семафор в действительности более универсален.
11. Механизм диспетчирования.
Диспетчер - это программа ОС, которая принимает решение о том, какой процесс должен быть запущен, и устанавливает машинный счетчик команд, который содержит адрес следующей выполняемой команды. При этом предусмотрены действия:
1) сохранение информации о состоянии прерываемой программы;
2) выборка очередной программы для выполнения;
3) определение способности выбранной программы к выполнению;
4) запуск программы с соответствующего места.
Управляющий блок называется блоком управления задачей (БУЗ). Элементы блока управления, где хранятся данные о состоянии задачи:
а) имя программы;
б) адрес обл. сохранения;
в) указатели на элементы системных табл., содержащих информацию о распределении устройств ввода-вывода;
г) информация о выделенной программе обл. памяти;
д) информация состояния, отражающая готовность программы к выполнению;
е) значение приоритетов;
ж) указатели на системные табл., содержащие сведения о программах, формирующих данный процесс
Эти блоки составляют очередь к диспетчеру. Они связаны в список и для каждого из них указываются адреса предыдущего и следующего. Выбор очередного процесс для запуска осуществляется диспетчером из числа находящихся в состоянии готовности. При этом учитывается, насколько желательно / возможно выполнение процесса.
Диспетчеру передается управление, когда:
1) выполняющаяся прикладная программа отказывается от управления и выдает команду Wait, блокируя свое выполнение, или просто отдает управление системе (блокирует свое выполнение);
2) некоторый системный механизм определяет невозможность выполнения программы, блокирует ее и обращается к диспетчеру с требованием запустить другую программу;
3) происходит прерывание по времени, свидетельствующее об истечении кванта времени для задачи;
4) одно из ранее заблокированных заданий переводится в состояние готовности и у диспетчера возникает необходимость проверить ту задачу, которая имеет более высокий приоритет.
