Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Понятие поток

Распределение ресурсов

Понятие ресурса

Ресурс любой потребляемый (расходуемый) объект. По запасам ресурсы подразделяются на исчерпаемые и неисчерпаемые.

Ресурс — средство вычислительной системы, которое может быть выделено процессу на определенный интервал времени.

Потребители ресурсов — процессы.

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

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

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

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

По времени существования: постоянные (доступны во все время процесса: и до, и после его работы) и временные.

По степени важности: основные и второстепенные (допускают альтернативное развитие процесса при их отсутствии).

По структуре: простые (не содержит составных элементов) и составные. Они различаются числом состояний: простой может быть только в двух состояниях — доступен или занят.

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

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

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

Управление процессами. Процесс — это программный модуль, выполняемый в центральном процессоре (CPU – Central Processing Unit). Операционная система контролирует следующую деятельность, связанную с процессами:

• создание и удаление процессов;

• планирование процессов;

• синхронизация процессов;

• коммуникация процессов;

• разрешение тупиковых ситуаций.

 

 

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

 

 

Различают следующие состояния потока (рис. 1.9):

новый (поток только что создан);

готовый (поток ожидает освобождения CPU);

выполняемый (команды программы выполняются в CPU);

ожидающий (поток ожидает завершения некоторого события, чаще всего операции ввода-вывода);

завершенный (поток завершил свою работу).

 

Переход из одного состояния в другое не может выполняться произвольным образом. На рис. 1.9 приведена типовая диаграмма переходов для состояний потоков.

 

 

На протяжении периода существования процесса его выполнение может быть многократно прервано и продолжено. Для того чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состояние операционной среды идентифицируется состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т. д. Эта информация называется контекстом процесса.

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

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

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

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

Каждый процесс представлен в операционной системе набором данных, называемых таблица управления процессом (ТУП — РСВ — process control block). В РСВ процесс описывается набором значений, параметров, характеризующих его текущее состояние и используемых операционной системой для управления прохождением процесса через компьютер.

 

 

 

5. Взаимодействие процессов.

 

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

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

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

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

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

Семафоры - это механизмам передачи сообщений от одного потока к другому о наступлении некоторого события.

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

В операционных системах OS/2 и Microsoft Windows существует специальный механизм для взаимодействия процессов в реальном масштабе времени. Этот механизм называется DDE (Dynamic Data Exchange — динамический обмен данными). Он стандартизирует процесс обмена командами, сообщениями и объектами для обработки между задачами. Наиболее распространенным процессом, для которого используется DDE, является печать.

Другим интерфейсом для обмена данными является OLE (Object Linking and Embedding — связывание и встраивание объектов). Этот интерфейс позволяет хранить объекты, созданные одной программой, в объектах, созданных другой программой, а также редактировать (печатать) их без нарушения целостности информации и связей.

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

 

 

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


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


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



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




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