Процессы и ресурсы

Идентификация всех программ и данных.

Организация режима реального времени. (Относится к классификации операционных систем). Реальное время- время реакции системы на изменение параметров управляемого объекта должно обеспечивать реализацию процесса выполнения. ОСРВ предназначены для реализации управления объектами и процессами.

Обеспечение работы систем программирования.

Ф-ции операционной системы:

1. Управление задачами

Гарантия обслуживания предполагает, что любая пользовательская задача должна быть выполнена и выполнена в приемлемое время. Задача любой операционной системы это обеспечение гарантии обслуживания. Для обеспечение гарантии обслуживания используется планирование потока выполняемых задач (очередь) и диспетчеризация. Планирование является долгосрочным процессом, устанавливающий некоторые правила на длительный период. Диспетчеризация долгосрочный процесс.

2. Управление памятью.

Наличие этой функции объясняется тем, что существует необходимость пере размещение выполняемых программ в оперативной памяти, а так же возникает необходимость выполнение программ адресное пространство в которых превышает доступный объём оперативной памяти. В операционной системе существует модуль памяти, который называется «Диспетчер памяти».

Процессы и ресурсы.

Процесс – задача, выполняющаяся на последовательном процессоре.

В каждый момент времени выполняется только одна задача.

Ресурс понятие весьма общее. Ресурсы вычислительной системы это некие объекты входящие в её состав которые характеризуются следующим:

1. Ресурсы вычислительной системы это относительно стабильные, постоянно недостающие и конкурентно используемые объекты.

Ресурсы можно разделить на аппаратные и информационные.

Аппаратные: Процессорное время, оперативная память, внешнее запоминающее устройство, устройства ввода вывода, устройство связи с объектом и т.д.

Информационные – любые данные необходимы процессору для выполнения. Ресурсы бывают делимые и неделимые. Примеры:

Делимые ресурсы (разделяемые):

Процессорное время

Жёсткий диск

Оперативная память и т.д.

Неделимые ресурсы:

Устройство вывода обслуживающее некоторую задачу. До завершение операции вывода это устройство другим задачам недоступно.

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

Состояние процессов (Диаграмма состояния)

За время своего существования любой процесс многократно переходит из одного состояния в другое. Существует следующие состояния:

1. Состояние готовности (к выполнению)

2. Состояние исполнение (выполнения)

3. Состояние ожидания

4. Состояние бездействия

Процесс – задача выполнимая на последовательном процессе.

Переходное состояние из бездействия в готовность.

По прерыванию от внешнего устройства.

Сигнал о наступлении какого-либо события может запустить соответствующую задачу обработчика этого события.

При наступлении запланированного времени запуска задачи.

По инициативе другой задачи.

Вызовом к диспетчеру задач, один процесс может создать инициализировать, приостановить, остановить, уничтожить любой процесс.

По команде оператора.

Из состояния выполнения процесс может быть быть по след. Причинам:

1. Процесс завершен, управления передаётся операционной системе. Диспетчер задач переводит его либо в состояние бездействующих, либо уничтожает. Завершение может произойти по инициативе оператора или любой другой команды.

2. Процесс переходит в состояние готовности по истечении кванта времени либо в связи с появлением задачи более высокого приоритета.

3. Процесс переходит в состояние ожидания либо в связи с выполнением операции ввода\вывода, которые должны быть завершены прежде чем процесс сможет продолжить свою работу, либо по причине невозможности предоставить процессу требуемый ресурс. Этот переход может быть выполнен так же, по команде оператора (приостановить процесс) или по запросу другой программы.

Переход из состояния ожидания в готовность, происходит при завершении операции ввода\вывода или освобождение требуемого ресурса.

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

Тип или класс процесса.

Переменная состояния процесса. Защищённая область памяти. Описатели задач обычно хранятся в зарезервированной области оперативной памяти. Максимальное число описателей задаётся при генерации системы. Описатели, формируются в очереди(для каждого состояния процесса).

Процессы и потоки.

Иногда в рамках единого процесса можно выделить несколько логически-самостоятельных (независимых) друг от друга частей. В таком случае удобно (даже в однопроцессорной системе) разбить процесс на ряд потоков (под процессов). Поток отличается от процесса тем, что ему выделяется единственный персональный ресурс (процессорное время), остальные ресурсы необходимые для выполнения потоку-принадлежать породившему процессу. Потоки иногда называют «Облегчённые процессы». В однопроцессорной системе – потоки разделяют процессорное время, как обычные процессы.

Понятие процесс подразумевает, что при управлении им необходимо учитывать все закреплённые за ним ресурсы. Понятие поток подразумевает – распределение процессорного времени. Каждый процесс состоит как минимум из одного потока. Для эффективного использования необходимо сводить к минимуму взаимодействие потоков между собой. Для эффективного использования много-поточности, необходимо свести к минимуму задержки синхронизации и обмена данными. Как и процессы, потомки могут порождать другие процессы. Как и процессы, потоки могут находится в одном из нескольких состояний. Потоки имеют общее адресное пространство которое относится к породившему их процессу и это значит, что они разделяют глобальные переменные.

Рекомендации по созданию много-поточных систем.

Для однопроцессорной системы, множество параллельных потоков может негативно сказаться на эффективность работы. Это связано с ростом накладных расходов при многократном переключении контекста задач. Поток осуществляющий длительную обработку данных, может уменьшить скорость реакций на запросы ввода\вывода. Потоки (в рамках процесса) могут иметь различные приоритеты, это позволяет выполнять менее значимые программы в фоновом режиме.

Много-поточность работает хорошо только в том случае, когда потоки логически независимы. Реализация синхронизации потоков может быть источником трудно обнаруживаемых ошибок. Не рекомендуется создавать потоки реализующие несколько функций. Потоки разных процессов взаимодействовать могут.

Прерывания.

Прерывание – принудительное передача управления от одной программы к другой. (Реакция системы на какое-то событие).

Прерывание обеспечивает асинхронный режим работы. Обработка прерываний выполняется в несколько этапов, аппаратно-программными средствами (механизм обработки прерываний является аппаратно-программным).

1. Обнаружение факта прерывания.

2. Идентификация прерывания.

3. Сохранение аппаратными средствами контекста прерываемой задачи.

4. Передача управления в программе обработчику прерываний.

5. Сохранение контекста прерываемой задачи которое не могло быть выполнено программными средствами.

6. Обработка прерываний.

7. После завершения обработки прерывания, система прерывания разблокируется.

8. Восстановление и продолжение прерванной программы.

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

Разрядность регистро-прерывания ограничено (16), а число источников прерывания может быть существенно больше. В таком случае нескольким источникам назначается один разряд регистра, а сигнал поступающий от устройства содержит адрес (код) устройства который будет обработан программно.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: