Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ОС / lecture_2.doc
Скачиваний:
141
Добавлен:
01.05.2014
Размер:
182.78 Кб
Скачать

Лекция 2

Для понимания принципов функционирования современных ОС необходимо определить понятия процессов (задач), потоков, ресурсов и прерываний.

Понятие процесса, граф состояний процесса.

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

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

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

В состоянии выполнения процессу выделяется процессор (процессорное время), т. е. выполняются команды соответствующей программы.

В состоянии ожидания процесс ждёт необходимый ему ресурс, ранее выделенный некоторому другому процессу, или наступления некоторого события.

Во время своего развития процессы могут многократно переходить из одного состояния в другое. Такие переходы осуществляются в соответствии с графом переходов:

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

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

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

Классификация процессов

Для более полного понимания сущности процессов рассмотрим их классификацию по ряду классификационных признаков.

Временные ограничения.

В соответствии с этим признаком процессы разделяются на процессы реального времени, интерактивные процессы и пакетные процессы (фоновые).

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

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

К выполнению пакетных (фоновых) процессов временные требования не предъявляются.

Генеалогический признак.

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

Динамический признак.

Два процесса относительно друг друга будут считаться параллельными, если интервалы их существования пересекаются во времени. В противном случае, процессы относительно друг друга будут считаться последовательными.

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

Принадлежность к центральному процессору.

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

Принадлежность к ОС.

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

Признак связности.

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

Взаимосвязанные параллельные процессы называют взаимодействующими. Такие процессы выполняют некоторую общую работу, используя, при этом, общие (разделяемые) ресурсы. Параллельные процессы, которые используют общие ресурсы, не выполняя общей работы в системе, называются конкурирующими.

Соседние файлы в папке Лекции по ОС