Основные понятия ОС. ОС как расширенная машина. ОС как система управления ресурсами.
Операционная система – это комплекс программ, организующих вычислительный процесс в вычислительной системе. Целью разработки ОС является решение 2-х задач:
1) представление пользователю вместо реальной аппаратуры некоторой расширенной виртуальной машины, с которой удобнее работать и легче программировать;
2) повышение качества использования компьютера с помощью рационального управления его ресурсами в соответствии с выбранными критериями.
ОС как расширенная машина: ОС предоставляет пользователю виртуальную машину, которая реализуется с помощью 2-х интерфейсов – программного и пользовательского:
a) программный интерфейс – тесно связан с понятием операционной среды. Операционная среда – набор интерфейсов, который необходим программам пользователя для обращения к управляющей части ОС (операционной системы).
Совокупность системных вызовов и правил определяет интерфейс прикладного программирования(API).
|
|
Программа, созданная для работы в одной ОС, не будет работать в другой. Для преодоления этого ограничения разрабатываются программные среды.
Программная среда – это системное программное окружение, позволяющее выполнять запросы от прикладной программы.
В операционной системе могут быть организованы при помощи эмуляции и другие программные среды. В этом случае можно выполнять программы, созданные для других ОС.
b) пользовательский интерфейс – делится на интерфейс командной строки и графический интерфейс.
С помощью команд можно запускать приложения, выполнять операции с файлами и
администрировать саму систему. Команды могут группироваться в командные файлы: для MS-DOS.bat. Для выполнения команд и командных файлов используется командный интерпретатор: в MS Windows cmd.exe, в UNIX shell.
Графический пользовательский интерфейс GDI: в UNIX представлен системой X-Windows(графическая оболочка). Системы X-Windows различаются использованием различных менеджеров окон: KDE (на основе Qt 4), GNOME (на основе glib), библиотека GTK+.
Функции ОС. Подсистема управления подпрограммами. Диаграмма состояния процесса.
Функции ОС обычно группируются либо в соответствии с типами ресурсов, которыми управляет ОС, либо со специфическими задачами, решаемыми ОС.
Такие группы функций называются подсистемами. Наиболее важные из них – управление программами, управление ОП, управление внешними устройствами.
1) Подсистема управления программами – обеспечивает одновременный запуск и одновременную работу нескольких процессов. Процесс предоставляется как программа на стадии выполнения.
|
|
Программа – статический объект, файлы, с кодом и данными.
Процесс – динамический объект, который возникает в ОС после запуска программы на выполнение. Концепция процесса предусматривает цель – выработать механизм распределения и управления ресурсами.
Термин «ресурс» применяется к многократно используемому стабильному объекту, который запрашивается и освобождается в период их активности.
Т.о. ресурс – это любой объект, который может распределяться внутри ОС. Ресурсы могут быть разделяемыми, когда несколько процессов используют их одновременно, и неделимыми.
Важнейшим разделяемым ресурсом является процессорное время.
Среди существующих вариантов многозадачности выделяют 2 группы: реализующие алгоритмы с вытесняющей и не вытесняющей многозадачностью. Основное различие – централизация планирования процессов.
При вытесняющей многозадачности планирование сосредоточено в ОС, при не вытесняющей – распределено между системой и прикладными процессами. При не вытесняющей многозадачности активный процесс выполняется до тех пор, пока по собственной инициативе не передаст управление ОС.
При вытесняющей многозадачности решение о переключении процесса принимает ОС.
Поскольку процессы могут претендовать на один и тот же ресурс, то на ОС ложится задача поддержания очередей и заявок на такие ресурсы.
Другой задачей является защита выделенных процессом ресурсов от вмешательства других процессов.
ОС выполняет также функцию синхронизации процессов, позволяющую им приостанавливать свое выполнение до наступления какого-либо события.
2) Диаграмма состояния процесса. Процесс может находиться в активном и пассивном состояниях.
В активном состоянии процесс может конкурировать за ресурсы вычислительной системы.
В пассивном состоянии он известен системе, но за ресурсы не конкурирует. В свою очередь, активный процесс может быть в одном из следующих состояний:
a) состояние выполнения – все запрошенные ресурсы выделены.
b) состояние готовности к выполнению – если ресурсы предоставлены, то процесс переходит в состояние выполнения.
c) состояние блокирования (ожидания) – затребованные ресурсы не могут быть предоставлены либо не завершен ввод/вывод.
3) Информационная структура процесса. Для того, чтобы система могла управлять процессом, она должна иметь необходимую информацию. С этой целью на каждый процесс заводится информационная структура, называемая дескриптором процесса. Он содержит идентификатор процесса, переменное состояние, адрес и т.д.
Выполнение
Готовность Блокировка (ожидание)