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