шпаргалка

a.Apel:sist,read

[ Назад ]
Sintaxa apelului sistem read este:
numгr = read(fd, buffer, contor);
unde fd este descriptorul de fi?ier returnat de cгtre open, buffer este adresa de memorie din spaЮiul procesului utilizator care va conЮine datele оn caz de reu?itг a apelului, contor este numгrul de octeЮi pe care utilizatorul dore?te sг-i citeascг, iar numгr este numгrul de octeЮi citiЮi оn urma apelului.
^mode-indicг tipul operaЮiei (citire sau scriere)
^count-numгrul de octeЮi ce urmeazг a fi citiЮi sau scri?i.
^offset-offsetul din fi?ier.
^address-adresa din spaЮiul nucleu sau utilizator оn care se vor copia datele.
^flag-indicг tipul adresei (utilizator sau nucleu).
Astfel, este setat modul de I/O pentru a indica cг se executг o citire, un flag care indicг faptul cг datele vor fi transferate оn spaЮiul de adrese utilizator, un contor cu numгrul de octeЮi ce vor fi citiЮi, adresa bufferului din spaЮiul utilizator, ?i un cвmp de offset (copiat din GFT) care precizeazг de unde va оncepe citirea datelor. Dupг stabilirea parametrilor de I/O оn u area, folosind pointerul din GFT cгtre intrarea din IT, nucleul blocheazг inodul оnaintea de a оncepe citirea fi?ierului. Algoritmul intrг apoi оntr-un ciclu pвnг la citirea numгrului dorit de octeЮi. Nucleul determinг pe baza offsetului numгrul blocului din cadrul fi?ierului care va fi citit, memoreazг offsetul din cadrul blocului ?i numгrul de octeЮi din bloc ce vor fi copiaЮi оn spaЮiul utilizator. Dupг citirea unui bloc оn memorie, folosind algoritmul bread sau breada, nucleul copiazг datele din bloc оn spaЮiul de adrese al procesului utilizator. Sunt modificaЮi parametrii din u area corespunzгtor numгrului de octeЮi citiЮi incrementвnd offsetul fi?ierului ?i adresa din spaЮiul utilizator la care va avea loc urmгtorul transfer, ?i decrementвnd contorul cu numгrul de octeЮi ce mai trebuie citiЮi.

КАТЕГОРИИ:

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