10.4.1. Unix хабарламаларға арналған ақпараттар құрылымы Жүйедегі хабарламалар кезегін сипаттайтын барлық қызмет
ақпараттары ОЖ ядро жадында сақталған хабарламалар кезегінің
кестесінде болады. Мұндай кестеде әр жазба бір кезекті бейнелейді
және келесі ақпаратты құрайды:
■
кезек
идентификаторы — кезекті бір мәнді сәйкестендіретін бүтін
сан. Идентификатор оны процеспен жасайтын кезекке қосылады;
ақпарат алмасу үшін кезекпен жұмыс істейтін процестер осы
идентификаторды кезекке қолжеткізу үшін қолдануы мүмкін.
■
UID және GID кезек құрушылар —EUID кезек құрушы UID сәйкес
келетін процестер кезекті басқара алады: оның параметрін өзгерте
алады немесе өшіре алады;
■
PID процессі хабарламаны және осы оқиғаның уақытын соңғы
кезекке қойған;
■
PID процесс кезектегі хабарламаны және осы оқиға уақытын соңғы
оқыған;
■
Ядро жад аумағын көрсетуші, мұнда кезекте сақталатын
хабарламалармен сызықтық тізім тұрады. Мұндай сызықтық
тізімнің әр элементі ақпараттық хабарламалар мен оның
идентификаторынан тұрады. Одан басқа, тізім элементі қызмет
ақпаратын құрайды — байттағы хабарлама өлшемі және сызықтық
тізімнің елесі элементіне көрсетуші. Тізімдегі элементтер тізбегі
кезектегі хабарлама тізбегін анықтайды.
Файлдарға сияқты кезекке қолжетімділікті шектеу үшін
пайдаланушы-иесі және пайдаланушы-топтар құқығын беру тәсілі
қолданылады. Кезектердің максималды саны, кезектің максималды
өлшемі және хабарламалар ОЖ ядросымен анықталатын тұрақты
шамалармен беріледі.
Хабарламаларды кезекке қойған кезде сызықтық тізімнің жаңа
элементі пайда болады, оған хабарламаның деректері және
идентификатор сыяды. Хабарлама деректері мен идентификатор
процестің мекенжай кеңістігінен ядро жадының мекенжай кеңістігіне
көшірілетін болғандықтан, жөнелтуші-процес өзінің орындалуын кез
келген сәтте тоқтатуы мүмкін — кезектегі хабарламалар тиіспеген
күйде қалады.