Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Schimbarea directorului sau a radacinii - UNIX

linux



+ Font mai mare | - Font mai mic



Schimbarea directorului sau a radacinii - UNIX

La incarcarea sistemului, procesul 0 stabileste ca radacina a sistemului de fisiere directorul sau curent din perioada initializarii. El executa algoritmul iget pentru a obtine inodul radacina, il salveaza in u area ca director curent, si elibereaza. Atunci cand se creaza un proces prin apelul sistem fork, acest proces mosteneste in zona sa u area directorul curent al procesului tata, iar nucleul incrementeaza valoarea contorului de referinta din inod.



algoritm change directory

intrare: numele noului director

iesire: niciuna

deblocheaza inodul;

elibereaza inodul corespunzator directorului curent anterior

(algoritm iput);

plaseaza informatiile corespunzatoare noului inod in slotul

corespunzator directorului curent din u area;

}

Figura 5.14. Algoritm pentru schimbarea directorului curent

Algoritmul chdir (figura 5.14) modifica directorul curent al unui proces.

Sintaxa apelului sistem chdir este:

chdir (numeIcale);

unde numeIcale este numele noului director curent al procesului.

Nucleul analizeaza numele noului director folosind algoritmul namei si verifica daca acesta este intr-adevar director, precum si permisiunile de acces. Noul inod este eliberat, dar ramane alocat si cu valoarea contorului de referinta incrementata. Se elibereaza inodul vechiului director curent memorat in u area (algoritm iput), iar noul inod este salvat in u area. Dupa schimbarea directorului curent algoritmul namei va utiliza inodul din u area ca director de inceput pentru cautarea cailor ce nu incep din radacina. Dupa executia apelului chdir, contorul inodului noului director este cel putin 1, pe cand cel al directorului anterior poate fi 0. Inodul alocat in timpul unui apel chdir este eliberat numai cand procesul executa un alt apel chdir sau se termina.

Pentru fiecare utilizator se pastreaza in nucleu o variabila globala care pointeaza spre inodul radacinii sistemului. O copie a acestei variabile este in u area. Procesele pot schimba radacina curenta (cea din u area) prin intermediul apelului sistem chroot. Sintaxa este:

chroot (numeIcale);

unde numeIcale este numele noii radacini. Algoritmul pentru chroot este similar cu chdir.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 954
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved