Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Понятие процесса

Процессы (слайд №37)

Процессы и потоки (нити). Взаимодействие процессов.

Пара. Управление процессами и задачами (слайд №36)

 

 

 

 

 

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

Работающий процесс – в данный момент код этого процесса выполняется.

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

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

 

С каждым процессом связывается его адресное пространство, из которого он может читать и в которое он может писать данные.

Адресное пространство содержит:

· саму программу

· данные к программе

· стек программы

 

Процесс при его создании и управлении им операционной системой включает следующую основную информацию:

· Счетчик команд (program counter - PC) – адрес текущей выполняемой команды процесса; обычно хранится в специальном системном регистре аппаратуры;

· Стек (stack) – резидентная область основной памяти, выделяемая операционной системой при создании процесса, в которой хранятся локальные данные процедур процесса, их параметры (аргументы) и связующая информация между ними, необходимая для организации вычислений. При запуске очередной процедуры в стеке отводится запись активации (activation record), называемая также стековым фреймом (stack frame) и областью локальных данных (local data area) для хранения локальных данных текущего поколения (запуска) процедуры. По окончании ее выполнения запись активации удаляется из стека;

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

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

 

Рассмотрим классификацию процессов по ряду признаков (рис. 2).

 

Рис.2. Схема классификации процессов

 

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

2. Процессы, время существования которых не превышает времени допустимой реакции на запросы пользователя, называются интерактивными.

3. Остальные процессы называются пакетными.

Процессы, развивающиеся на ЦП, называется внутренними, или программными. Процессы, развивающиеся на других процессорах, отличных от ЦП, называются внешними (процессы ввода-вывода).

Программные процессы, в свою очередь, делятся на системные (исполняется программа из состава ОС) и пользовательские (исполняется прикладная программа).

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

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

Если между процессами возникают связи всевозможных типов (функциональные, пространственно-временные, управляющие, информационные и т.д.), то процессы являются взаимосвязанными.

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

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

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

 

Допустимые отношения между взаимосвязанными процессами определяются тремя синхронизирующими правилами:

1. Отношение предшествования. Первый из двух процессов должен переходить в активное состояние всегда раньше второго.

2. Отношение приоритетности. Процесс, имеющий приоритет P, активизируется при соблюдении двух условий:

· в состоянии готовности нет процессов с большим приоритетом;

· процессор либо свободен, либо используется менее приоритетным, чем Р процессом.

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

 

 

Каждому процессу в системе назначаются числовые идентификаторы (личные номера) в диапазоне от 1 до 65535 (2^16=65536) (PID – Process Identifier) и идентификаторы родительского процесса (PPID – Parent Process Identifier). PID является именем процесса, по которому мы можем адресовать процесс в операционной системе при использовании различных средств просмотра и управления процессами. PPID определяет родственные отношения между процессами, которые в значительной степени определяют его свойства и возможности. Родителем всех процессов в системе является процесс init (linux) или system (windows). Его PID всегда 1-linux или 4-windows, PPID – 0.

 

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

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

 

 

<== предыдущая лекция | следующая лекция ==>
Работа сети Петри | Понятие ресурса
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 759; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.