Снос зданий:
ecosnos.ru
Главная  Микроустройства: номенклатура изделий электронной промышленности 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 [ 56 ] 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

Генератор мультипрограммного пакета формирует содержимое 7-10 слов и младший байт 14-го слова дескриптора. Седьмое и девятое слова содержат информацию о верхней и нижней границах стека задачи и служат для целей контроля. Размер стека назначается в процессе диалога. Значение слова 8 в дескрипторе перед загрузкой задачи совпадает со значением слова 7. Слово 10 содержит входную точку задачи, т. е. адрес, с которого начнется ее выполнение. Младший байт 14-го слова дескриптора содержит начальное значение присвоенного задаче приоритета.

На рис. 5.5 приведена структура семафора, обеспечивающего защиту критических ресурсов от вмешательства других процессов, если ресурс в некоторый момент времени уже используется определенным процессом. Выполнение Р-операции на некотором семафоре, связанном с конкретным ресурсом, обеспечивает защиту. Из счетчика семафора в момент выполнения Р-операции вычитается 1, и если значение счетчика меньше нуля, то выполнение процесса приостанавливается. Содержимое регистров запоминается в стеке

Код семафора

Счетчик

Связка семафоров в системе

Указатель списка блокированных процессов

Рис. 5.5.

задачи, а дескриптор размещается в списке блокированных на семафоре процессов в порядке, определяемом значением приоритета. Если ресурс свободен, то процесс продолжает выполнение после входа в программу, связанную с данным ресурсом. Перед освобождением ресурса процесс выполняет V-операцию на данном семафоре. Если на данном семафоре имеются заблсТкированные процессы, то первый процесс из списка включается в очередь готовых к выполнению процессов. V-операция добавляет 1 к счетчику семафора. Код семафора, на котором блокируется процесс, всегда заносится в младший байт 15-го слова РСВ, а в старшем байте 1-го слова взводится флаг Блокирование . Таким образом, в любой момент времени известно, в каком состоянии находится процесс.

Дескрипторы, связанные с каждой задачей, в любой момент времени размещаются в различных списках. В некоторых списках дескрипторы упорядочены согласно приоритетам задач, определяемых кодом в младшем байте 15-го слова РСВ, или по времени переключения в активное состояние. Управляющая программа обрабатывает следующие списки и очереди: общий список всех задач, скомпонованных в мультипрограммный пакет (YKAZ); очередь задач, блокированных на семафорах защиты (каждому семафору соответствует своя очередь); список активных задач (RUNING); очередь задач, готовых к выполнению (NEXTRY); очередь задач, контролируемых по тайм-ауту (WSREAL); очередь задач, поставленных на жесткую диспетчер.!зацню (WSHARD); очередь задач, передающих сообщения (OUTINF); очередь задач, ждущих сообщения (WSWAIT). В скобках приведены имена головных указателей списков, используемых в Управляющей программе. Список RUNING всегда представлен одним элементом.



Списки WSREAL, WSHARD, WSWAIT упорядочены согласно вычисленным зиачениам предстоящего времени переключения в очередь задач, готовых к-выполнению. Например, первой в списке задач, контролируемых по тайм-ауту, размещается задача, для которой время, отпущенное на ее выполнение, истекает раньше, чем у других задач.

Управляющая программа состоит из набора отдельных файлов дистрибутивных файлов), написанных на языке макроассемблера, енератор Управляющей программы позволяет на инструментальной мини-ЭВМ (СМ-3, СМ-4) или мнкроЭВМ Электроника-60 создать версию системы в формате загрузки. Программа генерации организует диалог с пользователем, в процессе кoтopoo выясняется состав будущей Управляющей программы. Кроме того, на инструментальной ЭВМ может выполняться формирование н компоновка мультипрограммного пакета с Управляющей программой. Пользователи, располагающие инструментальной ЭВМ, могут получать любые конфигурации Управляющей программы и включать в нее дополнительные функции (свои программные средства для обработки запросов). Пользователи, не располагающие инструментальной ЭВМ, получают в свое распоряжение несколько стандартных конфигураций УП. Процесс генерации мультипрограммного пакета автоматизирован. Пакет может выполняться как на инструментальной ЭВМ, так н на целевой мащине.

