Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Черги повідомлень

Для забезпечення можливості обміну повідомленнями між процесами цей механізм підтримується наступними системними викликами:

• msgget для утворення нової черги повідомлень або отримання дескриптора існуючої черги;

• msgsnd для посилки повідомлення (вірніше, для його постановки в зазначену чергу повідомлень);

• msgrcv для прийому повідомлення (вірніше, для вибірки повідомлення з черги повідомлень);

• msgctl для виконання ряду керуючих дій.

Ядро зберігає повідомлення у вигляді зв'язного списку (черги), а дескриптор черги повідомлень є індексом у масиві заголовків черг повідомлень. На додаток до інформації, спільної для всіх механізмів IPC в UNIX System V, в заголовку черги зберігаються також:

• покажчики на перше і останнє повідомлення в даній черзі;

• число повідомлень і загальна кількість байтів даних у всіх них разом узятих;

• ідентифікатори процесів, які останніми послали або прийняли повідомлення через дану чергу;

• тимчасові мітки останніх виконаних операцій msgsnd, msgrsv і msgctl.

Як завжди, при виконанні системного виклику msgget ядро ​​ОС UNIX або створює нову чергу повідомлень, розміщуючи її заголовок в таблицю черг повідомлень і повертаючи користувачеві дескриптор новоствореної черги, або знаходить елемент таблиці черг повідомлень, що містить вказаний ключ, і повертає відповідний дескриптор черги. На малюнку 9.5 показані структури даних, що використовуються для організації черг повідомлень.

Рис. 9.5. Структури даних, що використовуються для організації черг повідомлень

 

Для того щоб ядро ​​успішно поставило зазначене повідомлення у вказану чергу повідомлень, повинні бути виконані наступні умови: звертається процес повинен мати відповідні права щодо запису в дану чергу повідомлень; довжина повідомлення не повинна перевищувати встановлений в системі верхня межа; загальна довжина повідомлень (включаючи знову посилається ) не повинна перевищувати встановлену межу; вказаний в повідомленні тип повідомлення повинен бути позитивним цілим числом. У цьому випадку звернувся процес успішно продовжує своє виконання, залишивши відправлене повідомлення в буфері черги повідомлень. Тоді ядро ​​активізує всі процеси, які очікують надходження повідомлень з даної черги.

 


Читайте також:

  1. Визначення порядку черги фаз трифазної системи
  2. ВІДОМОСТІ ПРО ІНФОРМАЦІЮ, КІЛЬКІСНА МІРА ЇЇ. ВИДИ ПОВІДОМЛЕНЬ
  3. Джерело дискретних повідомлень і його ентропія
  4. Для пересилання повідомлень через телекомунікаційне середовище застосовують сигнали.
  5. Довжина двійкового коду повідомлень називається обсягом даних.
  6. Інформація передається за допомогою повідомлень
  7. Комутація повідомлень
  8. Лекція 2. Принципи цифрових методів передачі повідомлень
  9. Мова і стиль повідомлень.
  10. Набір команд і формат повідомлень протоколу ІМАР
  11. Передавання повідомлень
  12. Спадкоємці за законом призиваються до спадщини в порядку черги. Згідно з чинним законодавством в Україні встановлено п’ять черг спадкоємців.




Переглядів: 1037

<== попередня сторінка | наступна сторінка ==>
Семафори | Програмні канали

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.011 сек.