logo search
1

1.2.1. Назначение и функции операционной системы

Операционная система (ОС) компьютера представляет собой ком­плекс взаимосвязанных программ, который действует как интерфейс между приложениями и пользователями с одной стороны и аппаратурой — с другой. В соответствии с этим определением ОС выполняет две группы функций:

- предоставление пользователю или программисту вместо реаль­ной аппаратуры компьютера расширенной виртуальной машины, с которой удобнее работать и которую легче программировать;

- повышение эффективности использования компьютера путем ра­ционального управления его ресурсами в соответствии с некоторы­ми критерием.

К числу основных ресурсов современных вычислительных систем мо­гут быть отнесены такие ресурсы, как процессоры, основная память, таймеры, наборы данных, диски, накопители на магнитных лентах, принтеры, сетевые устройства и некоторые другие. Ресурсы распре­деляются между процессорами. Процесс (задача) представляет собой базовое понятие большинства современных ОС и часто кратко опре­деляется как программа в стадии выполнения. Программа — это ста­тический объект, представляющий собой файл с кодами и данными. Процесс — это динамический объект, который возникает в операци­онной системе после того, как пользователь или сама операционная система решает «запустить программу на выполнение», т. е. создать новую единицу вычислительной работы,

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

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

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

На протяжении периода существования процесса его выполнение может быть многократно прервано и продолжено. Для возобновления выполнения процесса необходимо восстановить его среду. Эта инфор­мация называется контекстом процесса (состояние регистров, коды ошибок, указатели на открытые файлы и пр.).

ОС берет на себя функции синхронизации процессов, позволяющие приостанавливать или продолжать процессы при наступлении неко­торых событий.

Для реализации сложных программных комплексов часто необхо­димо организовать их выполнение в виде параллельных процессов, и как следствие ОС должна предоставить средства для межпроцессного вза­имодействия.

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

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

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

Управление файлами и внешними устройствами. ОС «экранирует» слож­ность реальной аппаратуры от программиста. Особенно ярко это про­является в файловой системе. ОС организует представление о данных, хранящихся на внешнем накопителе, в виде файла — неструктуриро­ванной последовательности байтов, имеющей символьное имя. Для удобства работы файлы группируются в каталоги. Пользователь может с помощью ОС выполнять поиск файла по имени, удаление, вывод, из­менение и сохранение. Файловая система выполняет преобразование символьных имен файлов в физические адреса на диске (цилиндр, по­верхность, сектор).

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

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

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

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

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

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

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