русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Операции над процессами


Дата добавления: 2013-12-23; просмотров: 677; Нарушение авторских прав


Икв(X): В Г

Икв(X): В Г

Прб

 

Рис.1 Смена состояний процесса X

 

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

 

Зап(X) : Г В

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

 

 

Зап(Y): Г В

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

Блк(X): В Б

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

Прб(X) : Б Г

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

Зап(X) : Г В

 

Блк(X): В Б

 

Прб(X): Б Г

Отметим, что единственная смена состояния, инициируемая самим процессом - это блокирование, остальные инициируются объектами, внешними по отношению к данному процессу.

 

Системы, управляющие процессами, должны иметь возможность выполнять над ними ряд операций.

 

Создание процесса.

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



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

Например, иерархия процессов в UNIX может быть представлена следующим образом:

Р1 Р1 - родительский, порождает два процесса

Р2 и Р3 - дочерних. Дочерний процесс наследует

Р2 Р3 все свойства родительских. Любой процесс UNIX

порождается с помощью системного вызова fork.

Р4 Р5 Имеется процедура опознания родительского и

дочернего процесса.

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

Каждому созданному процессу UNIX назначает уникальный идентификатор процесса - PID , который идентифицирует процесс для ОС. Кроме того, каждый процесс имеет еще PPID (parent process), который предстваляет собой не что иное как PID его родителя.

Используя в UNIX команду ps можно видеть идентификаторы текущих процессов в системе.

 

 

Уничтожение процесса.

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

Приостановка процесса.

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

Возобновление процесса.

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

Изменение приоритета процесса.

Эта операция означает модификацию значения приоритета процесса в РСВ.

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

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

 

Состояние выполнения

В

Зап



<== предыдущая лекция | следующая лекция ==>
Состояния процесса | Взб(Х): ПстБ Б


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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