14.2. Операционные системы
Центральное место в структуре ПО занимает операционная система. Она представляет собой "систему программ, предназначенную для обеспечения определенного уровня эффективности цифровой вычислительной системы за счет автоматизированного управления ее работой и предоставляемого пользователям набора услуг" (ГОСТ 15971-84). Программные компоненты ОС обеспечивают управление вычислениями и реализуют такие функции, как планирование к распределение ресурсов, управление вводом-выводом информации, управление данными. Объем ОС и число составляющих ее программ в значительной степени определяются типом используемых ЭВМ, сложностью режимов работы ЭВМ и ВС, составом технических средств и т.д.
Применение ОС имеет следующие цели:
• увеличение пропускной способности ЭВМ, т.е. увеличение общего объема работы, выполняемой ЭВМ в единицу времени;
• уменьшение времени реакции системы, т.е. сокращение интервала времени между моментами поступления заданий в ЭВМ и моментами получения результатов;
• контроль работоспособности технических и программных средств;
• помощь абонентам и операторам при использовании ими технических и программных средств, облегчение их работы;
• управление программами и данными в ходе вычислений;
• обеспечение адаптации ЭВМ, ее структурной гибкости, заключающейся в способности изменяться, пополняться новыми техническими и программными средствами.
Любая ОС имеет средства приспособления к классам решаемых пользователями задач и к конфигурации средств, включаемых в ВС. Назначение состава услуг, которыми могут пользоваться абоненты, осуществляется различными методами. В больших ЭВМ формирование конкретной конфигурации ОС осуществляется на нескольких уровнях. Предварительно этот состав определяется при генерации ОС. "Генерация системы - это процесс выделения отдельных частей операционной системы и построения частных операционных систем, отвечающих требованиям системы обработки данных" (стандарт ISO2382/10-79). Из полного набора программных модулей ОС (дистрибутива) формируется специальный набор этих средств, в наибольшей степени отвечающий запросам пользователей. Коррекция же состава используемых услуг может быть выполнена непосредственно перед решением задач операторами вычислительного центра или самими пользователями. Оперативное обращение к средствам ОС возможно и из программ пользователей, путем включения в них специальных директив.
Применительно к ПЭВМ типа IBM PC, у которых пользователь является одновременно и оператором, этот процесс видоизменен. Для каждой ПЭВМ создается так называемый системный диск с соответствующим набором программ дисковой операционной системы (ДОС). При включении компьютера программой Bios Setup Program (программа начальных установок) обеспечивается запись основных параметров системы, которые сохраняются в CMOS-памяти компьютера. Окончательная настройка ДОС производится файлами autoexec.bat и config.sys, а также выполнением отдельных команд, набираемых в командной строке ДОС.
Для каждого типа ЭВМ возможно использование нескольких типов ОС. Все они имеют несколько версий. Для ЮМ PC распространение получили MS DOS фирмы Microsoft, OS/2Warp и DOS фирмы ЮМ, DR DOS фирмы Digital Research, DOS фирмы Novell. Отличия ОС определяются составом и детализацией системных функций. Более распространенной является MS DOS, она используется в большинстве компьютеров. Система DR DOS имеет очень развитые средства защиты информации и разграничение доступа, что предопределяет ее использование в системах с закрытием обрабатываемой информации. OS/2Warp позволяет более полно использовать возможности самых мощных микропроцессоров при организации вычислительного процесса. Novell DOS ориентирована на работу ЭВМ в сети.
Для уяснения процедур планирования вычислениями конкретизируем понятие вычислительного процесса.
Вычислительный процесс в системе представляется в виде последовательности, как правило, ветвящейся, простых процессов - одноразовых работ, выполняемых ресурсами ВС. Ресурсы ВС - это средства, необходимые для вычислений. К ресурсам ВС в первую очередь относят машинное время ЭВМ (процессоров), объемы внешней и особенно оперативной памяти, любые внешние устройства, подключаемые к ВС, вплоть до каналов связи. Ресурсами являются и программные средства как общего, так и специального ПО и даже отдельные информационные массивы, например базы данных, библиотеки и т.д.
Функции управления ресурсами осуществляет операционная система путем построения специальных управляющих таблиц, отражающих наличие и состояние ресурсов. Связь процессов в цепочки осуществляется по событиям, где событие - это изменение состояния ресурса, изменение его характеристик. Именно по событиям ОС включается в работу и адекватно реагирует на сложившуюся ситуацию.
Управление вычислительным процессом практически не может быть оптимизировано, если не считать "заложенной стратегии" в саму ОС, так как для этого просто отсутствуют необходимые данные.
Основу любой ОС составляет управляющая программа, основными функциями которой являются: управление заданиями, управление задачами - управление ходом выполнения отдельных программ, и управление данными.
Задание - это требование пользователя на выполнение некоторого объема вычислительных работ. Процедуры управления заданиями обеспечивают предварительное планирование работы ЭВМ и оперативную связь пользователя и оператора с машиной во время работы. Планирование работы включает: ввод пакетов или одиночных заданий, формирование очередей заданий в соответствии с их приоритетами, активизацию (запуск) и завершение заданий.
Каждое задание реализуется как определенная последовательность отдельных программ - задач. Задачи образуют отдельные программы вместе с обрабатываемыми ими данными. Например, типовое задание пользователя включает этапы трансляции, редактирования и собственно выполнения сформированной машинной программы. На каждом из этих этапов выполняется некоторая программа (задача), обрабатывающая определенные данные. Комплекс программ управления задачами обеспечивает автоматическое выполнение последовательности программ каждого задания пользователя.
Управление задачами требует распределения и назначения ресурсов (управления временем работы процессора, распределения оперативной памяти для программ пользователей и программ ПО, синхронизации выполнения задач и организации связей между ними, управления очередностью задач, внешними устройствами, защиты задач от взаимных помех). Ведущей программой управления задачами является управляющая программа-диспетчер: супервизор, базовый модуль ДОС или др. Часто используемые модули образуют ядро ОС, которое постоянно находится в оперативной памяти и быстро реагирует на изменяющиеся условия функционирования. Примером такой программы может служить командный процессор command.com для ПЭВМ типа ЮМ PC. Остальные программы ОС вызываются из ВЗУ в оперативную память ЭВМ по мере их надобности в вычислительном процессе.
Набор программ управления данными обеспечивает процессы организации, идентификации, размещения в ОП и на ВЗУ, хранения, построения библиотек и выборки всех данных, которые могут обрабатываться в ЭВМ.
В ПЭВМ программы управления заданиями представлены достаточно слабо, так как они изначально создавались как однопользовательские и однозадачные ЭВМ. С появлением ОС типа Windows, ориентированных на многозадачные и многопользовательские режимы, появились и эти процедуры. Программы управления задачами и данными представлены достаточно полно. Так, ядро MS DOS включает следующие системы: файловую, управления памятью, управления программами, связи с драйверами устройств для управления серийной аппаратурой, обработки ошибок, службы времени, общения с оператором.
С труктурно ОС IBM PC состоит из следующих элементов, представленных на рис.14.3. Кроме программных компонентов, указанных на рисунке, к ДОС относят еще вспомогательные файлы autoexec.bat и config.sys. Они предназначаются для настройки на конкретные режимы работы.
Рис. 14.3. Структура ДОС ПЭВМ
Программа начальной загрузки (Boot Record) находится в первом секторе на нулевой дорожке системного диска. Она занимает объем 512 байт. После включения компьютера и его проверки постоянный модуль BIOS формирует вызов данной программы и ее запуск. Назначением программы начальной загрузки является вызов модуля расширения IO.sys и базового модуля ДОС MS DOS.sys.
Базовая система ввода-вывода (BIOS) является надстройкой аппаратурной части компьютера. Постоянный модуль BIOS отвечает за тестирование компьютера после его включения, вызов программы начальной загрузки. Модули BIOS обрабатывают прерывания вычислительного процесса нижнего уровня и обслуживают стандартную периферию: дисплей, клавиатуру, принтер, дисководы.
Модуль расширения BIOS обеспечивает подключение к компьютеру дополнительных периферийных устройств, изменение некоторых параметров ДОС, замещение некоторых стандартных функций, загрузку командного процессора и его запуск.
Базовый модуль ДОС (MS DOS.sys или IBM DOS.com) отвечает за работу файловой системы, обслуживает прерывания верхнего уровня (32...63), обеспечивает информационное взаимодействие с внешними устройствами.
Командный процессор (command.com) предназначен для выполнения команд, загружаемых в командную строку ДОС. Все команды ДОС делят на внутренние и внешние. Внутренние команды содержатся внутри самого файла command.com. Внешние команды - это требования запуска каких-либо программ, находящихся на дисках. Кроме этого, командный процессор выполняет команды файла autoexec.bat, если он находится на системном диске.
Файл autoexec.bat содержит список команд, выполнение которых позволяет развернуть в оперативной памяти компьютера некоторый набор вспомогательных программ или пакетов для обеспечения последующей работы пользователя.
Файл config.sys отражает специфические особенности формирования конфигурации компьютера, т.е. состава его технических и программных средств.
В связи с постоянным совершенствованием ПЭВМ и улучшением их характеристик (быстродействия и емкости памяти) все большее число ЭВМ используют более сложные интегрированные ОС типа MS Windows 95, OS/2 Warp и им подобные.