Scrigroup - Documente si articole

     

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


Accesul direct in fisiere - UNIX

linux



+ Font mai mare | - Font mai mic



Accesul direct in fisiere - UNIX

Apelurile read si write descrise anterior asigura un accesul secvential la un fisier. Prin utilizarea apelului sistem lseek procesele pot modifica valoarea deplasamentului din tabela de fisiere, asigurandu-se astfel un acces aleator la fisier, utilizatorul avand posibilitatea sa scrie sau sa citeasca de la orice adresa.



Sintaxa apelului sistem este:

pozitie= lseek(fd, offset, referinta);

unde fd este descriptorul de fisier (returnat de open), referinta indica originea fata de care se stabileste deplasamentul, offset este un numar care indica pozitia finala a deplasamentului fata de referinta, iar pozitie reprezinta deplasamentul de la care va incepe urmatoarea operatie de citire/scriere. Referinta poate fi inceputul fisierului (referinta=0), pozitia curenta (referinta=1) sau sfarsitul fisierului (referinta=2).

#include <fcntl.h>

main(argc,argv)

int argc;

char *argv[ ];

}

Figura 5.10. Exemplu de program care utilizeaza apelul sistem lseek

Spre exemplu, in programul din figura 5.10 un proces deschide un fisier, dupa care ciclic citeste un octet si apeleaza lseek pentru a incrementa valoarea deplasamentului din tabela de fisiere cu 1023 (cu referinta=1). Astfel, programul citeste din fisier octetii cu deplasamentul multiplu de1024. Apelul lseek nu are nimic de a face cu operatia seek care efectueaza pozitionarea bratului discului pe un anumit sector. Pentru a implementa apelul lseek nucleul modifica practic valoarea deplasamentului din tabela de fisiere.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 740
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