
Prezentatsia_Protzesy_avtor_Zakirov.pptx
- Количество слайдов: 7
Что такое «Процесс» ? • Процесс — выполнение пассивных инструкций компьютерной программы на процессоре ЭВМ. Стандарт ISO 9000: 2000 Definitions определяет процесс как совокупность взаимосвязанных и взаимодействующих действий, преобразующих входящие данные в исходящие. • Компьютерная программа сама по себе это только пассивная совокупность инструкций, в то время как процесс — это непосредственное выполнение этих инструкций. • Часто процессом называют выполняющуюся программу и все её элементы: адресное пространство, глобальные переменные, регистры, стек, открытые файлы и т. д.
Модель процесса В этой модели все выполняемое на компьютере программное обеспечение, иногда включая операционную систему, сведено к ряду последовательных процессов, или, для краткости, просто процессов. Процесс — это просто экземпляр выполняемой программы, включая текущие значения счетчика команд, регистров и переменных. Концептуально у каждого процесса есть свой, виртуальный, центральный процессор. Разумеется, на самом деле настоящий центральный процессор постоянно переключается между процессами, но чтобы понять систему, куда проще думать о наборе процессов, запущенных в (псевдо) параллельном режиме, чем пытаться отслеживать, как центральный процессор переключается между программами. Это постоянное переключение между процессами, называется мультипрограммированием, или многозадачным режимом работы. .
Создание и Завершение процесса Операционным системам необходим какой-нибудь способ для создания процессов. При запуске операционной системы создаются, как правило, несколько процессов. Некоторые из них представляют собой высокоприоритетные процессы, то есть процессы, взаимодействующие с пользователями и выполняющие для них определенную работу. Остальные являются фоновыми процессами, не связанными с конкретными пользователями, но выполняющими ряд специфических функций. Фоновые процессы, предназначенные для обработки какой-либо активной деятельности. После создания процесс начинает работать и выполняет свою задачу. Но ничто не длится вечно, даже процессы. Большинство процессов завершаются по окончании своей работы.
Иерархии процессов В некоторых системах, когда процесс порождает другой процесс, родительский и дочерний процессы продолжают быть определенным образом связанными друг с другом. Дочерний процесс может и сам создать какие-нибудь процессы, формируя иерархию процессов. У процесса есть только один родитель (но нуль, один, два или более детей).
Состояния процессов Несмотря на самостоятельность каждого процесса, наличие собственного счетчика команд и внутреннего состояния, процессам зачастую необходимо взаимодействовать с другими процессами. Один процесс может генерировать выходную информацию, используемую другими процессами в качестве входной информации. На рис. 2. 2 показана диаграмма, отображающая три состояния, в которых может находиться процесс: 1) выполняемый (использующий в данный момент центральный процессор); 2) готовый (работоспособный, но временно приостановленный, чтобы дать возможность выполнения другому процессу); 3) заблокированный (неспособный выполняться, пока не возникнет какое-нибудь внешнее событие).
Реализация процессов Для реализации модели процессов операционная система ведет таблицу (состоящую из массива структур), называемую таблицей процессов, в которой каждая запись соответствует какому-нибудь процессу. (Ряд авторов называют эти записи блоками управления процессом. ) Эти записи содержат важную информацию о состоянии процесса, включая счетчик команд, указатель стека, распределение памяти, состояние открытых им файлов, его учетную и планировочную информацию и все остальное, касающееся процесса, что должно быть сохранено, когда процесс переключается из состояния выполнения в состояние готовности или блокировки, чтобы позже он мог бы возобновить выполнение, как будто никогда и не останавливался. . В табл. 2. 1 показан ряд ключевых полей типовой системы. Поля первого столбца относятся к управлению процессами. Поля остальных двух столбцов относятся соответственно к управлению памятью и файлами. Следует заметить, что наличие тех или иных полей в таблице процессов в большей степени зависит от системы, но в этой таблице изложено основное представление о типе необходимой информации. Краткое изложение процесса обработки прерывания и планирования приведено в табл. 2. 2. Следует заметить, что детали от системы к системе могут несколько отличаться.
Моделирование режима многозадачности Режим многозадачности позволяет использовать центральный процессор более рационально. Но в этой модели заложен абсолютно нереальный оптимизм, поскольку в ней заведомо предполагается, что все пять процессов никогда не будут одновременно находиться в ожидании окончания какого-нибудь процесса ввода-вывода. Лучше выстраивать модель на основе вероятностного взгляда на использование центрального процессора.