Минимальный состав Управляющей программы представляют программные модули: .DISP - программа диспетчер, PRIOR - программа упорядочения очередей задач по приоритетам, ,XV - программа выполнения V-операции, .ХР - программа выполнения Р-операции, INIT - программа инициализации задач, TNUPT- программа обработки прерываний от таймера (стандаптнпй частоты 50 Гц).

Перфоленточная операционная система для мнкроЭВМ ВЭФОРМИКА

Система содержит следующие компоненты: монитор, редактор текста, макроассемблер, тест-монитор.

Монитор предназначен для выполнения отладочных функций, управления устройствами ввода-вывода, загрузки программ и данных, запуска программ. Задание на выполнение некоторой функции Монитор принимает с консоли оператора в виде небольшого числа простых директив (табл. 5.8).

Остальные директивы Монитора приведены в разделе 8.3 н связаны с вводом и выводом данных и отладочными действиями.

Редактор текста используется для создания новых программ н исправления отлаживаемых программ. Перед загрузкой Редактора текста назначаются устройства ввода-вывода вводом директивы А Монитора. Загрузка Редактора выполняется вводом директивы R 0000. Для запуска Редактора вводится директива G 10. Редактор текста вводит готовую программу или создает ее в буфере памяти (рабочей области). Специальный программный регистр редактора УБ (указатель буфера) используется для фиксации некоторого конкретного места в обрабатываемом тексте, относительно которого назначаются различные функции. УБ всегда указывает положение между двумя символами. Каждая директива Редактора оканчивается двумя символами ВШ (эти символы различны для разных устройств). На консоли при вводе символа ВШ отображается



5.S. Директивы Монитора ПЛОС микроЭВМ ВЭФОРМИКА

Мнемоника

Выполняемое действие

А (ЛУ) = (ФУ),

где ЛУ - код логического устройства; ФУ - код физического устройства

Назначение устройств ввода-вывода Осуществляется связь логического устройства (ЛУ) с физическим (ФУ) ЛУ: консоль оператора - С, устройство ввода - R, устройство вывода - Р, устройство печати - L

ФУ: consul 260 - К, дисплей ВТ-340-С, фотосчитыватель FS-1501-R, перфоратор ПА-150 -Р

I адрес 1,

где адрес 1 - величина смещения адреса загрузки

Ввод с перфоленты информации в двоичном формате. Выполняется загрузка в память по адресу, определяемому суммой смещения и адреса заГрузки, указанного на ленте

G адрес 1,

где адрес 1 - точка входа в программу

Выполняется передача упрдвления программе по адресу I

символ $ . Команды Редактора текста делятся на четыре группы: ввода, вывода, манипуляции УБ, манипуляции данными. Допустимо объединять команды Редактора в командные строки.

Макроассемблер AL/F. Для его загрузки используется директива R0, а для запуска - G 10. Ассемблирование выполняется в два или три прохода. Три прохода необходимы, если используется одно устройство для получения объектной программы и листинга.

Тест-монитор - это программа, предназначенная для проверки работоспособности ОЗУ и внешних устройств (ЭПМ, перфоратора и фотосчитывателя). После запуска тест-монитор распечатывает на консоли: Т = и ожидает директиву оператора. Директива тест-монитора определяет запуск соответствующей тест-программы. Вводом следующей директивы оператор уточняет выбранный тест.

Глава 6

АССЕМБЛЕРЫ МИКРОПРОЦЕССОРОВ И МИКРОЭВМ

6.1. ФОРМАТЫ ОПЕРАТОРОВ

Программист, разрабатывающий программы на языке ассемблера, может пользоваться любыми командами и особенностями объектной машины. Все операции и адреса в языке ассемблера имеют символическое представление.



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 [ 56 ] 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95