Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
366_Operatsionnye_sistemy_UP_2005.doc
Скачиваний:
105
Добавлен:
03.11.2018
Размер:
1.52 Mб
Скачать

1. Управление процессами в автономных однопроцессорных вычислительных машинах

1.1. Понятия вычислительного процесса и ресурса

Понятие «вычислительный процесс» (или просто – процесс) является одним из основных при рассмотрении операционных систем. Под процессом обычно понимается последовательность операций при выполнении программы или ее части в совокупности с используемыми данными. В общем случае процесс и программа представляют собой разные понятия. Програм­ма – это план действий, а процесс – это само действие, поэтому понятие процесса включает программный код, данные, содержимое стека, содержимое адресного и других регистров процессора. Таким образом, для одной программы могут быть созданы не­сколько процессов в том случае, если с помощью одной программы в центральном процессоре (central processor unitCPU) вычислительной машины выполняется несколько несовпадающих последовательностей команд.

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

По генеалогическому признаку различают порождающие и порож­денные процессы.

По результативности различают эквивалентные, тождествен-ные и равные процессы. Все они имеют одинаковый конечный результат, нo эквивалентные процессы могут реализовываться как на одном, так и на многих процессорах по одному или разным алгоритмам, то есть они имеют разные трассы, которые определяют порядок и длительность пребывания процесса в разных состояниях. Тождествен­ные процессы реализуются по одной и той же программе, но имеют разные трассы. Равные (или одинаковые процессы) реализуются по одной про­грамме и имеют одинаковые трассы.

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

По месту развития процессы делятся на внутренние (реализуются на центральном процессоре) и внешние (реализуются на внешних процессорах).

По принадлежности к операционной системе процессы бывают системные (исполняют программу из состава операционной систе­мы) и пользовательские.

По связности различают процессы:

а) взаимосвязанные – имеющие какую-то связь (простран­ственно-временную, управляющую, информационную);

б) изолированные – слабо связанные;

в) информационно-независимые – использующие совмест­ные ресурсы, но имеющие собственные информационные базы;

г) взаимодействующие – имеющие информационные связи и раз­деляющие общие структуры данных;

д) взаимосвязанные по ресурсам;

е) конкурирующие.

Порядок взаимосвязи процессов определяется правилами синхро­низации. Процессы могут находиться в отношении:

а) предшествования – когда один процесс всегда находится в активном состо­янии раньше, чем другой;

б) приоритетности – когда процесс может быть переведен в ак­тивное состояние только в том случае, если в состоянии готовности нет процессов с более высоким приоритетом, или если свобо­ден процессор, или если на процессоре реализуется процесс с меньшим приоритетом;

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

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

Определение концепции процесса преследует цель выработать механизмы распре­деления и управления так называемыми «ресурсами», которые также относятся к числу важнейших понятий ОС.

Ресурс это любой потребляемый (расходуемый) объект. По запа­сам ресурсы подразделяются на исчерпаемые и неисчерпаемые. По­требители ресурсов – процессы. Ресурс – это средство вычисли-тельной машины или вычислительной системы, которое может быть выделено процессу на определенный интервал времени.

Ресурсы классифицируются по следующим свойствам:

а) по признаку реальности – на физические и виртуальные (последние только в отдельных свойствах схожи с физическими ресурсами);

б) по возможности расширения свойств – на эластичные и жесткие (не допускающие расширяемости);

в) по степени активности – на пассивные и активные (способные выполнять действия по отношению к другим ресурсам);

г) по времени существования – на постоянные (доступные на протяжении всего времени существования процесса, а также до и после его работы) и временные;

д) по степени важности – на основные и второстепенные (допускающие альтернативное развитие процесса);

е) по функциональной избыточности при распределении – на дорогие (но предоставляемые быстро) и дешевые (но предоставляемые с ожида­нием);

ж) по структуре – на со­ставные и простые (которые не содержат составных элементов и могут находиться только в одном из двух состояний: «доступен» или «занят»);

з) по характеру использования – на потребляе­мые и воспроизводимые (допускающие многократное использо­вание и освобожде-ние), а также – на ис­пользуемые последовательно и ис­пользуемые параллельно (использующиеся несколькими процессами);

и) по форме реализации – на жесткие (не допускающие копи­рования) и мягкие (допускающие тиражирование и в свою очередь подразделяющиеся на программные и информационные ресурсы).

Примерами ресурсов являются некоторые аппартные устройства ВМ (процессоры, запоминающие устройства, устройства ввода-вывода) или некоторые наборы информации (в частности, совокупности записей определенной структуры – так называемые «файлы»).