SHPORA.net :: PDA

Login:
регистрация

Main
FAQ

гуманитарные науки
естественные науки
математические науки
технические науки
Search:
Title: | Body:

b.Crearea fisier

algoritm creat
^intrări: numele fişierului
^permisiunile de acces
^ieşire: descriptorul de fişier
{
^determină inodul pentru fişier (algoritm namei);
^if (fişierul deja există)
{
^if (accesul nu este permis)
{
^eliberează inodul (algoritmul iput);
^return (eroare);
}
^ }
^else /* fişierul nu există încă */
{
^asignează un inod liber din sistemul de fişiere (algoritm ialloc);
^crează o nouă intrare în directorul tată în care se însciu numele noului fişier şi numărul inodului aneterior asignat;
}
^alocă o intrare în GFT pentru inod, iniŢializează contorul;
^if (fişierul exista în momentul creerii)
^eliberează toate blocurile fişierului (de date şi de indirectare) (algoritmul free);
^deblochează inodul;
^return (descriptorul de fişier);
}.
Dacă fişierul deja exista înaintea apelului creat, nucleul găseşte inodul său în timp ce caută fişierul. Vechiul fişier trebuie să ofere permisiunea de scriere procesului ce doreşte să creeze un ?nou? fişier cu acelaşi nume, deoarece conŢinutul fişierului va fi modificat (se eliberează toate blocurile fişierului, acesta arătând ca un fişier nou creat). ïntrucât conŢinutul directorului tată nu va fi modificat, nucleul nu va mai verifica dacă este permisă scrierea directorului.