SHPORA.net :: PDA

Login:
đćăèńòđàöèÿ

Main
FAQ

ăóìàíèòàđíûć íàóêè
ćńòćńòâćííûć íàóêè
ìàòćìàòèśćńêèć íàóêè
òćőíèśćńêèć íàóêè
Search:
Title: | Body:

c,Comunic,:

Dacă procesul apelant este primul proces care ata?ează regiunea respectivă, atunci nucleul alocă tabelele necesare, utilizând algoritmul growreg, corectează valoarea conținută în câmpul last time attached al intrării corespunzătoare din tabela regiunilor de memorie comună, ?i întoarce adresa virtuală la care a ata?at regiunea respectivă.
Un proces deta?ează o regiune de memorie comună din spațiul său virtual de adrese cu ajutorul apelului sistem shmdt. Sintaxa apelului este:
-shmdt(addr)
unde addr reprezintă adresa virtuală întoarsă de un apel shmat anterior. De?i ar părea mai logic ca apelul shmdt să primească drept parametru un identificator, se întrebuințează totu?i adresa virtuală a regiunii de memorie comună pentru ca procesul să poată face distincție între mai multe instanțe ale unei regiuni de memorie comună, care sunt ata?ate la spațiul virtual de adrese al procesului, ?i pentru că identificatorul ar putea să fi fost ?ters. Nucleul caută regiunea procesului ata?ată la adresa virtuală indicată ?i o deta?ează din spațiul de adrese al procesului, utilizând algoritmul detachreg. Deoarece tabelele cu regiuni de memorie nu conțin pointeri înapoi către tabela cu regiuni de memorie comune (Shared Memory Table), nucleul caută în această tabelă intrarea corespunzătoare regiunii ?i corectează valoarea din câmpul care conține momentul ultimei deta?ări a regiunii.
Pentru examinarea stării ?i stabilirea valorilor parametrilor unei regiuni de memorie comună, un proces utilizează apelul sistem shmctl, care are următoarea sintaxă shmctl(id, cmd, shmstatbuf)
unde:
-id identifică intrarea corespunzătoare din tabela regiunilor de memorie comune;
-cmd precizează tipul operațiunii;
-shmstatbuf reprezintă adresa unei structuri de date utilizator care conține informațiile de stare a intrării în tabela regiunilor de memorie comune, atunci când se face interogarea asupra stării sau stabilirea valorilor de stare.