- •Основы файловой системы unix
- •Типы файлов
- •Структура файловой системы unix
- •Владельцы файлов
- •Права доступа к файлу
- •Дополнительные атрибуты файлов
- •1 Установить обязательное блокирование файлов при выполнении
- •Устройства
- •Процессы unix
- •Vhand диспетчер страничного замещения
- •Создание и управление процессами
- •Системные функции типа exec
- •Системный вызов _exit
- •Взаимодействие процессов посредством каналов
- •Сигналы
- •Обработка ошибок
- •Пользователи системы, Атрибуты пользователя
- •Форматы исполняемых файлов
- •Файлы отображаемые в памяти
- •Метаданные файла
- •Индексные дескрипторы
- •Имена файлов
- •Недостатки и ограничения файловой системы s5fs
- •Файловая система ffs (Fast File System)
- •Каталоги ffs
- •Сравнение процессов может быть произведено с использованием понятия "трасса" порядок и длительность пребывания процесса в допустимых состояниях на интервале существования.
- •Ресурсы, Понятие и классификация
- •Решение №1.
- •Сообщенная задача взаимного исключения
- •Синхронизирующие примитивы
- •V(свободно);
- •Взаимодействие через переменные состояния
- •Пример применения приоритетного правила
- •Проблема тупиков
- •Алгоритм банкира
- •Основными вопросами при решении такой задачи являются:
- •Применение алгоритма банкира
- •Основные направления совершенствования структуры
- •Системы с параллельным выполнением операций. Параллельные процессы.
- •Схемы типа окмд
- •Особенности организации процессоров по принципу окмд (одиночный поток команд – множественный поток данных)
- •Мультипроцессорные системы
- •Транспьютеры
- •Центральный процессор
- •Распределение памяти в транспьютерах
- •Диспетчеризация процессов
- •Ввод / вывод
Центральный процессор
Центральный 32-разрядный процессор работает на частоте до 30 МГц. Аппаратный планировщик CPU организует в режиме разделения времени одновременное выполнение нескольких процессов.
Каждому процессу в момент его создания в адресном пространстве выделяется рабочая область памяти и устанавливается его приоритет. Реализована двухуровневая система приоритетов: 0 высокий приоритет, 1 низкий приоритет. Адрес рабочей области и приоритет образуют дескриптор процесса.
Центральный процессор содержит два регистра таймера. Высокоприоритетный регистр инкрементируется каждую мкс, а низкоприоритетный каждые 64 мкс.
Регистр W указывает на рабочую область процесса, а регистр команды I содержит адрес следующей выполняемой команды.
Регистры общего назначения A, B, C образуют регистровый стек с FIFO режимом ;-) (A вершина. Операнды помещаются в A и происходит смещение A B, B C; результат операции формируется в регистре A).
Все команды транспьютера однобайтовые и выполняются за один такт. Старшие 4 бита код операции, младшие 4 формирование операнда или команды в регистре операндов.
Операции, реализуемые командами транспьютера разделяются на первичные и вторичные. К первичным относятся 13 наиболее употребимых команд: сложение, безусловный переход и т.д.
Три команды используются для вторичных операций и связаны с реализацией сдвига и более сложных операций типа умножения.
Выполнение операций с плавающей точкой, распознавание команд и передача их на выполнение осуществляется аппаратно в CPU, там же выполняется вычисление адресов операндов и загрузка их в FPU, который также содержит три регистра A, B, C. После передачи команды на исполнение в FPU CPU продолжает выполнение потока команд, если команда относится к первому классу или ожидает результат выполнения, если команда относится ко второму классу.
Распределение памяти в транспьютерах
Может быть адресовано до 232=4 Гб. Адресация начинается с отрицательного адреса 8000:0000 (доп. код). Структурно вся оперативная память подразделяется на внутрикристальную и внешнюю. Объём внутрикристальной равен 2 или 4 Кб. Внешняя и внутренняя памяти равнодоступны и имеют единую адресацию. Внутрикристальная память находится в младших адресах. В неё обычно помещают наиболее часто используемые подпрограммы, т.к. время доступа к ней меньше.
Несколько слов в младших адресах используется для специальных целей для слов состояния аппаратных каналов (линков), блока событий, регистров таймера, в качестве рабочих областей памяти диспетчера.
Диспетчеризация процессов
Каждый из процессов в данный момент времени может быть:
-
Выполняемым
-
Активным (готовым к выполнению и находящимся в очереди соответствующего приоритета)
-
Ожидающим сигнала таймера
-
Ожидающим ввода/вывода
Для выполняющегося процесса регистр I содержит адрес выполняемой команды, а W его дескриптор. Для организации очереди процессов используется две пары регистров, указывающих на начало и конец очереди высокого и низкого приоритетов:
Fptr0 Bptr0
Fptr1 Bptr1
В качестве элементов очередей процесса используются их рабочие области, содержащие помимо данных процессов управляющую информацию, требуемую для сохранения и восстановления состояния процессов на этапе диспетчеризации, в том числе содержится ссылка на рабочую область следующего процесса в очереди.
Низкоприоритетные процессы выполняются не более 32-х периодов низкоприоритетного таймера, после чего процесс, если он не завершился, помещается в конец очереди активных низкоприоритетных процессов, а диспетчер планирует выполнение следующего процесса. Сначала просматривается очередь высокоприоритетных процессов, а затем низкоприоритетных.
Высокоприоритетные процессы не прерываются и выполняются до тех пор, пока это возможно, т.е. до завершения или перехода в режим ожидания ввода/вывода, получения сигнала таймера или сигнала внешнего события, выдаваемого блоком событий.
Если высокоприоритетный процесс становится активным в момент выполнения низкоприоритетного процесса, то последний прерывается, его состояние сохраняется в области зарезервированных адресов и инициируется выполнение высокоприоритетного процесса. После завершения выполнения высокоприоритетного процесса, возобновляется выполнение прерванного низкоприоритетного процесса.