Вопрос 2. Назначение, состав и функции операционных систем.

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

а) ОС как расширенная машина есть комплекс программ, скрывающих истину об аппаратном обеспечении и предоставляющая простой список поименованных файлов, которые можно читать и записывать. Операционная система не только устраняет необходимость работы непосредственно с дисками и предоставляет простой ориентированный на работу с файлами интерфейс, но и скрывает множество неприятной работы с прерываниями, счетчикам и, организацией памяти и другими элементами низкого уровня. В любом случае абстракция, предлагаемая ОС, намного проще и удобнее в обращении, чем то, что может предложить нам непосредственно основное оборудование на аппаратном уровне. Таким образом, ОС предоставляет нам ряд возможностей, которые могут использовать программы с помощью специальных команд, называемых системными вызовами. Под системными вызовами(system calls) понимается интерфейс между операционной системой и пользовательской программой. Они создают, удаляют и используют различные объекты, главные из которых – процессы и файлы. Пользовательская программа запрашивает сервис у операционной системы, осуществляя системный вызов. Имеются библиотеки процедур, которые загружают машинные регистры определенными параметрами и осуществляют прерывание процессора (см. 3.6), после чего управление передается обработчику данного вызова, входящему в ядро операционной системы. Цель таких библиотек – сделать системный вызов похожим на обычный вызов подпрограммы, что естественно ведет к облегчению программирования.

Основное отличие состоит в том, что при системном вызове задача переходит в привилегированный режим или режим ядра (kernel mode). Поэтому системные вызовы иногда еще называют программными прерываниями, в отличие от аппаратных прерываний, которые чаще называют просто прерываниями.

В этом режиме работает код ядра операционной системы, причем исполняется он в адресном пространстве и в контексте вызвавшей его задачи. Таким образом, ядро операционной системы имеет полный доступ к памяти пользовательской программы, и при системном вызове достаточно передать адреса одной или нескольких областей памяти с параметрами вызова и адреса одной или нескольких областей памяти для результатов вызова.

В большинстве операционных систем системный вызов осуществляется командой программного прерывания (INT). Программное прерывание – это синхронное событие, которое может быть повторено при выполнении одного и того же программного кода.

б) ОС как менеджер ресурсов предоставляет организованное и контролируемое распределение процессоров, памяти и устройств ввода-вывода между различными программами, состязающимися за право их использовать. Управление ресурсами включает в себя их мультиплексирование (распределение) двумя способами: во времени и в пространстве. Когда ресурс распределяется во времени, различные пользователи и программы используют его по очереди. Сначала один из них получает доступ к использованию ресурса, потом другой и т. д. Определение того, как долго ресурс будет использоваться во времени, кто будет следующим и на какое время ему предоставляется ресурс – это задача ОС. Другой вид распределения - это пространственное мультиплексирование. Вместо поочередной работы каждая программа получает часть ресурсов. Обычно оперативная память разделяется между несколькими работающими программами, так что все они одновременно могут постоянно находиться в памяти. Таким образом, распределение памяти и дискового пространства и отслеживание того, кто какие адреса памяти и блоки диска использует, является типичной задачей управления ресурсами, которую также выполняет ОС.

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

· Планировщик процессов(process scheduler), который определяет, когда и в течение какого периода времени процесс обрабатывается процессором.

· Диспетчер памяти(memory manager) который определяет, когда и каким образом память распределяется между процессами и что следует предпринять, если основной памяти недостаточно.

· Диспетчер ввода-вывода(i/o manager), который обслуживает запросы ввода-вывода данных при взаимодействии ОС с аппаратными устройствами.

· Диспетчер межпроцессорного взаимодействия(interprocess communication manager – IPC) осуществляет взаимодействие между процессами.

· Диспетчер файловой системы(file system manager), который упорядочивает поименованные объекты на запоминающих устройствах и предоставляет интерфейс для доступа к данным на них.

Подробное рассмотрение функционирования каждого компонента ядра будет дано ниже.

К основным свойствам ОС можно отнести следующие:

· Эффективность;

· Устойчивость;

· Масштабируемость;

· Расширяемость;

· Мобильность;

· Защищенность;

· Интерактивность.

Эффективная ОС(efficient OS) обладает высокой производительностью и малым средним значением времени обработки запросов.

Устойчивая ОС(robust OS) – это отказоустойчивая и надежная система, работающая без сбоев при ошибке отдельного приложения или компонента аппаратуры.

Масштабируемая ОС(scalable OS) – это система способная использовать ресурсы по мере их наращивания.

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

Мобильная ОС(portable OS) разрабатывается для функционирования на различных конфигурациях аппаратных средств.

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

Интерактивная ОС (interactive OS) позволяет приложениям быстро реагировать на действия пользователей и другие события в системе.

Наши рекомендации