Процессор мультиобработки данных
Иллюстрации
Показать всеРеферат
Всбоо юз н &.:я ли ка iA
ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
590745 ббйз Соеетсйа
Социалистические
Реснублик (б1) Дополнительное к авт. свид-ву (22) Заявлено 28.10.75 (2! ) 21848! О/18-24 с присоединением заявки № (23) Приоритет (43) Опубликова но 30.01.78. Бюллетень X 4 (45) Дата опубликования описания 28.03.78
М. 1 л. - О 06Г 15/00 государственный комитет
Совета Министров СССР оо делам нэобретений н открытий
УДК 681 325(088 8) (72) Авторы изобретения
А. А. Арефьев, В. Л. Арлазаров, С. Я. Беркович, А. Ф. Волков, А. H. Годунов, Н, В. Дагурова, Н. E. Емельянов, В. Д. Зенкин, Н. Г. Зенкина, Г. М. Золотухина, А. А. Леман, В. С. Лихонинский, В. T. Лысиков, В. А. Макаров, Г. К. Сорокин и И. А. Фараджев
Ордена Ленина институт проблем управления (71) Заявитель (51) ПРОНГССОР МУЛЬТИОБРАБОТКИ ДЛННЬIX
Изобретение относится к области вычислительной техники и может быть использовано в информационно-поисковых системах, предназначенных для решения широкого класса задач управления, где имеет место работа с большими массивами информации сложной структуры (информационно-поисковые задачи, мультитерминальные в режиме разделения времени, игровые задачи).
Известен процессор мультиобработки данных, который содержит арифметическо-логический блок, блок постоянной памяти, блок сопряжения, блок управления, регистры слова состояния программы и блок автоматического перехода с одной задачи на другую. Введение этого блока, в котором записываются интервалы времени, отведенные для решения той или иной задачи, позволяет уменьшить время обработки всей программы, состоящей пз многих отдельных задач (1).
Дру ой известный процессор мультиобработки данных для повышения производительности при решении многих задач с различными приоритетами в режиме разделения времени содержит блок прерываний с несколькими приоритетными уровнями, который представляет собой аппаратурную реализацию той части операционных систем, которая при поступлении заявки на обслуживание сравнивает приоритетность заявки с приоритетностью решаемой задачи и по результату. сравнения либо ставит поступившую заявку в очередь, либо прерывает решение прежней задачи и переводит процессор на решение поступившей задачи (2).
Наиболее близким техническим решением к данному изобретению является процессор мультиобработки данны.;., который содержит, как и данный процессор мультиобработки данных, блок сопряжения, адресные вход и выход, первые управляющие вход и выход, первые информационные вход и выход которого подключены соответственно к адресным входу и выходу, управляющим входу и выходу, пн15 формационным входу и выходу процессора мульгпобработкп данных, вторыс управляющие вход и выход блока сопряжения подключены к первым управляющим выходу и входу блока управления, вторыс информационные
20 вход и выход блока сопряж;нпя соединены с первыми информационными выходом и входом арифметическо-логического блока, а третьи информационные вход и выхо1 блока сопряжения подключсны к первым информационным
25 выходу и входу блока управляющих регистров, второй, третий и четвертый информационные входы которого подключены соответственно к первым информационным выходам блока постоянной памяти и блока управления и ко
590745 второму информационному выходу арифметическо-логического блока, второй информационный выход блока управляющих регистров подключен ко второму информационному входу арифметическо-логического блока, управляющий вход блока управляющих регистров соединен непосредственно, а адресный вход через регистр номера управляющих регистров со вторым управляющим и первым адресным выходами блока управления, третий и четвертый управляющие выходы которого подключены к управляющим входам блока постоянной памяти и арифметическо-логического блока, управляющий выход и третий информационный вход которого подключены к первому информационному входу блока управления и второму информационному выходу блока постоянной памяти (3).
Однако при работе известного процессора мультиобработки данных в информационнопоисковых системах, предназначенных для решения широкого класса задач управления, где необходима работа с большими массивами информации, обработка такого рода информации осуществляется программными средствами, что обуславливает неэкономное расходование главной памяти вычислительной системы и низкую скорость выполнения алгоритмов обработки больших массивов данных.
Цель изобретения состоит в повышении быстродействия процессора мультиобработки данных при решении информационно-поисковых задач, игровых задач, требующих обработки больших массивов информации.
Поставленная цель достигается тем, что процессор мультиобработки данных содержит блок статусов процессов, адресный, управляю.ций и информационный входы которого подключены соответственно к третьему информационному выходу блока управляющих регистров, пятому управляющему и второму информационным выходам блока управления, а информационный и управляющий выходы соединены с пятым информационным входом блока управляющих регистров и вторым информационным входом блока управления, а также тем, что блок статусов процессов содержит регистр маски, входной регистр, .регистр адреса, узел характеристик статусов процессов, узел индикации совпадения, узел обработки приоритетов и узел выдачи номера процесса, выход которого соединен с информационным выходом блока статусов процессов, управляющий вход которого с первыми входами узла характеристик статусов процессов и регистров адреса, подк;поченного вторым входом к адресному входу блока статусов процессов и соединенного выходом со вторым входом узла характеристик статусов процессов, третий н четвертый входы которого через регистр маск t Il входной регистр, соответственно, соединены с информационным входом блока статусов процессов, управляющий выход которого соединен с первым выходом узла индикации cottпадения, подключенного вхо.toì и выходу узла
2i)
2б
40 .t5
5)
«арактернстик статусов процессов и соединенного вторым выходом через узел обработки приоритетов со входом узла выдачи номера процесса.
Процессор мультиобработки данных содержит аппаратную реализацию функций операционной системы по организации мультипрограммной (мультипроцессной) работы и обмена информацией между главной памятью и внешними носителями. Система команд процессора мультиобработки данных ориентирована на организацию параллельных вычислительных и обменных процедур в вычислительной системе, в состав которой он входит. Процессор мультиобработки данных подключается к универсальной вычислительной системе как некоторое внешнее устройство (как, например, терминал, диск и т. д.) через стандартно" сопряжение. Собственной оперативной памяти процессор мультиобработки .не имеет, а использует главную память системы.
Для обеспечения эффективной организации мультипроцессной работы и обмена с внешними носителями информации процессор мультиобработки данных содержит справочную статусов процессов.
Основные функции процессора мультиобработки данных следующие: а) ведение одновременно большого числа параллельны: процессов; б) обеспечение работы с виртуальной памятью большого объема.
При наличии в вычислительной системе процессора мультиобработки данных одновременно в состоянии работы (т. е. в процессе выполнения) могут находиться большое число процсссов (сотни и тысячи). Образование новых процессов, уничтожение процессов, взаимодействие и синхронизация процессов осуществляется специальными командами. Операционные таблицы описывающие обрабатываемые процессы, находятся в процессоре мультиобработки данных в справочных, хранящих основную информацию о выполняемых процессах. Благодаря этому переключение одного процесса на другой осуществляется за 10 —:40 тактов главной памяти вычислительной системы. В известных операционных системах, на процедуру переключения процессов (программы) уходят сотни команд или порядка 200 —: —:1000 циклов главной памяти вычислительной системы, т. с. процсссор мультиобработки данных позволяет сократить время переключения процессов на 1 —:2 порядка.
Таким образом, появляется возможность без значительных затрат процессорного времени образовывать в вычислительной системе большое число параллельных процессов («Параллельных» в том смысле, что одновременно в вычислительной системе существует большое число процессов готовых к выполнению). Естественно, что они образуют некоторую последовательную очередь к арифметическо-логическому устройству процессора мультиобработки данных нли к нроцсссорам классического типа, 590745
Ьход111ц11х 13 сосТВВ Bl l tffcчнтсльной систeмь1.
1- с, llf B системс будет 1ссколько . 1роцссcopoB мультиобработки данных илн процессоров классического типа, то и число одновременно работающих процессов (работающих уже фактически параллельно) будет равно числу этих процессоров. Таким образом, аппаратная реализаци11 II процессоре мультиобработки данных некоторых функций операционной системы по образованию, уничтожению и переключению процессов, позволяет в вычислительной системс, имеющей в своем составе процессор мультиобработки данных, эффективно вести одновременно обработку большого числа процессов.
Если учесть, что при обычном (нс аппаратном) построении операционной системы при мультипрограммной работе значительная часть процессорного времени тратится именно н а деятельность по переходу от одних процессов к друг11м, то такое сокращение времени переключения процессов должно привести к сущесп3снцому росту реальной производительности вычислительной системы в целом.
Способность процессора мультиобработки данных оосспсчивать одновременное выполнение (3 ьч1числительной системе большого числа процессов (до нескольких сот или тысяч) открывает 110Bblc возможности в решении таких основных вопросов мультиобработки, как обеспечение эффективного обмена между главной памятью вычислительной системы и внешними,носителями и активного взаимодействия с развитой системой терм иналов (в режиме разделения времени).
Организация эффективного обмена с внешними носителями основана на том, что в каждый текущий момент работы вычислительной системы процессор мультиобработки данных располагает информацией о всех запросах процессов (существующих в системе) на обмен. (Эта н11формация содержится в паспортах If с 1 атус11 х каждого из п13оцессо13) . Тем самым, появляется возможность выбора оптимальной последовательности заявок к внешним носителям, т. с. например, за один проход магнитной ленты можно удовлетворить все заявки к данной ленте, выбранные к текущему моменту. Получаемый при этом эффект определяется числом одновременно выполняемых процессов. (Чем больше запущено процессов, тем меньше возвратов ленты). При работе с магнитными лентами можно ожидать, что среднее время удовлетворения заявок может быть уменьшено на 1,5 —:2 порядка по сравнению с организацией обменов принятых в обычных операционных системах (системы типа ИБМ, ИСЛ и т. д.) Если учесть, что во многих задачах, например, информационно-поисковых, обмен с внешними носителями является основной функцией, то резкое сокращение времени на обмен приводит к столь же резкому повышению реальной производительности вычислительной системы в целом на данном классе зтlдач.
6:)
Это возможно потому, что в данном случае запуск новых процессов требует время, соответствующее 10 —:40 циклов обращений к главной памяти вычислительной системы. В обычных вычислительных системах для этого требуется время, соответствующее нескольким сотням циклов памяти.
На чертеже приведена блок-схема процессора мультиобработки данных.
Процессор содержит блок сопряжения 1, регистр номера управляющих регистров 2, блок управляющих регистров 3, арифмсти 1еско-логический блок 4, блок постоянной памяти 5, Лктп13нос B3апмодействис с ра,3вптой системой тсрм11цалт.ных устройств (13 режиме разделения времени) обеспечигастся организац111й в выичислительной системе (за счет наГора специальных команд) развитого «аппарга событий». Предусматривается широкий набор
«элементарных событий» (например, считывание заданного блока информапии с внешнего носителя и главную память ы 1ислительнои
10 системы, окончание работь; одного или группы процессов, запросы от терминальных устройств, сообщение одного процесса другим процессам, изменение содержимого заданных ячеек главной памяти и т. д.). Этп элементарные собы15 тия могут образовывать комбинации событий «сложныс события».
Взаимодействие и синхронизация процессов обеспечивается этим аппаратом событий.
Наличие развитого аппарата событий (реализуемого аппаратурой процессора мультиобработки данных обеспсчпваст:
a) упрощение программирования и процедур отладки программ (сокращается длина программ и упрощается описание различных
2;, условий и событий), б) аппаратурную реализацию це функций операционной системы (создание и уничтожение процессов, пуск процессов по приоритетам, приостанов процессов Ilo ожиданию каких-либо событий и т. д.), в) эффективное решение задач в режиме разделения времени.
Главная трудность в организации режима разделения времени состоит в выборе интервалов времени, которые отводятся каждой задаче. Этот интсрвал времени определястся: а) временем перестройки вычислительной системы на очередную задачу (изменение соответствующих операционны.; таблиц, смена
1О содержимого управляющих регистров и т. д.), б) временем загрузки в главную память информации с внешних носителей, необходимой для решения очередной задачи, в) временем, выделяемым на собственно
15 ВЫЧИСЛЕНИЯ.
Наличие в вычислительной системе процессора мультиобработки данных позволяет фактически вести «псевдопараллельное» выполнение задач за счет существенного сокращения
;о интервала смены задач, т. е. вести каждый процесс небольшими порциями.
500745 блок статусов процессов 6 и блок управления 7.
Блок управляющих регистров 3 содержит выходной регистр 8, регистр распределения памяти 9, регистр базового адреса страницы 10, регистр остатка 11, регистр начального адреса страницы 12, регистр границы 13, регистр начального адреса таблицы блоков информации
14, регистр номера работающего процесса
15, регистры текущего состояния процесса
16,—:-16 и входной регистр 17.
Блок статусов процессов 6 содержит регистр адреса 18, узел характеристик статусов процессов 19, узел индикации совпадения 20, узел обработки приоритетов 21, узел выдачи номера процесса 22, регистр маски 23 и входной регистр 24.
Первый, второй, третий, четвертый и пятый управляющие выходы блока управления 7 соединены соответственно со вторым управляющим входом блока сопряжения 1, с управляющим входом блока управляющих регистров 3, управляющим входом постоянной памяти 5, с управляющим входом арифметическо-логического устройства 4 и управляющим входом блока статусов процессов 6, адресный выход подключен к адресному входу регистра номера управляющих регистров 2, первый и второй информационные выходы подключены соответственно к третьему информационному входу блока управляющих регистров 3 и информационному входу блока статусов процессов 6, а первый и второй информационные входы подключены соответственно к управляющим выходам арифметическо-логического блока 4 и блока статусов процессов 6, управляющий вход подключен ко второму управляющему выходу блока сопряжения 1. Первый, второй и третий информационные входы арифметическо-логического блока 4 соединены соответственно со вторым информационным выходом блока сопряжения 1, со вторым информационным выходом блока управляющих регистров 3 и со вторым информационным выходом блока постоянной памяти 5, а первый и второй информационные выходы подключены соответственно ко второму информационному входу блока сопряжения 1 и к четвертому информационному входу блока управляющих регистров 3. Лдресный, первый управляющий и первый информационный входы и выходы блока сопряжения 1 подключены соответственно к управляющему, информационному и адресному входам и выходам процессора мультиобработки данных. Третий информационный выход блока сопряжения 1 подключен к первому информационному-входу блока управляющих регистров 3, а третий информационный вход подключен к первому информационному выходу блока управляющих регистров 3. Второй и пятый информационныс входы блока управляющих регистров соединены соответственно с первым информационным выходом постоянной памяти 5 и нчформацнонным выходом блока стату10
5, )
65 сов процессов 6, а третий информационный выход соединен с ядреспым входом блока статусов процессов 6.
Процессор мультиобработки данных работает следующим образом. В режиме выполнения некоторого процесса работа процессора мультиобработки данных аналоги гна работе известных процессоров, входящих в состав вычислительной системы, Особенности работы процессора мультиобработки данных проявляются при переключении одного процесса на другой, при образовании новых и уничтожении старых процессов, при организации обмена информацией между внешними носителями и главной памятью вычислительной системы.
Процесс — это программа или ее часть, функционирующая самостоятельно. Процесс, создающий в ходе вычисления другие процессы, будем называть порождающим процессом, а созданные им процессы — порожденными процессами.
Паспорт процесса — эта информация, необходимая для автономного функционирования процесса.
Структура паспорта представлена в виде таблицы. Процессу при его создании могут не придаваться функции создания новых паспортов и не выделяться самостоятельные рабочие ячейки, а указываться границы и количество рабочих ячеек порождающего процесса, которыми может пользоваться создаваемый процесс. В этом случае паспорт не будет содержат таблицу созданных данным процессом паспортов и таблицу номеров страниц, занятых рабочими ячейками, а в заготовке паспорта будет находиться ссылка на таблицу номеров страниц, занятых рабочими ячейками порождающего процесса. Но может быть и так, что паспорт будет содержать как вышеперечисленные таблицы, так и ссылки на таблицу рабочих ячеек порождающего процесса.
Заголовок паспорта процесса содержит следующее: — физический адрес главной памяти вычислительной системы, где хранится начало программы данного процесса и код ее длины; — математический адрес страницы (номер) области паспортов, в которой хранится таблица номеров страниц (в области паспортов) рабочих ячеек, принадлежащих данному процессу; — математический адрес страницы, где содержится таблица созданных паспортов; — области адресов в главной памяти, общие для создаваемого и некоторых других процессов и задаваемые процессу при его создании (таких областей может быть четыре) . Каждая область может иметь два вида адресации. Вид адресации указывается признаком. В первом случае (признак — 1) — физическими адресами начала и конца области, во втором (признак — О) — математическим адресом страницы, в которой хранится таблица номеров стра;.иц рабочих ячеек порождающего процесса и номерами рабочих ячеек «от» и «до»);
590745
Формат заголовка паспорта
Длина программы
Ллрес программы с а с
2 с
C)
=5 с — o
Номер страницы, в которой хранится таблица номеров страниц рабочих ячеек
Физический алрес главной памяти, указывающий начало области обIце и нам 11 ти признак
1 и tH
Конечный номер рабочих я:еек порожлающего процесса
Начальный номер рабочих ячеек иорожлающегося процесса
Номер страницы, t!Ie хранится таблица рабочих ячеек порожлающего процесса
C (с
С) (Ll (I у () с Д
tc с с
) с
Номер статуса порождающего процесса
Солсржимое 1-го регистра текущего состояния программы
Со:(ержимое п- го регистра текущего состояния программы прсрыванпях н приостановках данного процссса.
Каждый процесс имеет свой статус. В статус входит информация о со=тоянии процесса
5 в текуший момент.
Формат статуса
Информация об ож1 IAlttftt
T I I tf ожидания
Количество работоспособных порожленных процессов ПС
1 еку1цая точка программы ввести в главную память с внешних носителе" информации.
¹ статуса порождающего процесса — номер строки блока статусов процессов 6, в которо" хранится статус порождаюшего процесса.
Адрес паспорта — номер страницы в области паспорта, где хранится паспорт данного процссса.
Бывает нсобходимость работы нескольких процессов по одной программе. Такие процессы ссылаются на один паспорт,но имеют разные статусы. Подобные процессы отличаются друг от друf-а содержимым буф"p«oro регистра (некоторым полем в неоператнвной части статуса) и текущей точкой программы.
Первые 6 байтов статуса (прноритет, все признаки, тип и информация об ожидании, М статуса порождаюшего процесса служит для синхронизации и взаимодействия процессов друг с другом. Эта часть статуса называется оперативной. Остальная часть статуса служит для прпостанозкп и запуска процесса в работу.
Эта часть называется неоперативной.
Оперативная часть статуса хранится в блокr
"татусов процессов 6 мультиобработки данПриоритет процесса — приоритет данного процесса в системе.
РСП вЂ” признак работоспособности процесса. Наличие «1» в этом разряде указывает на то, что данный процесс ждет какого-то собы- 10 тия, указанного в THIIc ожидания н информации об ожидании.
HP — — признак, указывающий на то, что данный прîLIå."ñ был прерван процессом с более высоким приоритетом. 15
ОС вЂ” признак, указываюший на то, что окончил работу один из порожденных процессов. МЗ вЂ” служебная метка. Определяет занятост;, строки справочной стату"ов процессов 6.
Тип ожн faння — указывает код сооытия, до 20 выполнения которого, данный процесс считается не работоспособным.
K этим =îáûòèÿ,ì относятся: ввод в главную память вычислительной системы с внешних носителей информации необходимого блока информации, обработка супервизором заявки, изданной данным процессом и т. д.
Информация об ожидании — это дополнительная информация оо ожидаемом событии, например, номер блока, который необходимо зэ — номер статуса порождаюшего процесса
It блоке статусов процессов 6; — место для хранения содержимых регистром теку него состояния процесса 161 —.. 16„при
Приоритет процесса РС11 HP 1С Л13
Я статуcft иорожлающего Ллрес паспорта процесса
Солержимое буферн1го регистра
Физический алрес главной памяти, указывающий конец области общей памяти
Номер страницы, гле солер>кится таблица созланных паспортов
590745
Адрес, куда з IIIIICIIxl поппер созданного паспорта
Адрес да!ппях
Адрес ячейки, содержащей номер паспорта
Адрес данных
Код операции ных. Нсопсративная часть — и области IIHcIIopтов главной памяти вычислительной системы.
Количество работоспособных порожденных процессов — код, указывающий количество не окончивших свою работу процессов, созданных данным. ПС вЂ” младший бит этого кода используется в качестве признака того, что данный процесс создавал процессы.
Содержимое буферного регистра, в котором хранится некоторая константа или ее адрес, задается при создании процесса.
Текущая точка программы — физический адрес главной памяти вычислительной системы, по которому хранится текущая точка программы при прерываниях или приостановке процесса. При формировании статуса в это место записывается адрес начала программы.
Код OIICpcllIIIII
11азначение команды: создание паспорта по заданной информации.
Алгоритм выполнения. На свободной странице области паспортов создается паспорт.
Если в массиве данных, адресуемых этой команде есть ссылка на рабочие ячейки, то выделяется необходимое число страниц II03. рабочие ячейки (в области паспортов). а также под таблицу номеров страниц, выделенных под рабочие ячейки. Зап лняется таблица и паспорт.
В таблице созданных паспортов выполняемого процесса указывается адрес (номер страницы) создаваемого паспорта.
Номер создаваемого паспорта (т. е. номеп создаваемого процесса) записывается по адpecv, указанному в команде.
При создании паспорта необходима ннформация, которая задается массивом. Начальный адрес этого массива указан в команде как
«адрес данных». Этот массив содержит: — адрес программы создаваемого процесса и ее длины; — количество страниц раоочих ячеек, необходимых данному процессу; признак адресации, указывающий каким образом задается поле памяти общей для .нескольких процессов, в одном случае — физичеНазначение: создание статуса процесса по заданной информации.
11ачало информации иеобходимоi1 дл51 формирования статуса задается адресом данных.
В качестве данных в этой команде задается— приоритет; — физический адрес главной памяти вычи"лительной системы, с которого начинается программа данногг> процесса (точка входа в программу);
Система команд процессора мультиобработки данных разбита на две гру1пты. В первую группу входят специальныс команды процессора, во вторую — арифметические и логические.
5 Специальные команды подразделяются на три типа: — команды управления процессами;
-- команды распределения памяти; — команды взаимодсйствия и сиихроиизаlo ции процессов.
К командам управлеи11и процессами ог н>C5I1C51 TpI KOVldII1,bI. < IIBCIIopT>>, «Создать процесс по паспорту», «Окончить п1п цесе».
Формат команды «Создать Ilacllo;Il» скис адреса главной памяти вычислительной. системы, указывающие начало поля памяти, общей для нескольких процессов, и ее конец
20 (может быть длина), в другом — номер страницы, где хранится таблица раоочих ячеек порождающего процесса, а также началь:-1ый и конечный номер рабочих ячеек, доступны.; данному процессу (таких признаков и адре25 сов мо>кет быть четыре); — иногда при создании паспорта могут быть указаны адреса, где хранятся исходные данные процесса, которые необходимо поместить в регистры текущего состояния процесса
3о 16 —:16, при запуске процесса в работу. В этом случае содержимое эт11х ячеек необходимо и;реписать в заголовок паспорта на место, которос отводится для запоминания регистро» текущего состояния процесса 16,=.16„.
35 Время выполнения данной команды зависит от количества страниц, отводимы.; под рабочие ячейки, от количества полей памяти, общих для нескольких процессов, от необходимости переписи содержимого регистров теку40 щего состояния процесса 16I —.16„и может колебаться в пределах от 30 до 50 циклов главной памяти.
Формат команды «Создать процесс по паспорту» — — содержимое буферного регистра.
Определяется адрес свободной сгроки в блоке статусов пргшеосов 6 и по этому адресу в
olicpII l IIIIIIyIo часть статуса производится запись приоритета и номера статуса, порождающего процесса издавшего команду создания процесса. Номер процесса, работающего в текущий момент, хранится на регистре номера работающего процесса 15 процесса мультиобработки данных. По адресу ячейки, содержа590745 шей номер паспорта, находится номер страни- Формат команды «Освобожление памяти» цы, гле лежит паспорт (математический адрес Кол операции паспорта). адрес таблицы распределения выделенной
Формируются адреса неоперативцой части памяти статуса и производится запись адреса паспоэ- ;) Страницы памяти, в соответстзии с таблцта, точки входа в программу и солсржцмое цей распределения, переводятся в спцсоксвобуферного регистра по этим адресам. болных страниц. Время выполнения зависит
Время выполнения данной команды — 12 от количества страниц освобождаемой памяти.
Персвол одной страницы в список своболных
Формат команды «Окончить процесс» 11! составляет 5 циклов главной памяти. ОсвоКод операции оожленнс кажлой следующей страницы трсСлужит для освобо>кления памяти, заци- бует дополнительно 2 цикла глт)г>цой памятт1. маемой паспортом, рабочими ячейками, и Команды распределения памяти cëóæèò лля уничтожения статуса процесса. динамического распределения памяти прц раВ статусе порождающего процесса из байта, 15 боте какого-либо процесса, когла прц програмопределяющего количество порожденных про- мировании за",à÷è нельзя заранее прелсказать цессов вычитается едини113, в разряд ОС количсст»о необхолцмой процессу памяти. (окончил порожленный процесс) записывается Например, невозможно заранее предсказать колцчсст»о об.ьсктов с характерными црцзнаелиница.
Если процесс работал по паспорту и на этот 20 ками, которые необхолимо отыскать » заланпаспорт не ссылаются (т. е. не работают по ном массиве информации. нему) другие процессы, то процедуры оконча- К командам взаимодействия и синхвониза,ния деятельности этого процесса будет иметь ции процессов относятся команды « Кду блоследующие этапы: к;! номер Х», « Клу окончания работы любого — уничто>кение статуса процесса, ri00o>I<:rehftoro ??????????????????, ??5?????? ?????????????????? ??????€” ?????????????????????? ???????????????? ???????????????? ?? ???? ??- ???????? ???????? ?????????????????????? ????????????????????.????????????????, ?????? ???????? ctp3hhi1, 33hittbi>; 113cltopToM H t>300- >f<:ih ???????????????????? (????????????????.>T<;Itt нера»енстчими ячейками данного процесса, в список сво- ва»), «Ож)панца записи по сказанному аввебодны х стр а ниц. ст», «Кi сообшеццй», «Псрслаю cnобщеВ случае, если процесс Пот>о>клал процессы, 30 Httc», «М(лi п1)лтв< рж re!iris! прис!та cnnorrtcто окончание его леятельности связано с окон- tt;rs» . «гКлу Отработки заявки», «Пересылка анием деятельности попожленных им поо-;ла> )ых» и «Сборка». цессов, т. е. уничтожение паспортов и статусов В этих команлах 0»pc>rc slrn tetr те события, лo выполнения котовых процессы, солержаццте
В случае, если Hf>otrecc не имел собственно- 35 Iafrные коматпы, счцта)отея непа отоспосо— го паспопта, а работал на р . р п авах проц сса, ньяи с ожцланцем события соответству)ошего ссылаю)цегося на олин общий паспот>т, то типа. окончание деятельности этого процесса тпе- К этим событиям относятся: бует только уничтожения его статуса. Зтм — »r>1»o»» гл; 1 зо, > гла»нуlo намять цсобхо.l iìnão сложную процсЛуру выявления вида процесса, 40 блока taftfr»fх цз внешней памяти; а тат<же окончание леятель . -ятельностн процесса вы- — окончание т)т)боты oл»010 пооцесса (люг>Олцяст сцециаль циальная программа (процесс). бого цз попожленных процессов);
I f! —... анлу, передает заявку — окончание раоотьТ всех процессов (в
1)ОТтесс. издавшии ком этой специальной пвограмме, а сам переводит- цопожлснцых процессов); ся в состояние с о>киЛанием отработки этой 4;, — запись по указанному аЛресу; — перелача какого-либо сообтценця;
Ва ЯВКИ.
К, ных процесх командам распр . елеления памяти относят- — сооошение, переланное Лан.
cя команлы; «Вылеление памяти» и «Освобож- сом, принято;
-- заявка супег)»изооу принята им. лен!те памяти».
Фоп м ат ко .>1 ан >»1 <
t>f IP HcHTTc па мяти» ">f! Пр овен яеTcя, Нс пп011зоц1 )О IH т >ке ОжиллеКоЛ опера)тии Количество страниц памяти м<)с 00011-це и, сслц пооцзошло, то выпотиfc;-Тис алрсс таблицы расгр грсдсзенця вылслснной коман:)ы . а этом заканч)твт)етс)1 ц пвоцесс Нс")т хо цт к выполнению слелуюшсй команлы памяти
Из свобо-: >Ой памяти вылеля< тся лказанное своей программы.
ta комацпе количество стт)аниТТ, Таб."Ттца выЛе- зд Есч.т О>к)пас мгг сооытцс и= пвоцзошло, то
ЛеН) ЬТХ CTT)3HHtr ЗаПИСЫВастея ПО адрЕСу, уКа- ttt>OIICСС OR.H»Ëÿ "тея цЕТ)абОтОСИОСOОНЫiТ дО появления ожилаемого =Ооытця, Призна него события
Время в!!полнения команды зависит От ко- 0300Tnc»ncnn»nсти. тцч ожипасмого со ьттия лцчества выделяемых страниц памяти. В ми- ц "ополнитс, льца я инфоp ì .Böfr st об ож:папин нимальном варианте (тре уется е (буетс выделить од- 6
fT>, страницу) время выполнения равно 6-ти рялы статуса пропссса.
ы .. " - . н этери» циклам главнои памяти вы
ычислительной систе- Фовмат команлы «5Клт блока .о.
%it>l. При увеличении количества выделяемых Колон рац Н р ., и о, оп >пацци Номер оло а страниц требуется дополнительно по 2 цикла По этой ко. л > р, р, р ман. е п о»е яется, переписан лц н а кажлую выделяемую стр ан ицу. г>3 Тсобходимый блок информации из внешней
590745 памяти (диск, лента) в главную память вычислительной системы, Если такой блок .находится в главной памяти, то выполнение команды на этом заканчивается и процесс переходит к выполнению следующей команды. Если нуж- 5 ного блока нет, то процесс объявляется неработоспособным с ожиданием блока номер Х
Время выполнения команды: минимальное—
3 цикла обращения и главной памяти максимальное — 5 циклов обращения к главной па- 10 мяти.
Команда необходима л1обому процсссу, осу1цествляющему поиск информации на внешнем носителе. Команда, в некотором смысле, эквивалентна заявке на обмен в обычных опера- 15 ционных системах.
Формат команды «5Кду окончания работы любого порожденного процесса»
Код операции
B статусе порождающего процесса проверя- 20 ется специальный разряд (окончил порожденный процесс). Если данный разряд едчница, что указывает на то, что кто-то из порожденных процессов окончил работу, то порождающий процесс переходит к выполнен1по следую- 25 щей команды своей программы. Если разряд равен нулю, то порождающий процсс ооъявляется нсраоотоспособным, с ожиданием окончания работы любого из поро кдснных пронеc сов. Зо
Время выполнения команды: минимальнос—
1,5 цикла главной памяти, максимальное — -2 цикла главной памяти.
Команда необходима для обраоотки IIQI?o?I(дающим процессом, например, результатов деятельности порожден?ных процессов в порядке их поступления.
Например, для поиска произвольного объекта с характерными признаками порождающий процесс создает процессы, ка?кдый из кото1?ых ищет необходимый ооъект в различных оо.10ках информации. Результат поиска записывается порожденным процессом в соответствующую область главной памяти и об этом сообщается порождающему процессу. Порождающий процесс приступает к работе (например, анализу результатов поиска повожденного процесса) только лишь, послс окончания работы хотя бы одного порожденного процесса.
Формат команды «5Кду окончания работы всех порожденных процессов»
Код операции
В статусе порождающего процесса проверяется количество порождс1п1ых процсссов, не окончивших свою работу. Если это коли1сство равно нулю (это указываст на то, ITo все поро кдснные процессы окончили работу), то порождающий процесс переходит к выполнению 00 следующей команды.
Если хотя бы один порожденный процесс IIe окончил работу, порождающий процесс становится неработоспособным с о?киданием окончания работы всех порол(денных процессов. 05
Время выполнения команды: минимальное—
1,5 цикла главной памяти, максимальное — 2 цикла главной памяти.
Команда необходима, .например, для поиска всех объектов с характерными признаками, а также для ожидания конца всей инициированной данным процессом, деятельности.
Формат команды «Проверь, жди равенства» (Проверь, жди неравенства) нли «0?кидание записи по указанному адресу»
Код операции Адрес байта эталона
Адрес ячейки
Г1о этой команде выбирается из главной памяти содержимое проверяемой и эталонной ячеек, сравнивается на равенство (неравенство) м ежду со бой.
При равенстве (неравенстве) содержимого ячеек процесс переходит к выполнению следг1о1цей команды своей программы. При неравенстве (равенстве) — процесс становится неработоспособным с ожиданием записи в проверяемую ячейку, Время выполнения; минимальное — 7 циклов главной памяти, максимальное — 8 циклов главной памяти.
Команда служит для синхронизации и общ нпя процессов друг с другом, является единственным средством дождаться окончани 1 работы определенного процесса. Кроме этого используется как средство при отладке программ в системе, содер?кащей параллельныс и:оцсссы.
Формат команды «Жду сообщений»
Код операции Адрес, куда записать сообщение
По этой команде проверяется если ли процесс (c тсм же номером порождающего процесса), ожидающий передачи выработанного им сообщения.
Если такой процесс ссть, то сообщение, а также номер процесса, издавшего сообщение, передается по адресу, указанному в команде.
Если такого процесса (процессов) нет, то процесс объявляется неработоспособным с ожидани