2020-05 [seminár] Triky s virtuálnou pamäťou
Preber si túto prednášku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.
Zhrnutie prednášky
Seminár nadväzuje na prednášku o virtuálnej pamäti a zameriava sa na mapovanie súborov do pamäte pomocou systémového volania mmap. Vysvetľuje sa princíp, kedy sa súbor po zavolaní mmap fyzicky nenačíta celý, ale iba sa vyhradí virtuálny priestor a jednotlivé stránky sa mapujú a načítavajú on-demand pri výpadku stránky (page fault). Pozornosť sa venuje aj parametrom volania (adresa, dĺžka, ochrana, flagy, deskriptor súboru, offset), funkcii unmap a bitu dirty, ktorý určuje, ktoré stránky sa pri odmapovaní skutočne zapíšu na disk. Spomína sa štruktúra VMA (Virtual Memory Area), správanie pri súčasnom prístupe viacerých procesov k súboru a praktický príklad využitia mmap pri práci s pamäťovým bufferom namiesto klasických volaní read/write a lseek. Na záver sa okrajovo spomína zdieľaná virtuálna pamäť naprieč sieťou počítačov a je zadané domáce čítanie kapitoly o výpadkoch stránok.
- - mmap umožňuje mapovanie súboru priamo do virtuálneho adresného priestoru namiesto použitia read/write a lseek
- - Obsah súboru sa nekopíruje celý naraz, stránky sa načítavajú on-demand pri výpadku stránky (page fault)
- - Parametre mmap: virtuálna adresa, dĺžka, ochrana (read/write/execute), flagy (private/shared), file descriptor a offset
- - Pri unmap sa na disk zapíšu iba stránky označené príznakom dirty (boli modifikované)
- - Informácie o mapovaní súboru sú uložené v štruktúre VMA (Virtual Memory Area)
- - Súčasný prístup viacerých procesov k súboru cez mmap nie je definovaný, pre exkluzívny prístup treba súbor otvoriť s príslušným príznakom
- - Okrajovo spomenutá zdieľaná virtuálna pamäť medzi uzlami siete a odporúčané domáce čítanie o výpadkoch stránok (kapitola 4.6)
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky