b.Apel.sist,read

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


^algoritm read
^intrгri: descriptorul de fi?ier
adresa bufferului din spaЮiul de memorie al ^procesului utilizator
numгrul de octeЮi ce se dore?te a fi citit
^ie?ire: numгrul de octeЮi copiaЮi оn spaЮiul utilizator
{
^gгse?te intrarea din GFT corespunzгtoare descriptorului de fi?ier;
^verificг drepturile de acces la fi?ier;
^stabile?te parametrii din u area implicaЮi оn operaЮia de I/O; /* adresa din spaЮiul utilizator, contorul cu numгrul de octeЮi ce trebuie R/W, modul de I/O */
^gгse?te inodul corespunzгtor din intгrii din GFT;
^blocheazг inodul;
^stabile?te offsetul din u area la valoarea existentг оn intrarea din GFT
^while (nu s-a ajuns la numгrul dorit de octeЮi citiЮi)
{
^converte?te offsetul оn fi?ier оn numгr de bloc disc ( algoritm bmap);
^calculeazг offsetul оn bloc, numгrul de octeЮi ce vor fi citiЮi;
^if (numгrul de octeЮi ce vor fi citiЮi este 0)
/* оncercare de a citi sfвr?itul fi?ierului */
^break; /* se iese din ciclu */
^cite?te blocul;/* algoritmul breada sau bread */
^copiazг datele din bufferul sistem la adresa din spaЮiul utilizator;
^reactualizeazг cвmpurile din u area; /* offsetul оn fi?ier, contorul, adresa utilizator */
^deblocheazг bufferul; /* blocat оn bread */
}
^deblocheazг inodul;
^actualizeazг offsetul din GFT pentru urmгtoarea operaЮie de citire;
^return (numгrul total de octeЮi citiЮi);
}