READAHEAD(2) | Manualul programatorului Linux | READAHEAD(2) |
NUME¶
readahead - inițiază citirea în avans a fișierului în memoria cache a paginii
REZUMAT¶
#define _GNU_SOURCE /* Consultați feature_test_macros(7) */ #include <fcntl.h>
ssize_t readahead(int fd, off64_t offset, size_t count);
DESCRIERE¶
readahead() inițiază citirea în avans „readahead” a unui fișier astfel încât citirile ulterioare din acel fișier să fie satisfăcute din memoria cache și să nu blocheze operațiile de intrare/ieșire pe disc (presupunând că citirea în avans a fost inițiată suficient de devreme și că alte activități din sistem nu au golit între timp paginile din memoria cache).
Argumentul fd este un descriptor de fișier care identifică fișierul care urmează să fie citit. Argumentul offset specifică punctul de plecare de la care trebuie citite datele, iar count specifică numărul de octeți care trebuie citiți. In/Ieș se efectuează în pagini întregi, astfel încât offset este rotunjit efectiv până la o limită de pagină, iar octeții sunt citiți până la următoarea limită de pagină mai mare sau egală cu (offset+count). readahead() nu citește dincolo de sfârșitul fișierului. Decalajul de fișier al descrierii fișierului deschis la care se face referire prin fd rămâne neschimbat.
VALOAREA RETURNATö
În caz de succes, readahead() returnează 0; în caz de eșec, se returnează -1, cu errno configurată pentru a indica cauza erorii.
ERORI¶
VERSIUNI¶
Apelul de sistem readahead() a apărut în Linux 2.4.13; suportul glibc a fost oferit începând cu versiunea 2.3.
ÎN CONFORMITATE CU¶
Apelul de sistem readahead() este specific Linux, iar utilizarea sa trebuie evitată în aplicațiile portabile.
NOTE¶
Pe unele arhitecturi pe 32 de biți, semnătura de apelare pentru acest apel de sistem este diferită, din motivele descrise în syscall(2).
ERORI¶
readahead() încearcă să programeze citirile în fundal și să se întoarcă imediat. Cu toate acestea, este posibil să se blocheze în timp ce citește metadatele din sistemul de fișiere necesare pentru a localiza blocurile solicitate. Acest lucru se întâmplă frecvent cu ext[234] în cazul fișierelor mari care utilizează blocuri indirecte în loc de „extents”, dând impresia că apelul se blochează până când datele solicitate au fost citite.
CONSULTAȚI ȘI¶
COLOFON -- NOTà FINALö
Această pagină face parte din versiunea 4.16 a proiectului Linux man-pages. O descriere a proiectului, informații despre raportarea erorilor și cea mai recentă versiune a acestei pagini pot fi găsite la https://www.kernel.org/doc/man-pages/.
TRADUCERE¶
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
15 septembrie 2017 | Linux |