a.Algoritmul chdir

Сделай свою wap-шпаргалку =) попробуй конструктор сайтов http://www.panweb.com/


Algoritmul chdir (modificг directorul curent al unui proces).
^Sintaxa apelului sistem chdir este:
^chdir (nume?_cale);
^unde nume_cale este numele noului director curent al procesului.
^algoritm change directory
^intrare:
^ numele noului director
^ie?ire: niciuna
{ determinг inodul corespunzгtor noului director (algoritm namei);
^if (inodul nu este al unui director sau accesul nu este permis)
{ elibereazг inodul (algoritm iput);
^return (eroare);
}
^deblocheazг inodul;
^elibereazг inodul corespunzгtor directorului curent anterior (algoritm iput);
^plaseazг informaЮiile corespunzгtoare noului inod оn slotul corespunzгtor directorului curent din u area;
} .--Nucleul analizeazг numele noului director folosind algoritmul namei ?i verificг dacг directorul specificat este оntr-adevгr director, precum ?i permisiunile de acces. Noul nod este deblocat, dar rгmвne alocat ?i cu valoarea contorului incrementatг. Se elibereazг inodul vechiului director curent memorat оn u area (algoritm iput), iar noul inod este salvat оn u area. Dupг schimbarea directorului curent algoritmul namei va utiliza inodul din u area ca director de оnceput pentru cгutarea cгilor ce nu оncep din rгdгcinг. Dupг execuЮia chdir, contorul inodului noului director este cel puЮin 1, pe cвnd cel al directorului anterior este decrementat cu 1. Inodul alocat оn timpul unui apel chdir este eliberat numai cвnd procesul executг un alt chdir sau exit (se оncheie).
Pentru ficare utilizator se pгsteazг оn nucleu o variabilг globalг pentru rгdгcinг (root). O copie a acestei variabile este оn u area. Procesele pot schimba rгdгcina curentг (cea din u area) prin intermediul apelului sistem chroot. Sintaxa este:chroot (nume_cale);
unde nume_cale este numele noii rгdгcini. Algoritmul pentru chroot este similar cu chdir.