- •Раздел 1. Операционная система unix. Введение в операционную систему unix
- •Отличительные черты ос unix
- •Основы архитектуры операционной системы unix Модель системы unix.
- •Структура ядра ос unix.
- •Основы файловой системы ос unix
- •Типы файлов
- •Структура файловой системы unix
- •Владельцы файлов
- •Права доступа к файлу
- •Дополнительные атрибуты файлов
- •Устройства
- •Маска создания файла
- •Программы Oc unix
- •Процессы ос unix
- •Типы процессов
- •Атрибуты процесса
- •Процесс создания и запуска программ
- •Системный вызов завершения процесса exit
- •Системные функции типа exec
- •Обработка ошибок
- •Ограничения для процессов
- •Пользователи системы, Атрибуты пользователя
- •Средства ВзаимодействиЯ между процессАми
- •Сигналы
- •Посылка сигналов.
- •Int raise (int sig); // посылает сигнал вызывающему процессу (т.Е. Самому себе).
- •Обработка сигналов.
- •Набор сигналов.
- •Файловая подсистема ос unix
- •Индексный дескриптор
- •Блоки хранения данных
- •Недостатки и ограничения файловой системы s5fs
- •Файловая система ffs (Fast File System)
- •Основные отличия ffs от s5fs
- •Ограничения ffs
- •Каталоги ffs
- •Раздел 2. Взаимодействие процессов. Процесс, Понятие и классификация
- •Ресурсы, Понятие и классификация
- •Взаимодействие процессов Задача взаимного исключения
- •Integer очередь;
- •ОБобщенная задача взаимного исключения
- •Integer очередь;
- •Синхронизирующие примитивы (семафоры)
- •Процесс 1 :
- •Процесс 2 :
- •V(свободно);
- •Задача “производитель-потребитель” применение ОбщиХ семафорОв
- •Задача “производитель-потребитель” (буфер ограниченНый)
- •Взаимодействие через переменные состояния
- •Integer array желание[1:n], сп[1:n];
- •Integer чпб, бб, рб, чсеб, I;
- •Integer разм_п, n, max, nmax;
- •Проблема тупиков
- •Алгоритм банкира
- •Integer Св_Деньги; boolean Безопасно;
- •If ((Завершение_под_сомнением [I]) and
- •Применение алгоритма банкира
- •V(Взаимн_искл);
- •V(Возвращенные_Талеры[Номер_Клиента[m]]);
- •If (Попытка_выдать_талер_клиенту(h))
- •Монитороподобные средства синхронизации
- •Механизм типа «критическая область»
- •Механизм типа «условная критическая область»
- •Var s : semaphore; считывание : boolean; m : t;
- •Раздел 3. Вычислительные структуры. Машины, управляемые контроллерами (устройствами управления)
- •Усовершенствованная структура вычислительной машины, управляемой контроллерОм
- •Системы с операционным конвейером
- •Мультипроцессорные системы
- •Транспьютеры
- •Распределение памяти в транспьютерах
- •Диспетчеризация процессов
- •Организация ВводА / выводА в транспьютере.
- •Гарвардская архитектура на примере процессоров семейства adsp
Системы с операционным конвейером
Такую структуру рассмотрим на примере машины изображений, в частности на примере задачи фильтрации.
Один из способов обработки изображений – фильтрация. Элементы изображения F, начиная с левого верхнего угла, последовательно через одну микросекунду подаются в строчный буфер. Когда в строчный буфер поступает 7 строк по 512 элементов +1, с его выхода выделяется вектор F1. затем через такт в 1 микросекунду будет выдаваться вектор F1, F2 и т.д. В ходе выполнения пространственной фильтрации над векторами F необходимо вычислять такое выражение: Fiw1 + Fi+1w2 + Fi+2w3 +…+ Fi+8w8. когда в текущий момент на выходе строчного буфера находится Fi, через каждые 125 наносекунд с выхода буфера весовых коэффициентов на элементы умножения выдаются вектора w1, w2, …, w8, и получаются значения частичных произведений:
Fiw1 Fiw2 … Fiw7 Fiw8
Fi+1w1 Fi+!w2 … Fi+1w7 Fi+!w8
…
Эти значения записываются в накапливающий регистр, здесь эти данные сдвигаются по циклу и выбираются таким образом, чтобы на сумматор поступали результаты произведений на данном такте. В результате, когда конвейер полностью запущен, на выходе накапливающего регистра с темпом в 1 микросекунду будут выдаваться точки изображения, подвергнутые фильтрации. То есть, результаты на выходе будем получать с темпом поступления входных данных. В этом состоит сущность конвейерных вычислений.
Мультипроцессорные системы
Представляют собой один из вариантов организации архитектуры МКМД (MSMD). Они предназначены для распараллеливания обработки, за счет взаимодействия множества процессов. Мультипроцессорные системы по структуре шинных связей между процессорами можно разделить на системы:
соединения одной шиной;
системы с кольцевой шиной,
системы с матричной коммутацией,
системы с многоуровневой коммутацией (древовидные),
системы с многоступенчатой коммутацией.
К мультипроцессорным системам относятся систолические матрицы или систолические процессоры. Систолические матрицы являются одной из структур специализированных операционных устройств, предназначенных для скоростной обработки больших объемов данных.
Систолические матрицы обладают следующими особенностями:
Они удобны для выполнения в виде СБИС – в ней одинаковые операционные элементы размещаются строго регулярно в виде одно- и двумерных массивов. Каждый процессорный элемент обменивается данными с соседними элементами.
На основные процессорные элементы, расположенные на периферии матрицы, регулярно подается поток данных, а управление всей систолической матрицей производится по конвейерному принципу. Входной поток данных, проходя все ступени конвейера, обрабатывается каждым операционным устройством и после обработки выводится в качестве выходного результата.
Структура связей в матрице определяется конкретным применением. Рассмотрим работу матрицы на основе перемножения линейчатой матрицы и вектора.
:
В начальном состоянии все Yi равны 0. На ПЭ с интервалом 2 такта, в порядке возрастания i, подают слева Xi и справа Yi. В самих процессорных устройствах Xi и Yi перемещаются соответственно вправо и влево, с интервалом в 1 такт. Элементы A ленточной матрицы перемещаются сверху вниз. В ПЭ поступившие значения X и A перемножаются, а результаты суммируются с поступившим значением Y. Такие операции циклически повторяются и с выхода ПЭ1, через каждые 2 такта, выдаются значения Yi в порядке возрастания i. Если ширина ленточной матрицы M, то все расчеты завершаются через 2M+N тактов, N = p+q-1. При обычных вычислениях потребовалось бы MN тактов.