Мегаобучалка Главная | О нас | Обратная связь


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



2019-07-03 245 Обсуждений (0)
Операции над процессами. Взаимодействие процессов 0.00 из 5.00 0 оценок




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

Создание процесса включает:

· присвоение имени процессу;

· включение его имени в список имен процессов;

· определение начального приоритета процесса;

· формирование блока управления процессом (РСВ);

· выделение процессу начальных ресурсов.

 

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

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

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

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

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

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

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

При разработке приложений в среде Windows часто необходимо предусмотреть возможность обмена данными этого приложения с другими приложениями. Для кооперативной работы процессов предназначена составная часть Win API, которая называется IPC – interprocess communications.

Назовем основные способы разделения данных между процессами:

· отображение проецируемых файлов (File mapping). Два процесса отображают один и тот же объект, «проецируемый файл», на свое адресное пространство;

· безымянные каналы (Anonymous Pipe). Один из классических способов взаимодействия процессов, известный еще в UNIX. С помощью функции CreatePipe процесс создает два описателя: один – для чтения, другой – для записи. Эти описатели аналогичны описателям файлов в том смысле, что с ними можно работать файловыми функциями ReadFile и WriteFile. Если породить дочерний процесс так, что бы он наследовал описатели, то можно использовать описатели канала для взаимодействия процессов;

· именованные каналы (Named Pipes). Этот средство аналогично предыдущему за исключением того, что при создании каналу присваивается уникальное глобальное имя. Процесс, породивший канал, называется сервером. Процесс, который присоединяется к этому каналу, называется клиентом. Клиент может присоединяться к серверу, находящемуся на удаленном компьютере в сети. Для обслуживания одновременно нескольких клиентов необходимо порождать несколько потоков;

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

· буфер обмена (Clipboard). Одним из наиболее простых, удобных и интуитивных интерфейсов межпрограммного взаимодействия является буфер обмена – Clipboard. Буфер обмена может содержать в себе один информационный объект – фрагмент текста, изображение и т.д. Любое приложение может поместить данные в буфер обмена и получить данные из него. С помощью системного вызова процесс может получить копию информации, содержащейся в буфере обмена или поместить объект в буфер, при этом старое содержимое буфера теряется. Таким образом, программы получают простой, но эффективный способ обмена данными в процессе своей работы. Применяемый в Windows механизм обмена осуществляется с использованием специального системного глобального буфера. При этом реализуется модель cut–copy–paste;

· присоединение и внедрение объектов (OLE – Object linking and embedding – объектное связывание со встраиванием). Этот интерфейс позволяет хранить объекты, созданные одной

· программой, в объектах, созданных другой программой, а также редактировать их без нарушения целостности информации и связей. Например, можно вставить таблицу MS Excel в документ MS Word. В настоящее время протокол OLE развился до набора технологий, лежащих в основе построения современных информационных систем;

· использование динамически подключаемых библиотек . Динамически подключаемая библиотека (DLL dynamic–link library) – это модуль, содержащий функции и данные, которые могут быть использованы другим модулем (приложением или DLL).

 



2019-07-03 245 Обсуждений (0)
Операции над процессами. Взаимодействие процессов 0.00 из 5.00 0 оценок









Обсуждение в статье: Операции над процессами. Взаимодействие процессов

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (245)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)