Смекни!
smekni.com

Операционные системы ЭВМ и трансляторы (стр. 1 из 2)

Операционная система ОС ЕС предназначена для обеспечения пакетной обработки заданий, режима разделения времени и совмещения этих режимов.

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

Операционная система может работать как в однопрограммном режиме, так и в режиме мультипрограммирования. При однопрограммном режиме в оперативной памяти в каждый момент времени находится только одна выполняемая программа, все задания выполняются последовательно. Для работы в этом режиме достаточен объем оперативной памяти 64 Кбайт. Режим мультипрограммирования может выполняться с фиксированным и переменным числом задач.

В режиме мультипрограммирования с фиксированным числом задач оперативная память объемом не менее 128 Кбайт распределяется при генерации системы или оператором между одновременно выполняемым фиксированным числом заданий не более 15. Допускается в рамках задания распараллеливать процесс вычисления путем организации одновременно выполняемых задач общим числом не более 255. Между этими задачами, выполняемыми в рамках заданий, ресурсы распределяются динамически.

В режиме мультипрограммирования с переменным числом задач все ресурсы, включая оперативную память, минимальный объем которой составляет 256 Кбайт, распределяются между одновременно выполняемыми заданиями динамически. Число заданий может быть произвольным, но не более 15. Число задач, организуемых для распараллеливания вычислений, не лимитируется и определяется динамически в соответствии с наличием свободных ресурсов.

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

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

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

На старших моделях ЕС ЭВМ с объемом оперативной памяти не менее 512 Кбайт на базе мультипрограммного режима с переменным числом задач реализуется система разделения времени для обслуживания более 100 одновременно работающих удаленных абонентов. В оперативной памяти выделяются разделы, предназначенные для выполнения одного или нескольких заданий. Каждое задание получает управление в течение кванта времени, после чего оно вытесняется во внешнюю память, а на его место загружается следующее задание, получающее управление на свой квант времени.

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

В режиме разделения времени возможна реализация диалога человека с ЭВМ, включая разработку и выполнение программ. Операционная система ОС ЕС позволяет вести диалог и без режима разделения времени; возможна разработка пакетов прикладных программ для программирования в режиме диалога на языках высокого уровня.

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

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

Составной частью ОС ЕС является система программирования, в которую входят трансляторы с языков программирования АССЕМБЛЕР, ФОРТРАН IV, АЛГОЛ-60, КОБОЛ, ПЛ/1, РПГ, а также редактор связей и тестран. Программы готовятся с использованием модульного принципа. Большие программы сегментируются на меньшие, разрабатываемые и отлаживаемые самостоятельно с последующим объединением в процессе выполнения или перед ним.

Различают модули исходные, объектные и загрузочные. Исходный модуль представляет собой программу, записанную на языке программирования.

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

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

В зависимости от структуры загрузочного модуля он может быть загружен в оперативную память целиком или по частям. В ОС ЕС допускаются следующие структуры модулей: простая, оверлейная или с перекрытием, динамическая последовательная и динамическая параллельная.

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

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

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

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

Когда выполнение некоторого модуля закончено, управление передается вызвавшему модулю, а участок памяти, занимаемый выполненным модулем, освобождается.

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

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

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

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

Однако изменение модуля в процессе выполнения не позволяет использовать его одновременно двумя или более пользователями или задачами. Поступающие на использование модуля запросы ставятся в очередь до освобождения и восстановления модуля.

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

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