On May 16, 2016 7:41 AM, "Laura Vasilescu via so" <[email protected]>
wrote:
>
>
> On May 15, 2016 22:55, "Călin Cruceru" <[email protected]>
wrote:
> >
> > Bună Laura,
> >
> > 2016-05-15 22:36 GMT+03:00 Laura Vasilescu <[email protected]>:
> > > Bună Călin,
> > >
> > > Nu știu cum e exact implementat AIO-ul în kernel (I'll have a look
> > > tomorrow morning), dar e posibil ca operațiile să ți se termine pentru
> > > că ai deja fișierele în RAM. Flag-ul O_DIRECT dat la open obligă
> > > citirile și scrierile să se facă direct din device și să facă bypass
> > > la partea de caching a datelor.
> > >
> > > Încearcă să rulezi următoarea comandă înainte de a rula experimentul:
> > > echo 3 > /proc/sys/vm/drop_caches
> > > (comanda îți golește cache-ul curent; din păcate nu se poate dezactiva
> > > operația de caching, este un lucru pe care îl face sistemul de operare
> > > no matter what)
> > >
> > > Ideea e că sistemul de operare îți bufferează fișierele în RAM (poți
> > > să rulezi comanda free și o să vezi ce porțiune din RAM-ul tău este
> > > ocupată cu astfel de fișiere; field-ul 'cached').
> > >
> >
> > Mă îndoiesc că poate fi cache-uit având în vedere că e vorba de
> > scrieri, iar la fiecare rulare conținutul bufferului este generator
> > random.
>
Este vorba de page-cache. Chiar daca scrii datele tot in RAM ajung mai
intai. Abia cand dai "sync" ajung sigur pe disc.

Compara 2 write-uri: unul pe un fisier deschis cu O_DIRECT si unul fără.
> Are sens, nu ma uitasem și pe exercițiu, d-aia vorbeam de fișiere
cacheuite. Ma uit când ajung la facultate și revin cu un răspuns.

Cu bine,
Mihai
>
> Laura
>
>
> _______________________________________________
> http://ocw.cs.pub.ro/courses/so/info/lista-discutii
_______________________________________________
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Raspunde prin e-mail lui