ОПЕРАЦИОННАЯ СИСТЕМА
— комплекс программ, осуществляющих управление вычислительным процессом и реализующих наиболее общие алгоритмы обработки информации на данной цифровой вычислительной машине. Первые О. с, созданы в 1953—54 в США. В 1955 была разработана уже достаточно- развитая О. с. для машины «IВМ-704».
При создании первых О. с. стремились сократить время отладки программ вручную за пультом машины, и, по возможности, минимизировать время, затрачиваемое оператором для подготовки задачи к решению. С этой целью была создана серия обслуживающих, управляющих и отладочных программ, которые поставляли программисту информацию, необходимую для анализа работы программы за письменным столом, а не за пультом машины. С дальнейшим развитием входных языков появилась необходимость автоматизировать процессы вызова соответствующих трансляторов, загрузки оттранслированных программ в память и процесс распределения памяти.
Особое значение для развития О. с. имела идея многопрограммной обработки информации. Наиболее законченное выражение эта идея получила при разработке О. с. для машины «ATLAS» (Англия). Эту систему следует считать родоначальницей современных О. с., состоящих из десятков и сотен тысяч команд и практически полностью автоматизирующих внеш. и внутр. организацию вычисл. процесса на машине.
Установившейся классификации О. с. пока не существует. Причиной этого является, по-видимому, сложность самих систем, постоянное их развитие и появление все новых разновидностей. Для некоторых частных случаев классификация О. с. возможна и общепринята. Так, напр., выделяют два класса О. с., характеризующихся способом доступа пользователя к ЦВМ: одни О. с. допускают непосредственный доступ пользователя к ЦВМ, а другие предполагают посредников между пользователем и ЦВМ в лице операторов, принимающих задание пользователей и выдающих им решения. О. с., допускающие пользователя к ЦВМ без посредничества оператора, применяют в системах разделения времени (см. Диалога режим, Обработка информации в режиме разделения времени), а также в автоматизированных системах управления предприятием. О. с., которыми можно пользоваться при посредничестве оператора, применяют при пакетной обработке информации. Особые О. с. необходимы для вычисл. процесса на ЦВМ, работающих в системах управления тех. и технологическими объектами (см. Обработка информации в реальном масштабе времени).
Осн. функциями О. с. являются собственно управление вычисл. процессом, а также реализация алгоритмов обработки информации общего для данной машины и класса задач назначения, напр., трансляция, редактирование, упорядочение, сортировка и т. д. В соответствии с таким разделением ф-ций О. с. программы, входящие в нее, принято делить на управляющую программу и обрабатывающие программы (часть обрабатывающих программ, выполняющих чисто вспомогательные функции, наз. обслуживающими программами). Управляющую программу можно рассматривать в качестве своеобразного «программного продолжения» устройства управления ЦВМ.
В результате функционирования О. с. пользователь имеет в своем распоряжении некоторую воображаемую (виртуальную) машину, программно имитируемую на реально работающей машине. Внутр. язык виртуальной машины расширен по сравнению с языком реальной машины за счет инструкций, выполняемых управляющей программой (см. Макрокоманда). Тех. параметры виртуальной машины несколько ниже, чем реальной, особенно в случае многопрограммной обработки информации. Так, быстродействие виртуального
процессора, с точки зрения пользователя, более низкое, чем реального, т. к. реальный процессор может выполнять параллельно несколько программ.
Осн. ф-циями управляющей программы О. с. является управление заданиями, распределение памяти, управление обменом, управление данными, реакция на нерегулярные ситуации, ведение протокола вычисл. процесса, а также управление обрабатывающими программами О. б., напр., трансляторами. Перечисленные ф-ции О. с. взаимосвязаны, поэтому четко разграничить их не всегда возможно. Значимость той или иной ф-ции зависит от внеш. и внутр. организации вычисл. процесса. Программы О. с, в зависимости от частоты обращения к ним и необходимой скорости выполнения их постоянно находятся в оперативной (или долговременной) памяти — т. н. резидентной (или нерезидентной) части О. с.
Осн. единицей работы машины является задание. Характерной чертой заданий является их содержательная цельность (с точки зрения пользователя) и независимость друг от друга. Каждое задание разбивается на ряд пунктов (шагов), выполняемых последовательно в соответствии с управляющими предложениями, задаваемыми пользователем в задании. Управляющая программа, распознав очередной пункт, принимает его к выполнению. При многопрограммной обработке информации отдельные пункты, порожденные разными заданиями, выполняются практически параллельно в соответствии с режимом работы.
Наиболее общие ф-ции управления в О. с. выполняют спец. планирующие программы, анализирующие поток заданий и предварительно распределяющие машинные ресурсы (напр., устройства ввода — вывода данных ЦВМ, память на дисках магнитных или барабанах магнитных и т. д.). Информация о ресурсах, необходимых для задачи, содержится в т. н. паспорте задачи. После расчленения на пункты заданиями начинают управлять программы, объединяемые обычно понятием «супервизор». Супервизор ведает текущим обеспечением задач ресурсами, управляет распределением памяти и процессами обмена с накопителями.
Программы, соответствующие отдельным задачам, обычно расчленяются на несколько сегментов, являющихся единицами загрузки в оперативную память. Функциями супервизора является также вызов сегментов с внеш. накопителей для их выполнения, настройка на истинные адреса в оперативной памяти и обеспечение связи между отдельными сегментами (редактирование связей). Часто эти ф-ции реализуют спец. программы — загрузчики. Особо важным является загрузка отдельных сегментов некоторой задачи на одно и то же место оперативной памяти (т. н. перекрытие).
Управление данными заключается в организации на запоминающих устройствах внешних каталогизированной системы массивов, обращение к которым в программах максимально приближено к обращению, принятому в алгоритмических языках высокого уровня (напр., в К0Б0Ле). Управление данными необходимо в О. с., предназначенных для автоматизированных систем управления предприятиями, информационно-справочных систем и для других применений, для которых необходима организация архивов информации на внеш. носителях.
В процессе работы машины могут возникать различные нерегулярные ситуации, связанные с неисправностями самой машины (отказы и сбои) или ошибочными действиями оператора и пользователя. При возникновении таких ситуаций управляющая программа реагирует на вырабатываемую информацию (напр., сигналы прерывания), анализирует ситуацию и предпринимает действия к диагностике неисправностей ЦВМ, их локализации и, если возможно, автомат, устранению путем включения резервной аппаратуры, отключения неисправной машины или перехода на режимы работы с неполным комплектом аппаратуры. Диагноз и рекомендации к устранению нерегулярной ситуации сообщаются оператору.
В случае, если продолжать решать какую-нибудь задачу невозможно в связи с аварией или ошибками в программе, управляющая программа выдает т. н. «посмертную информацию», помогающую оператору (или пользователю) получить максимум сведений о происшедшем случае и не допустить повторения этой ошибки в дальнейшем. Особенно сложными ф-циями контроля и диагностики обладают управляющие программы многопроцессорных систем, работающих в реальном масштабе времени (взаимная диагностика процессоров, обеспечение функционирования системы в случае выхода из строя некоторых из процессоров и т. д.).
Весь ход вычисл. процесса на машине должен автоматически протоколироваться, особенно если машину используют многие потребители, работающие с терминалов (индивидуальных пультов), а также в случае использования машины в системах автоматизированного управления. Протоколирование необходимо для расчета оплаты за эксплуатацию машины и для получения первичной документации при возникновении различных конфликтных ситуаций в отношениях с пользователями. В протокол включаются сведения о затратах машинного времени (отдельно по центр, процессору и внеш. устр-вам для выполнения каждого задания пользователя, о действиях, выполняемых оператором и пользователем в регулярных и нерегулярных ситуациях). Сведения о процессе накапливаются обычно во внеш. памяти машины и могут быть по требованию оператора выведены на устр-во отображения или печатающее устр-во. Некоторые сведения выводятся управляющей программой.
Обрабатывающие программы общего назначения (трансляторы, загрузчики и др.) находятся под непосредственным контролем управляющей программы, осуществляющей их
вызов и обеспечение ресурсами. После окончания работы загрузчика О. с. берет на себя управление загруженной программой. В некоторых случаях связь между управляющей программой и системой программирования, реализуемой транслятором, бывает настолько тесной, что включить в О. с. еще одну систему программирования практически невозможно. Такое взаимное переплетение управляющей программы и системы программирования встречается в основном в системах, ориентированных на режим диалога. В большинстве же случаев в О. с. можно включать произвольное число систем программирования на базе процедурно- либо машинно-ориентированных входных языков программирования. В этом случае О. с. наз. открытой относительно систем программирования. Трансляция со всех языков программирования высокого уровня производится обычно на один язык машинноориентированный (язык макроассемблера), включающий все макрокоманды О. с.
Управляющая программа в процессе функционирования ЦВМ взаимодействует, с одной стороны, с оператором и пользователями, принимая и выполняя их инструкции, а с другой — с выполняемыми программами, расшифровывая поступающие макрокоманды и управляя процессом их выполнения. В соответствии с этими видами взаимодействия различают два вида языков О. с.: язык общения операторов и пользователей с О. с. и язык общения выполняемых программ с О. с. (язык макрокоманд). Язык общения операторов и пользователей с О. с. содержит инструкции, задаваемые системе с осн. (центрального) пульта оператора или с терминалов пользователей, а также сообщения, выдаваемые машиной.
При режиме пакетной обработки информации значительная часть инструкций содержится на т. н. управляющих перфокартах, вводимых вместе с программой и начальными данными задачи. К инструкциям относятся команды о вводе или окончании задания, команды изменения приоритетов заданий, команды, устанавливающие или изменяющие порядок выполнения работ по выполнению задания, сообщения оператора о системе конфигурации машины, указание носителей, на которых располагается необходимая информация, и др. Ряд сообщений информационного характера, указаний оператору или пользователю относительно выполнения определенных действий (подготовить носитель информации, обеспечить загрузку устр-в перфокартами, сообщить пароль, принять меры к устранению неисправностей в устр-вах и т. п.) О. с. выдает без спец. запросов со стороны пользователя или операторов.
В язык общения выполняемых программ с О. с. (язык макрокоманд) входят заявки на выполнение отдельных системных процедур, на формирование массивов (файлов), на предоставление программам ресурсов, на ввод и вывод информации и др. Существует и внутр. язык О. с., включающий средства обмена информацией между отдельными модулями О. с., способы описания работ внутри системы, а также требования отдельных процедур системы на выполнение функций, принадлежащих другим процедурам.
О. с. являются одной из наиболее быстро изменяющихся компонент математического обеспечения ЦВМ, т. к. для технического или языкового нововведения необходим пересмотр организации вычисл. процесса. Общая тенденция развития О. с. заключается в макс. облегчении взаимодействия человека с вычислительной машиной на всех этапах процесса переработки информации, устранении всех промежуточных вспомогательных преобразований информации в процессе этого взаимодействия, в оптим. использовании средств вычислительной техники.
Наиболее эффективным развитием О. с. является введение режима диалога. Это стало возможным лишь с распространением развитых терминальных устр-в, включающих в т. ч. устр-ва отображения на базе электроннолучевой трубки (см. Экранный пульт). Быстрое усовершенствование этих устр-в, расширение их функциональных возможностей вызовет, несомненно, дальнейшее развитие форм диалога. В перспективе представляется возможным непосредственный обмен с машиной печатной и графической информацией, внедрение устр-в ввода информации с голоса. Важным направлением в развитии О. с. является реализация части ее функций непосредственно аппаратными средствами.
Дальнейшее построение многопроцессорных ЦВМ (см. Вычислительная система) ведет к значительному усложнению О. с. Планирующие программы О. с. должны распределять задания или отдельные шаги заданий между процессорами (т. е. распараллеливать вычисл. процесс), синхронизируя их работу, т. к. только в этом случае можно достичь макс. производительности многопроцессорной ЦВМ. Вместе с тем, для обеспечения максимума надежности работы в некоторых случаях О. с. должна организовать дублирование выполнения одного и того же задания на нескольких процессорах с обеспечением взаимного контроля (напр., по мажоритарному принципу). Особенно возрастают и усложняются ф-ции О. с. в ЦВМ 4-го поколения, которые объединят большое число функционально специализированных процессоров. Иногда под термином О. с. понимают всю систему математического обеспечения ЦВМ.
Лит.: Королев Л. Н., Иванников В. П., Томилин А. Н. Функции диспетчера операционной системы БЭСМ-6. «Журнал вычислительной математики и математической физики», 1968, т. 8, № 6; Килбурн Т., Ховарт Д., Пэйн Р. Программа-супервайзер для машины АТЛАС. В кн.: Кибернетический сборник, № 6. М., 1963: Martin J. Programming real time computer systems. New York, 1965: The tunctional structure of os/360.«IBM systems Journal», 1966, v. 5. № l: Brfiggemann F. W. Das Betriebssystem der Grobrechenanlagen der Control Data 6000-Serie- Martens K. Das Plattenbetriebssystem 4004/15. «Elektronische Daten-verarbeitung», 1967, № 3; Бepтэн Ж., Риту М., Ружие Ж. Работа ЭВМ с разделением времени. Пер. с франц. М., 1972.
Л. Н. Королев, А. И. Никитин.