КАТЕГОРИИ: Архитектура-(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; Просмотров: 834; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |