Тема: Концептуальные основы операционных систем АС.
Вопрос №1Операционная система. Структура,
выполняемые функции.
Операционная система (ОС) в наибольшей степени определяет облик всей вычислительной системы в целом.
Операционная система– это комплекс программ, обеспечивающий управление ресурсами ЭВМ и процессами, которые используют эти ресурсы при вычислениях.
Операционные системы характеризуются признаками:
§ количество пользователей, одновременно обслуживаемых системой (однопользовательские и многопользовательские);
§ число одновременно выполняемых процессов (однозадачные и многозадачные);
§ тип используемой вычислительной системы (однопроцессорные, многопроцессорные, сетевые, распределённые).
Пример
Операционная система WindowsXP является многозадачной, ОС Linux – многопользовательской, MS-DOS однозадачной и, следовательно, однопользовательской. Операционные системы Windows NT и Linux могут поддерживать многопроцессорные ЭВМ с 16 процессорами. Операционная система Novell NetWare является сетевой, однако, встроенные сетевые средства имеют также Windows NT и Linux.
Структура ОС
Современные операционные системы, как правило, имеют многоуровневое строение.
Структура ОС Windows (см. рис.1). Непосредственно с аппаратурой работает ядро операционной системы. Ядро [kernel] – это программа или небольшой набор программ, с помощью которых осуществляется более эффективное управление ЭВМ конкретного типа (семейство ЭВМ, тип процессора, конкретные аппаратные компоненты ЭВМ и внешние устройства).
Архитектура операционных систем Windows XP и Windows Server 2003 является модульной. Структурно ее можно разделить на две части.
Первая часть работает в режиме ядра (kernel mode) и называется исполнительной системой Windows (Windows executive). Компоненты режима ядра обладают следующими функциональными возможностями:
- имеют доступ к оборудованию;
- имеют прямой доступ ко всем видам памяти компьютера;
- не выгружаются на жесткий диск в файл подкачки;
- имеют более высокий приоритет, нежели процессы режима пользователя.
Вторая часть работает в так называемом режиме пользователя (user mode) Эту часть составляют защищенные подсистемы ОС. Особенности процессов пользовательского режима:
- не имеют прямого доступа к оборудованию, все запросы на использование аппаратных ресурсов должны быть разрешены компонентом режима ядра;
- ограничены размерами выделенного адресного пространства, это ограничение устанавливается выделением процессу фиксированных адресов;
- могут быть выгружены из физической памяти в виртуальную на жестком диске;приоритет процессов данного типа ниже приоритета процессов режима ядра, это предохраняет ОС от снижения производительности или задержек, происходящих по вине приложений.
Структура ОС класса Linux (см. рис.2).
Рис. 2 Уровни операционной системы Linux.
Ядро определяет программный интерфейс. На втором уровне находятся стандартные программы операционной системы и оболочка, которые работают с ядром и предоставляют пользовательский интерфейс. Программы второго уровня стараются делать машинно-независимыми. В идеале замена ядра равнозначна замене версии операционной системы.
Функции ОС
ОС выполняют две по существу мало связанные друг с другом функции:
- обеспечение пользователю-программисту удобств посредством предоставления для него расширенной или виртуальной машины, которую легче программировать и с которой легче работать;
- и повышение эффективности использования компьютера путем рационального управления его ресурсами.
1. Рассмотрим первую функцию:
Предоставление пользователю-программисту вместо реальной аппаратуры компьютера расширенной виртуальной машины, с которой удобнее работать.
Под виртуальной машиной понимается вычислительная система заданной конфигурации, моделируемая для пользователя программными и аппаратными средствами конкретного реально существующего компьютера. ОС является тем слоем программного обеспечения, которое преобразует реальную машину (аппаратную часть) в виртуальную.
Пример. Извечная компьютерная проблема – нехватка оперативной памяти, решается с помощью виртуальной (реально не существующей) памяти.
Под виртуальной памятью понимается расширение адресного пространства задачи, полученное за счет использования части внешней памяти – реально части жесткого диска.
Если оперативной памяти не хватает для обеспечения работа активного приложения, то приложение (либо данные) или его часть, которые не использует в данный момент микропроцессор, выгружается из оперативной памяти на жесткий диск. На их место в оперативную память загружается необходимый фрагмент активного приложения. Когда одному из выгруженных фрагментов приложения передается управление, он снова загружается в ОЗУ, а в это время может произойти выгрузка на диск другого, пассивного в данный момент приложения.
Таким образом, с использованием ресурса виртуальная память программы (приложения) циркулируют между диском и ОЗУ.
Именно поддержка виртуальной памяти позволяет на практике открывать большое количество приложений одновременно. При этом следует иметь в виду, что выгрузка на диск или загрузка с диска снижают производительность компьютера.
Используемая для этой цели часть внешней памяти называется файлом подкачки, а описанный процесс подкачки известен под названием свопинг. Объем файла подкачки может в несколько раз превышать объем оперативной памяти.
2. Рассмотрим вторую функцию:
Повышение эффективности использования компьютера за счет рационального управления его ресурсами.
Управление ОС ресурсом состоит из двух ее функций:
§ упрощение доступа к ресурсу;
§ распределение ресурсов между конкурирующими за них процессами.
Ресурс – это любой логический или аппаратный компонент ЭВМ. Основными ресурсами являются процессорное время и оперативная память. Ресурсы могут принадлежать одной или нескольким внешним ЭВМ, к которым операционная система обращается, используя вычислительную сеть.
Процесс – это последовательность действий, предписанных программой.
Для решения первой задачи операционные системы поддерживают пользовательский и программный интерфейсы.
Для решения второй операционные системы используют различные алгоритмы управления виртуальной памятью и процессором.
Пользовательский и программный интерфейсы
Для упрощения доступа к ресурсам ЭВМ операционные системы поддерживают пользовательский и программный интерфейсы.
Пользовательский интерфейс [user interface] – это набор команд и сервисных услуг, которые упрощают пользователю работу с ЭВМ.
Современные типы ОС Windows предоставляет пользователю графический интерфейс. Графический пользовательский интерфейс (с точки зрения пользователя) – набор правил для наглядного управления ЭВМ, с помощью которого эта работа представляет собой последовательность манипуляций с элементами управления, являющимися графическими объектами, реагирующими на положение курсора мыши и откликающимися на соответствующие события, вызванные действиями пользователя или самой ОС.
Программный интерфейс [program interface] – это набор процедур, которые упрощают для программиста управление ЭВМ.
Набор системных функций в Windows носит название API (Application Programming Interface). В этом наборе имеются более тысячи процедур для решения разных системных задач.
Еще одно определение ОС по рисунку 3.
ОС – часть ПО, выступающая в качестве интерфейса между программами, пользователями и аппаратурой компьютера.