шпаргалка

b,Comunic:

[ Назад ]
--algoritmul shmat /* atasare zona comuna de memorie */
^intrгri: (1)descriptorul regiunii comune de memorie
(2)adresa virtuala la care sa se faca atasarea
(3)indicatori (flags)
^ie?iri: adresa virtuala la care s-a atasat zona comuna de memorie
{
verifica validitatea descriptorului si a drepturilor de acces;
^if (adresa virtuala specificata de utilizator [nu este egal] 0)
{
trunchiaza adresa virtuala conform specificatiilor indicatorilor;
verifica validitatea adresei virtuale si a dimensiunii regiunii;
}
^else /*utilizatorul doreste ca nucleul sa gaseasca o adresa*/
^nucleul alege o adresa virtuala (daca nu este nici una la dispozitie, atunci eroare);
ataseaza regiunea la spatiul de adrese al procesului(alg. attachreg)
^if (regiunea este atasata pentru prima data)
aloca tabele de pagini, memorie pentru regiune (alg. Growreg);
^return(adresa virtuala la care s-a facut atasarea);
}
Zona comunг de memorie nu trebuie sг se оntindг peste alte regiuni din cadrul spaюiului virtual de adrese al procesului, deci atвt amplasarea cвt ?i dimensiunea ei trebuie alese judicios pentru ca, оn cazul unor modificгri ulterioare de dimensiune, alte regiuni sг nu se extindг peste zona comunг de memorie. De exemplu, un proces poate mгri dimensiunea regiunii sale de date prin apelul sistem brk, noua regiune de date fiind virtual contiguг vechii regiuni de date оn consecinюг nucleul nu trebuie sг plaseze zona de memorie comunг оn apropierea regiunii de date. Similar, nucleul nu trebuie sг plaseze zona de memorie comunг оn apropierea vвrfului stivei, pentru a preveni astfel fenomenul de cre?tere a stivei оn interiorul zonei de memorie comunг. De exemplu, dacг stiva cre?te cгtre valorile mari ale adreselor, cel mai bun loc de amplasare a zonei de memorie comunг ar putea fi imediat оnaintea adresei de оnceput a regiunii de stivг.
Nucleul verificг dacг regiunea de memorie comunг оncape оn spaюiul de adrese al procesului ?i o ata?eazг, utilizвnd algoritmul attachreg.

КАТЕГОРИИ:

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