ОПЕРАЦИО́ННАЯ СИСТЕ́МА
-
Рубрика: Технологии и техника
-
-
Скопировать библиографическую ссылку:
ОПЕРАЦИО́ННАЯ СИСТЕ́МА (ОС), комплекс программ, обеспечивающий возможность удобного использования аппаратно-программных ресурсов ЭВМ прикладными программами и пользователем в соответствии с заданной политикой безопасности и разделения ресурсов; загружается обычно при включении ЭВМ. ОС решает две взаимодополняющие задачи: предоставляет набор функций с целью создания удобной среды для работы пользователя и прикладных программ; организует процесс работы мн. приложений на одной ЭВМ, защищая приложения друг от друга, а также управляя разделением ресурсов ЭВМ в соответствии с заданными регламентами.
Основные функции, состав, архитектура ОС
Эффективная реализация мн. функций ОС возможна только при наличии соответствующей поддержки со стороны аппаратных средств ЭВМ, в первую очередь уровней привилегиров. выполнения команд, прерываний, средств защиты памяти. Уровни привилегиров. выполнения команд определяют неск. режимов работы процессора. При работе в непривилегиров. режиме процессор может выполнять команды, необходимые для прикладных вычислений, но ему недоступен набор команд, предназначенных для управления ЭВМ. Прерывания приостанавливают выполнение текущей программы в процессоре, переключают его в привилегиров. режим и передают управление ОС (сообщая ей о наступлении некоторого события, требующего соответствующей обработки). Прерывания делятся на внешние и внутренние. Внешние прерывания извещают ОС о событиях, которые происходят в оборудовании ЭВМ (напр., нажатие клавиши на клавиатуре). Внутр. прерывания информируют ОС о событиях, возникающих в ходе выполнения текущей программы, напр. попытка выполнить привилегиров. команду в непривилегиров. режиме, невозможность выполнения текущей команды (напр., деление на ноль) процессором. Средства защиты памяти предназначены для формирования совокупности независимых адресных пространств (так, программа, работающая в одном адресном пространстве, не может обращаться к ячейкам памяти, принадлежащим другому адресному пространству памяти). Наиболее распространённый способ реализации защиты памяти в совр. процессорах состоит в том, что адреса памяти, которые указываются в командах процессора, интерпретируются как т. н. логич. адреса. При выполнении команды процессор автоматически транслирует логич. адрес в физич. адрес ячейки памяти ЭВМ в соответствии с таблицами трансляции, которые настраиваются ОС при помощи соответствующих привилегиров. команд.
Рассмотренные выше механизмы позволяют ОС переложить контроль над работой прикладных программ на аппаратные средства; они также служат основой для построения эффективной защиты ОС от прикладных программ и прикладных программ друг от друга.
Одной из осн. задач ОС является управление ресурсами ЭВМ (процессорами, оперативной и внешней памятью, устройствами ввода-вывода, каналами связи и др.). Ключевыми понятиями в организации управления ресурсами служат процессы, виртуальная память и файлы. Процесс рассматривается ОС в качестве потребителя ресурсов ЭВМ (т. е. участвует в их распределении). Также в большинстве ОС каждому процессу ставится в соответствие собств. адресное пространство (как правило, адресные пространства процессов не пересекаются). Многие ОС поддерживают выполнение нескольких потоков управления в рамках одного адресного пространства процесса. Иногда говорят о процессах как о представлении прикладных программ в ходе их выполнения на ЭВМ, однако следует учитывать, что в ряде случаев одной прикладной программе может соответствовать неск. процессов, а также неск. программ могут быть представлены одним процессом. Виртуальная память служит для повышения эффективности использования оперативной памяти ЭВМ и увеличения объёма адресного пространства процесса. Реализация виртуальной памяти также базируется на аппаратной поддержке ЭВМ в виде таблиц трансляции логич. адресов в физические. Понятие файла (под которым обычно понимают поименованный набор данных, являющийся единицей хранения информации) позволяет единообразно работать с информацией независимо от того, где и как она хранится – в оперативной памяти, во внешней памяти или на удалённой ЭВМ.
ОС состоит из ядра и набора системных библиотек и утилит. К ядру обычно относят компоненты ОС, которые выполняются в привилегиров. режиме работы процессора. Осн. функциональные компоненты ядра ОС: подсистема управления памятью; подсистема управления процессами; файловые системы; драйверы, или программы управления внешними устройствами ЭВМ (принтерами, запоминающими устройствами и др.); подсистема организации межпроцессного взаимодействия. Наибольшее распространение получили два типа архитектуры ядра ОС – монолитный и микроядерный. В монолитных ядрах все компоненты работают в едином адресном пространстве и никак не защищены друг от друга, т. е. любой компонент может изменить данные др. компонента. При микроядерной архитектуре компоненты чётко разделены, работают в непересекающихся адресных пространствах и взаимодействуют между собой путём передачи сообщений. Большинство совр. ОС, получивших широкое распространение, имеют монолитную архитектуру (Linux, Windows), однако существуют коммерчески успешные варианты ОС с микроядерной (QNX, PikeOS, Integrity) и гибридной (Symbian, Mac OS X) архитектурой.
Системные библиотеки содержат набор часто используемых подпрограмм, таких как операции ввода-вывода, математич. функции, примитивы графич. интерфейса пользователя и т. п. Утилиты – это программы (реализующие некоторые функции ОС), которые выполняются в непривилегиров. режиме.
Выделяют ОС общего назначения и специализированные. Совр. версии распространённых ОС общего назначения – это крупные программные комплексы, где только ядро состоит из нескольких млн. операторов ассемблера и/или др. языков программирования, а размер библиотек и утилит доходит до сотен млн. строк. Специализир. ОС применяются в ЭВМ, которые ориентированы на решение определённого класса задач. В первую очередь к таким задачам относятся управление к.-л. процессами (напр., поддержания определённого температурного режима) или механизмами. ЭВМ, применяемые для этих целей, получили назв. управляющих; как правило, они являются встроенными. У встроенных ОС размер ядра часто не превышает 10 тыс. строк кода. Ключевые характеристики ОС для встроенных ЭВМ – повышенная надёжность, компактность и эффективность управления ресурсами в условиях ограниченного и заранее известного набора задач. Встроенные ЭВМ часто осуществляют управление в режиме реального времени, что требует соответствующей поддержки со стороны ОС (такие ОС называются ОС реального времени).
Историческая справка
Прототипами ОС на первых ЭВМ были спец. программы, называемые диспетчерами, мониторами, управляющими программами и т. п., которые в первую очередь поддерживали загрузку подпрограмм из библиотек стандартных подпрограмм. Отеч. система ИС-2 – значимое достижение в этом классе программных систем. В первых развитых ОС появилась возможность предоставлять поддержку т. н. пакетной обработке, позволившей автоматизировать последовательный пропуск задач на ЭВМ (GM-NAA I/O, США, 1956). Следующий шаг эволюции ОС – поддержка режима многозадачности (Burroughs Master Control Program, 1961, США; ОС ЭВМ Урал-11, СССР, 1963–1965), что способствовало повышению эффективности использования центр. процессора; так, если выполнение текущей задачи останавливалось, напр. ожидая завершения операции ввода-вывода, ОС переключала процессор на выполнение др. задачи. При реализации режима разделения времени мн. пользователям предоставлялась возможность одновременно работать на одной ЭВМ, при этом у каждого из них создавалась иллюзия того, что все ресурсы ЭВМ находятся в его полном распоряжении. Осн. принципы разделения времени сложились в ОС CTSS (1961, США). Доминирующее положение ряда ЭВМ IBM System/360 (США) в 1960–70-е гг. привело к появлению первой широко используемой ОС OS/360.
В СССР существенный прогресс в разработке ОС связан с созданием ЭВМ, имеющих развитые механизмы обработки прерываний и управления памятью. Пионерской стала ОС на ЭВМ «Весна», однако широкое использование новых возможностей ОС связано с появлением ЭВМ БЭСМ-6 (1967). Первой ОС для БЭСМ-6 был диспетчер Д-68; для решения задач в режиме реального времени создана ОС НД-70; при разработке ОС ИПМ предложено много новаторских решений по архитектуре ОС и систем программирования; основной ОС БЭСМ-6 стала ОС «Диспак». Развитыми ОС были снабжены самые массовые в СССР ЭВМ ср. класса «Минск-22» и «Минск-32». ОС на БЭСМ-6 и ЭВМ «Минск» обеспечивали пакетную и многозадачную обработку, а также режим разделения времени, поддерживая тем самым одновременную работу нескольких пользователей в диалоговом режиме, нескольких фоновых вычислит. задач и обработку данных в режиме реального времени. Успешно развивались отеч. ОС для ЭВМ специального, в т. ч. военного, назначения. С переходом отеч. электронной пром-сти на выпуск машин типа ЕС ЭВМ и СМ ЭВМ усилия разработчиков ОС переключились на адаптацию зарубежных ОС, а именно ОС типа OS 360/370, RT-1, RSX-11, Unix и др. Вместе с тем создавались и оригинальные отеч. ОС, напр. ОС для советских суперЭВМ (семейства «Электроника» и «Эльбрус»).
Осн. совр. тенденции в развитии архитектуры ОС связаны с разработкой ОС CP 67/CMS (1967, США), ОС Multics (1968, США) и UNIX (1969, США), System 1 (1983, США). CP-67/CMS впервые реализовала концепцию виртуализации, заключающуюся в выделении небольшой ОС (позднее названной гипервизором), которая берёт на себя базовые функции по управлению устройствами ЭВМ и распределению её ресурсов. При этом ответственность за организацию среды для прикладных программ перекладывается на др. ОС, называемую гостевой. Под управлением гипервизора может одновременно работать неск. гостевых ОС, для которых гипервизор создаёт видимость единоличной работы на виртуальной ЭВМ.
В сер. 1960-х гг. учёные Массачусетского технологич. ин-та предложили ряд новых концепций, которые легли в основу ОС Multics: поддержка динамич. связывания прикладных приложений с библиотеками, возможность (с помощью модульной конструкции электронных устройств) наращивать вычислит. возможности системы простой заменой её модулей (центр. процессора, памяти, дискового пространства и др.) без прерывания работы ОС, иерархическая файловая система. Эти концепции оказали значит. влияние на разработку большинства последующих ОС.
В 1980-е гг. лидирующее положение на рынке ОС заняли UNIX-системы. Разработчики ОС UNIX произвели тщательный отбор уже зарекомендовавших себя на практике принципов построения ОС, что в совокупности с простотой переноса этой ОС на разл. новые виды ЭВМ привело к её широкому распространению. Появилось множество ОС, копирующих осн. принципы ОС UNIX.
ОС System 1, созданная для ЭВМ Apple Macintosh, совершила переворот в способах взаимодействия пользователя с ЭВМ; были усовершенствованы графич. интерфейс пользователя, т. н. оконный интерфейс и управление с помощью координатных устройств ввода (напр., мышь, трекбол).
К кон. 1990-х гг. вследствие распространения ПК большим спросом стала пользоваться ОС Microsoft Windows (США), совр. версия которой в нач. 21 в. продолжает занимать господствующее положение среди ОС для ПК. В нач. 2000-х гг. наибольшее применение нашла ОС Linux, которая в технич. плане является наследницей ОС UNIX. Во многом успех ОС Linux обусловлен использованием принципов свободного программного обеспечения. Ныне ОС Linux лидирует среди ОС для суперЭВМ и серверов, расширяется область её использования при создании мобильных устройств и встроенных ЭВМ.
Основные направления развития совр. ОС: повышение надёжности, обеспечение безопасности и защиты данных, оптим. энергопотребление, эффективная работа на многоядерных и многопроцессорных ЭВМ, а также исследования в области новых интерфейсов взаимодействия с пользователем.