шпаргалка

a.Fork оntr-un sist.de paginare

[ Назад ]
Nucleul duplicг fiecare regiune a procesului-pгrinte pe timpul apelului sistem fork ?i le ata?eazг procesului-fiu. De obicei, nucleul sistemului face o copie fizicг a spaюiului de adresг al pгrintelui, ceea ce reprezintг o operaюie greoaie оn majoritatea cazurilor, deoarece procesele apeleazг adesea exec imediat dupг apelul lui fork ?i elibereazг imediat memoria pe care tocmai a copiat-o.
La sistemul de paginare al System V, nucleul evitг copierea paginii prin manipularea tabelelor de regiuni, intrгrilor din tabelele de paginг ?i intrгrilor din pfdata: pur ?i simplu este incrementat contorul de referinюг al regiunilor folosite оn comun.
Pentru regiunile private, ca cele de date ?i stiva, acesta alocг totu?i o nouг intrare оn tabela de regiuni ?i o nouг tabelг de paginг iar apoi examineazг fiecare intrare din tabela de paginг a pгrintelui: dacг este o paginг validг, incrementeazг contorul de referinюг оn intrarea din pfdata, indicвnd numгrul de procese care folosesc оn comun pagina prin intermediul unor regiuni diferite. Dacг pagina existг pe dispozitivul de swap, incrementeazг contorul de referinюг al tabelei swap-use pentru pagina respectivг.
Pagina poate fi acum referitг din ambele regiuni care folosesc оn comun pagina pвnг ce un proces scrie оn ea. Nucleul copiazг apoi pagina astfel incвt fiecare regiune are propria versiune. Pentru aceasta, nucleul seteazг bitul "copy on write" pentru fiecare intrare din tabela de paginг din regiunile private ale procesului-pгrinte ?i procesului-fiu pe parcursul apelului sistem fork.
Paginг оntr-un proces care face fork:
--Implementarea apelului sistem fork оn sistemul BSD face o copie fizicг a paginilor procesului-pгrinte. Admiювnd оmbunгtгюirea performanюelor prin faptul cг nu s-ar realiza, totu?i, sistemul BSD conюine ?i apelul sistem vfork, care presupune cг orice proces-fiu va invoca imediat apelul sistem exec la оntoarcerea din apelul sistem vfork nu copiazг tabele de paginг, deci este mai rapid decвt apelul sistem fork din implementarea System V.

КАТЕГОРИИ:

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