шпаргалка

c.Comunic.intr

[ Назад ]
--algoritmul msgsnd /* trimiterea unui mesaj */
^intrгri (1)descriptorul cozii de mesaje
(2)adresa structurii de date pentru mesaje
(3)lungimea mesajului
(4)indicatori /* flags */
ie?iri numгrul de octeti efectiv trimisi
{
verifica valabilitatea descriptorului si a drepturilor de acces;
while(nu exista spatiu de memorie suficient pt. stocarea mesajului)
{
if(flag-ul specifica faptul ca procesul nu asteapta)
return;
sleep(eveniment: exista spatiu suficient pt. stocarea mesajului)
}
aloca antet de mesaj;
copiaza mesajul propriu-zis din spatiul user in spatiul nucleu;
actualizeaza structura de date:
-insereaza in lista noul antet de mesaj;
-initializeaza pointerul din antetul de mesaj catre zona de date;
-inscrie valoarea:-contorului de octeti;
-momentelor de timp;
-identificatorului procesului transmitator;
^trezeste toate procesele care asteapta sa citeasca mesaje din coada;
}
Structurile de date pentru comunicarea prin mesaje:
^Procesele primesc mesaje cu ajutorul apelului sistem msgrcv, care are urmгtoarea sintaxг count = msgrcv(id, msg, maxcount, type, flag)
unde:
-id este descriptorul de mesaj;
-msg este adresa unei structuri de date a utilizatorului оn care se va scrie mesajul primit;
-maxcount este dimensiunea ?irului de caractere din structura de date msg;
-type specificг tipul de mesaj pe care utilizatorul dore?te sг-l citeascг;
-flag precizeazг ce trebuie sг facг nucleul dacг nu existг mesaje оn coada de mesaje.
Valoarea оntoarsг de apel, count, reprezintг numгrul de octeюi de date efectiv primiюi de cгtre utilizator.

КАТЕГОРИИ:

Network | английский | архитектура эвм | астрономия | аудит | биология | вычислительная математика | география | Гражданское право | демография | дискретная математика | законодательство | история | квантовая физика | компиляторы | КСЕ - Концепция современного естествознания | культурология | линейная алгебра | литература | математическая статистика | математический анализ | Международный стандарт финансовой отчетности МСФО | менеджмент | метрология | механика | немецкий | неорганическая химия | ОБЖ | общая физика | операционные системы | оптимизация в сапр | органическая химия | педагогика | политология | правоведение | прочие дисциплины | психология (методы) | радиоэлектроника | религия | русский | сертификация | сопромат | социология | теория вероятностей | управление в технических системах | физкультура | философия | фотография | французский | школьная математика | экология | экономика | экономика (словарь) | язык Assembler | язык Basic, VB | язык Pascal | язык Си, Си++ |