Операционная система компьютера представляет собой комплекс
взаимосвязанных программ, который действует как интерфейс между приложениями и
пользователями с одной стороны, и аппаратурой компьютера с другой стороны. В
соответствии с этим определением ОС выполняет две группы функций:
• предоставление
пользователю или программисту вместо реальной аппаратуры компьютера расширенной
виртуальной машины, с которой удобней работать и которую легче программировать;
• повышение
эффективности использования компьютера путем рационального управления его
ресурсами в соответствии с некоторым критерием.
ОС как система управления ресурсами
Операционная система не только предоставляет пользователям и
программистам удобный интерфейс к аппаратным средствам компьютера, но и является
механизмом, распределяющим ресурсы компьютера.
К числу основных ресурсов современных вычислительных систем
могут быть отнесены такие ресурсы, как процессоры, основная память, таймеры,
наборы данных, диски, накопители на магнитных лентах, принтеры, сетевые
устройства и некоторые другие. Ресурсы распределяются между процессами.
Процесс (задача) представляет собой базовое понятие большинства современных
ОС и часто кратко определяется как программа в стадии выполнения. Программа —
это статический объект, представляющий собой файл с кодами и данными. Процесс —
это динамический объект, который возникает в операционной системе после того,
как пользователь или сама операционная система решает «запустить программу на
выполнение», то есть создать новую единицу вычислительной работы.
Управление ресурсами вычислительной системы с целью наиболее
эффективного их использования является назначением операционной системы.
Функциональные компоненты операционной системы автономного
компьютера
Функции операционной системы автономного компьютера обычно
группируются либо в соответствии с типами локальных ресурсов, которыми
управляет ОС, либо в соответствии со специфическими задачами, применимыми ко
всем ресурсам. Иногда такие группы функций называют подсистемами. Наиболее
важными подсистемами управления ресурсами являются подсистемы управления
процессами, памятью, файлами и внешними устройствами, а подсистемами, общими
для всех ресурсов, являются подсистемы пользовательского интерфейса, защиты
данных и администрирования.
Управление процессами
Важнейшей частью операционной системы, непосредственно
влияющей на функционирование вычислительной машины, является подсистема
управления процессами.
Для каждого вновь создаваемого процесса ОС генерирует
системные информационные структуры, которые содержат данные о потребностях
процесса в ресурсах вычислительной системы, а также о фактически выделенных ему
ресурсах. Таким образом, процесс можно также определить как некоторую заявку на
потребление системных ресурсов.
В мультипрограммной операционной системе одновременно может
существовать несколько процессов. Часть процессов порождается по инициативе
пользователей и их приложений, такие процессы обычно называют
пользовательскими. Другие процессы, называемые системными,
инициализируются самой операционной системой для выполнения своих функций.
Операционная система берет на себя также функции синхронизации
процессов, позволяющие процессу приостанавливать свое выполнение до наступления
какого-либо события в системе, например завершения операции ввода-вывода,
осуществляемой по его запросу операционной системой.
Таким образом, подсистема управления процессами планирует
выполнение процессов, то есть распределяет процессорное время между несколькими
одновременно существующими в системе процессами, занимается созданием и
уничтожением процессов, обеспечивает процессы необходимыми системными
ресурсами, поддерживает синхронизацию процессов, а также обеспечивает
взаимодействие между процессами.
Управление памятью
Память является для процесса таким же важным ресурсом, как и
процессор, так как процесс может выполняться процессором только в том случае,
если его коды и данные (не обязательно все) находятся в оперативной памяти.
Управление памятью включает распределение имеющейся физической
памяти между всеми существующими в системе в данный момент процессами, загрузку
кодов и данных процессов в отведенные им области памяти, настройку
адресно-зависимых частей кодов процесса на физические адреса выделенной области,
а также защиту областей памяти каждого процесса.
Функциями ОС по управлению памятью являются отслеживание
свободной и занятой памяти; выделение памяти процессам и освобождение памяти при
завершении процессов; защита памяти; вытеснение процессов из оперативной памяти
на диск, когда размеры основной памяти недостаточны для размещения в ней всех
процессов, и возвращение их в оперативную память, когда в ней освобождается
место, а также настройка адресов программы на конкретную область физической
памяти.
Управление файлами и внешними устройствами
Способность ОС к «экранированию» сложностей реальной
аппаратуры очень ярко проявляется в одной из основных подсистем ОС — файловой
системе. Операционная система виртуализирует отдельный набор данных,
хранящихся на внешнем накопителе, в виде файла — простой неструктурированной
последовательности байтов, имеющей символьное имя. Для удобства работы с
данными файлы группируются в каталоги, которые, в свою очередь, образуют группы
— каталоги более высокого уровня. Пользователь может с помощью ОС выполнять над
файлами и каталогами такие действия, как поиск по имени, удаление, вывод
содержимого на внешнее устройство (например, на дисплей), изменение и
сохранение содержимого.
Чтобы представить большое количество наборов данных,
разбросанных случайным образом по цилиндрам и поверхностям дисков различных
типов, в виде хорошо всем знакомой и удобной иерархической структуры файлов и
каталогов, операционная система должна решить множество задач. Файловая система
ОС выполняет преобразование символьных имен файлов, с которыми работает
пользователь или прикладной программист, в физические адреса данных на диске,
организует совместный доступ к файлам, защищает их от несанкционированного
доступа.
При выполнении своих функций файловая система тесно
взаимодействует с подсистемой управления внешними устройствами, которая по
запросам файловой системы осуществляет передачу данных между дисками и
оперативной памятью.
Подсистема управления внешними устройствами, называемая также
подсистемой ввода-вывода, исполняет роль интерфейса ко всем устройствам,
подключенным к компьютеру. Спектр этих устройств очень обширен. Номенклатура
выпускаемых накопителей на жестких, гибких и оптических дисках, принтеров,
сканеров, мониторов, плоттеров, модемов, сетевых адаптеров и более специальных
устройств ввода-вывода, таких как, например, аналого-цифровые преобразователи,
может насчитывать сотни моделей. Эти модели могут существенно отличаться набором
и последовательностью команд, с помощью которых осуществляется обмен
информацией с процессором и памятью компьютера, скоростью работы, кодировкой
передаваемых данных, возможностью совместного использования и множеством других
деталей.
Программа, управляющая конкретной моделью внешнего устройства
и учитывающая все его особенности, обычно называется драйвером этого
устройства (от английского drive — управлять, вести).
Классификация ОС
1) Сетевая и несетевая ОС
2) Многопользовательская и однопользовательская
3) Многозадачная и однозадачная
4) С графическим интерфейсом и с командной строкой.
Требования к современным операционным системам
Главным требованием, предъявляемым к операционной системе,
является выполнение ею основных функций эффективного управления ресурсами и
обеспечение удобного интерфейса для пользователя и прикладных программ.
Современная ОС, как правило, должна поддерживать мультипрограммную обработку,
виртуальную память, свопинг, многооконный графический интерфейс пользователя, а
также выполнять многие другие необходимые функции и услуги. Кроме этих
требований функциональной полноты к операционным системам предъявляются не
менее важные эксплуатационные требования, которые перечислены ниже.
• Расширяемость
• Переносимость
• Совместимость
• Надежность
и отказоустойчивость
• Безопасность
•
Производительность