2022.13 Bit Masking
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
Prednáška predstavuje bitové maskovanie na príklade prístupových práv k súborom v Linuxe. Vysvetľuje výpis príkazu ls -l, kde sa práva delia na tri trojice (vlastník, skupina, ostatní) s príznakmi r, w a x, a rozdiel medzi symbolickým a oktálovým zápisom, v ktorom má read hodnotu 4, write 2 a execute 1 (napr. 644 získame príkazom stat). Následne sa v jazyku C vytvára enum s konštantami podľa hlavičky sys/stat.h a funkcia isExecutable, ktorá má podľa práv vrátiť true alebo false. Kombinovanie príznakov sa ukazuje cez bitový operátor OR (|) namiesto sčítania a vyhýba sa sa tzv. magickým konštantám. Samotná kontrola príznaku sa dopíše v nasledujúcej časti.
- - Príkaz ls -l zobrazuje práva ako tri trojice znakov pre vlastníka, skupinu a ostatných.
- - Spustiteľnosť súboru v Linuxe určuje príznak x, nie prípona ako vo Windowse.
- - Oktálový zápis práv: read = 4, write = 2, execute = 1, súčet dáva číslicu 0 až 7 pre každú skupinu.
- - Príkaz stat zobrazí číselné práva, napríklad 644 pre rw-r--r--.
- - V C sa práva definujú enumom s pomenovanými konštantami namiesto magických čísel.
- - Príznaky sa kombinujú bitovým OR (|), napríklad 100 | 001 = 101, teda 5.
- - Funkcia isExecutable má z hodnoty práv zistiť, či je nastavený príznak execute.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky