Разделы сайта

Читаемое

Обновления Apr-2024

Промышленность Ижоры -->  Станки механосборочного производства 

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 96

раторской консолью, скорость и приоритет которых определяются реакцией оператора. Ко второму классу относятся обмен и обработка прерывания со стороны интерфейсов оборудования. Подобные процессы относятся к высокоскоростным и высокоприоритетным.

2. Компилирование, в том числе и с языков высокого уровня. Включение компиляторов в состав исполнительных операционных систем реального времени весьма желательно, хотя и не всегда выполнимо (из-за ограниченных вычислительной мощности и памяти).

3. Редактирование текстов прикладных программ, например, редактирование файлов управляющих ЧПУ. По-видимому, функции редактора текстов управляющих программ не зависят от типа устройства ЧПУ, и такой редактор можно вывести из состава прикладной компоненты математического обеспечения.

Важнейшим ресурсом вычислительной системы реального времени является процессор. В системах реального времени без разделения времени передача этого ресурса от задачи к задаче может произойти лишь в двух случаях: при выдаче программой запроса системе, в результате которого текущая задача может быть приостановлена; или при появлении внешнего требования на прерывание при условии, что задача разрешает процессору такое прерывание. Разделение времени, т. е. Деление всего процессорного времени на кванты определенной длины и выдача этих квантов разным задачам по нередко весьма сложным правилам, требует усложнения операционной системы и увеличения доли времени, занимаемого собственной работой ее.

§ 4. ОПЕРАЦИОННАЯ СИСТЕМА РЕАЛЬНОГО ВРЕМЕНИ

Рассмотрим пример операционной системы реального времени с точки зрения возможностей, которые она предоставляет разработчику математического обеспечения. Речь пойдет об операционной системе реального времени, разработанной на базе микроЭВМ Электроника-60 , ориентированной на взаимодействие с прикладными задачами ЧПУ.

Система полностью резидентна (объем занимаемой памяти 4 К слов) и не предоставляет возможности управления внешними запоминающими устройствами. Для собственной работы операционная система использует менее 10 % процессорного времени. При ее применении трудоемкость проектирования математического обеспечения ЧПУ снижается в 2-3 раза за счет сокращения объема специально разрабатываемого математического обеспечения в рамках прикладной компоненты, а также в результате улучшения общей организации взаимодействия задач.

Обращение прикладных задач к операционной системе осуществляется с помощью специальных инструкций. ЦеАгральной частью Операционной системы является модуль обработки этих инструкций, который, кроме того, обеспечивает сохранение и последующее восстановление информации о прерванной задаче. Обработка инструкции состоит в передаче управления тому модулю системы, кото-

Щлй ответственен за исполнение соответствующей функции. Подоб--Itbie модули, в свою очередь, используют для своей работы значительное количество универсальных подпрограмм: обработки списков, управления памятью, драйверов стандартных устройств ввода-вывода и т. п. Таким образом, универсальные обрабатывающие подпрограммы оказались по существу включенными в ядро операционной системы. Это характерно для многих экономичных операционных систем реального времени, поставленных на микроЭВМ, по-. скольку точное местоположение ряда обрабатывающих программ в иерархии ядро - утилиты - прикладные программы определить -бывает трудно.

Задачи в системе могут быть активными и неактивными. Не-.активные задачи не принимают участия в конкуренции за ресурсы; активные же могут находиться в трех состояниях: выполнения, готовности к выполнению, ожидания (события, освобождения ресурса, .истечения времени). В любой момент выполняется лишь одна про-. грамма, и процессор может быть передан в двух случаях: при выдаче . выполняемой программой соответствующего запроса или при внешнем прерывании. Дисциплина обслуживания строго на приоритетной . основе, любой освободившийся ресурс выдается программе с наи-- большим приоритетом. Кроме понятия задача существует понятие подзадача . Подзадачи отличаются от задач тем, что являются определенным образом зависимыми от создавших их задач (передают и получают от них некоторые данные и т. п.). В дальнейшем под созданием задачи понимается ее активизация, а под уничтожением - де-активизация.

Функциональные возможности операционной системы, выявляются при анализе следующих вариантов запросов (со стороны прикладной компоненты) к ядру. .

1. Инициировать систему. Этот запрос очищает таблицы ядра и создает задачу нулевого приоритета, необходимую для лредотвраще-

r.HjuH сбоев в отсутствии готовых к выполнению задач. Задача нулевого приоритета в свою очередь создает задачу, написанную в рамках прикладной компоненты для инициации этой компоненты.

2. Создать подзадачу, создать подзадачу с ожиданием, создать задачу, безусловное создание подзадачи, безусловное создание задачи.

-Эти запросы в общих чертах аналогичны; они предназначены для активизации указанной задачи или подзадачи и отличаются поведением в случае невозможности выполнить требуемую функцию.

3. Ожидать подзадачу, ожидать задачу. Программы, выдавшие такие запросы, переводятся в ожидание до окончания указанной подзадачи или задачи. )

4. Занять устройство, освободить устройство. По этим запросам названное устройство закрепляется за задачей или освобождается.

5. Объявить устройство доступным, объявить устройство недо--ступным. Соответствующее устройство включается или исключается

из системы.

6. Инициировать ввод, инициировать вывод. Подобные задачи запускают процедуру ввода или вывода.



7. Ожидать завершения ввода-вывода, ожидать прерыванияйт устройства, ожидать истечения временного интервала, ожидать прерывания от устройства с контролем по времени. Программы, выдавшие эти запросы, переходят в ожидание соответствующего события.

8. Выделить блок памяти, освободить блок памяти, безусловное выделение памяти. Такие запросы относятся к динамическому управлению памятью.

9. Пауза, продолжить подзадачу, продолжить задачу. Первый из этих запросов переводит задачу или подзадачу в состояние ожидания на неопределенный срок. Другие два запроса переводят приостановленную программу в состояние готовности.

10. Уничтожить задачу, уничтожить подзадачу. Указанные запросы относятся к деактивизации программы.

11. Изменить приоритет программы.

12. Конец программы, конец программы с сохранением памяти. Эти запросы деактивирукуг выдавшую их программу, причем во

втором случае память, выделенная задачей, не возвращается в пул свободной памяти.

Завершив рассмотрение примера исполнительной операционной системы реального времени, вновь обратимся одновременно к технологическим и исполнительным классам операционных систем.

Выделение двух указанных классов операционных систем порождает две проблемы: проблему согместимости этих систем при их раздельном использовании и проблему совместимости тех же систем при их одновременном использовании в режиме мультипрограммирования. Первая проблема означает, что прикладные объектные программы, полученные в среде технологической операционной системы, должны без всяких изменений выполняться в среде кснолнятелькой операционной системы. Это требует унификации обращений к операционным системам как со стороны готовых, так и разрабатываемых программ. Вторая проблема актуальна, естественно, лишь в тех случаях, когда отладка и выполнение осуществляются на одних и тех же вычислительных средствах. Подобная ситуация представляется пока в отношении ЧПУ несколько искусственной, однако пренебрегать ею не следует, имея в виду непрерывное увеличение вычислительной мощности устройств ЧПУ. Одновременное использование технологической и исполнительной операционных систем возможно лишь в том случае, если обеспечены прямые и обратные динамические переходы от одной системы к другой.

§ 5. ПРЕДСТАВЛЕНИЕ ОБ УСТРОЙСТВЕ ЧПУ

КАК ВИРТУАЛЬНОЙ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЕ

Продолжим анализ системных математАяеских средств. Микропроцессорное устройство ЧПУ является проблемно-ориеити-рованной вычислительной машиной реального времени и, как любое вычислительное устройство, может быть определено в виде интегрированного набора алгоритмов и структур данных. Как вычислитель-

ная машина, устройство ЧПУ способно хранить и выполнять в реальном масштабе времени управляющие программы ЧПУ. Существует несколько способов построения требуемой вычислительной машины, в том числе и устройства ЧПУ.

При аппаратной реализации структуры данных и алгоритмы представлены непосредственно физическими устройствами - элек-троннылш блоками с фиксированными функциями (такая возможность была рассмотрена в отношении аппаратных устройств ЧПУ), При программно-аппаратной реализации структуры данных и алгоритмы обеспечены микропрограммами, выполняемыми на соответствующей микропрограммнруемой аппаратной машине. При программно-моделируемой реализации структуры данных и алгоритмы представлены программами, написанными на языке опорной машины (аппаратной или программно-аппаратной) таким образом, что язык управляющих программ для моделируемой машины является машинным. При комбинированной реализации одна часть вычислительной машины обеспечивается аппаратурой, другая - микропрограммами, третья - с помощью программного моделирования.

Аппаратную вычислительную машину называют реальной. Машину, которая частично или полностью моделируется программами или микропрограммами, называют виртуальной. Машинным языком виртуальной вычислительной машины является выполняемая форма программы, выдаваемая транслятором.

Для микропроцессорных устройств ЧПУ структуры данных и алгоритмы, используемые при обработке управляющих программ, написанных на входном языке устройств (например, в коде IS0-7bit), также определяют некоторую вычислительную машину. Эта машина в значительной степени смоделирована программно, например, на базе некоторой микроЭВМ. В силу этого микропроцессорное устройство ЧПУ становится виртуальной вычислительной машиной, определяемой реализацией входного языка управляющих программ. Следовательно, входной язык управляющих программ можно полагать машинным для виртуального вычислителя, в качестве которого выступает микропроцессорное устройство ЧПУ.

Виртуальный вычислитель (микропроцессорное устройство ЧПУ) является на самом деле иерархической системой виртуальных машин, в основании которой лежит аппаратная микропроцессорная структура (рис. 24.2). Аппаратная структура оснащена несколькими слоями математического обеспечения, что обращает ее в конечную виртуальную машину, существенно отличающуюся от исходной. Каждая промежуточная виртуальная машина располагает собственными языковыми средствами, которые воспринимаются на своем иерархическом уровне как машинный код и в то же время могут послужить основой для построения виртуальной машины более высокого иерархического уровня. Таким образом, помимо иерархии виртуальных машин (средняя колонка на рис. 24.2) существует иерархия языковых средств (правая колонка) и иерархия слоев математического обеспечения (левая колонка).



Первый слой, обращающий исходную микропроцессорную структуру устройства ЧПУ в виртуальную машину первого уровня - это совокупность микропрограмм. Второй уровень виртуальной машины определяется сложным набором программ, написанных на языке микрокоманд и составляющих операционную систему базового вычислителя устройства ЧПУ. Конкретно речь идет об исполнительной операционной системе реального времени, особенности которой

Аппаратная микропроцессорная основа устройства ЦПУ

Микрооперации

Микропрограппное обеспечение

Микропрограппируе-пая вычислительная основа устройства ЧПУ

МикрокопондЫ

Операционная систепо общего Назначения

Програппно-сподетш-роВонный базовый

Ассепблер, язык высокого уровня

вычислитель устройства ЧПУ

Операционная систепа ЦПУ

Програппно-споделированнае . устройство ЧПУ

Язык ISO-7 bit

Операционная систепа АРП-ЧЛУ

Програппно-сподепированное устройство APtl-ЧПУ

Диалоговый язык высокого уровня

Pftc. 24.2. Микропроцессорное устройство ЧПУ как виртуальная вычислительная машина

были рассмотрены выше. В состав операционной системы входит ассемблер, а быть может, и транслятор с языка высокого уровня; Таким образом, ассемблер или язык высокого уровня являются на данном уровне виртуальности входными машинными языками, которые могут быть использованы для программного моделирования очередной виртуальной машины. Этой очередной (третьей) виртуальной машиной является уже само устройство ЧПУ, причем данный урот вень виртуальности определяется сложным набором прикладных программ ЧПУ в составе проблемно-ориентированной (технологически ориентированной) операционной системы ЧПУ.

На третьем уровне виртуальности решается основная задача ЧПУ - отработка управляющих программ, заданных на входном языке ЧПУ обычно в коде IS0-7bit; однако этот уровень не предоставляет современного сервиса при подготовке управляющей программы. Особенности подобного сервиса таковы: стандартные циклы,

параметрические подпрограммы, макроязык пользователя, диалог, автоматизированная подготовка программ и т. д. Все эти особенности, будучи реализованными, фактически превращают устройство ЧПУ в автоматизированное рабочее место АРМ-ЧПУ - виртуальную машину четвертого иерархического уровня. Для указанной реализации необходим еще один слой математического обеспечения, который может быть оформлен в виде операционной системы АРМ- ЧПУ.

Представление об устройстве ЧПУ как виртуальном вычислителе (см. рис. 24.2) полезно с нескольких точек зрения.

1. Модель устанавливает отношение каждого последующего слоя математического обеспечения к предыдущему. Становится очевидным, что особенности и степень сложности проблемно-ориентированной операционной систему ЧПУ в значительной степени определяются особенностями и степенью сложности операционной системы общего назначения базового вычислителя. Чем более богатой операционной системой располагает базовая микроЭВМ, тем более просто дается переход к тому уровню виртуальности, на котором решаются задачи обработки (отработки) управляющих программ. Операционная система общего назначения может отсутствовать вообще; но в этом случае на долю разработчиков операционной системы ЧПУ выпадет чрезвычайно сложная работа, в рамках которой придется создавать не только прикладные программы ЧПУ, но и среду для квазипараллельного функционирования этих программ.

2. Модель позволяет поставить проблему оптимизации границ между отдельными операционными системами. Оптимизация должна быть подчинена целям эффективной разработки множества комплектов математического обеспечения ЧПУ, целям эффективного расширения некоторого конкретного комплекта, повышения возможностей для пользователя создавать собственные версии математического обеспечения. Оптимизация должна исходить также из целесообраз-

ности автоматизированного проектирования математического обеспечения ЧПУ в соответствии с конкретным техническим заданием.

3. Модель подсказывает, что каждый слой математического обеспечения, поднимающий систему на очередной уровень виртуальности, может быть организован по типу операционной системы, поскольку такое решение может быть наиболее гибким. В частности, именно таким образом целесообразно строить математическое обеспечение ЧПУ. Подобный вывод достаточно продуктивен для разработчиков прикладного математического обеспечения ЧПУ, которые не в должной мере используют богатый опыт системного программирования. Этот опыт свидетельствует о том, что специальные решения и чрезмерно сложные структуры, введенные с намерением сэкономить место в памяти или повысить быстродействие, не всегда оправданы. Причина состоит в том, что истинные затраты, связанные с длительностью разработки и конечной надежностью, часто перекрывают реальную экономию памяти и процессорного времени.

4. Модель демонстрирует различные возможности построения конечной виртуальной машины. Так, могут независимо существовать



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 96

© 2003 - 2024 Prom Izhora
При копировании текстов приветствуется обратная ссылка