Сетевые операционные системы


         

Первый вызов, Allocate, создает новый


Первый вызов, Allocate, создает новый порт и вводит его право в список прав процесса, выполнившего этот вызов. Это право является правом ПОЛУЧИТЬ из этого порта. Имя права возвращается, так что порт можно использовать.
Следующие два вызова отменяют действие первого. Destroy удаляет право. Если это право ПОЛУЧИТЬ, то порт разрушается и все остальные права для него во всех процессах помечаются как недействительные. Deallocate уменьшает счетчик ссылок, связанный с правом. Если он равен нулю, то право удаляется, но порт остается существовать. Вызов Deallocate может использоваться только для удаления прав ПОСЛАТЬ и ПОСЛАТЬ_ОДИН_РАЗ или недействительных прав.
Вызов Extract_right позволяет нити выбрать право из списка прав другого процесса и вставить это право в свой собственный список. Конечно, вызывающая нить должна иметь доступ к порту процесса, управляющего другим процессом (например, своим потомком). Insert_right работает иначе. Он позволяет процессу взять одно из своих прав и добавить его в список прав другого процесса (например, своего потомка).
Вызов Move_member используется для управления набором портов. Он может добавить порт к набору портов или удалить порт. Наконец, вызов Set_qlimit определяет максимальное количество сообщений, которые порт может хранить. Когда порт создается, то их по умолчанию 5, но с помощью вызова Set_qlimit это количество может быть увеличено или уменьшено. Сообщения могут иметь любую длину, так как они сами не хранятся портом.

Содержание  Назад  Вперед





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