2021-09 [cvičenie] súborový systém – otázky a odpovede
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
Konzultačné cvičenie sa venuje implementácii súborového systému, konkrétne funkcionalite symbolických odkazov (symlinkov) a prehľadu problémov s Git repozitárom pri odovzdávaní úloh. Vysvetľuje sa rozdiel medzi hardlinkom a symlinkom – symlink je samostatný súbor, ktorý v dátových blokoch obsahuje cestu na cieľový súbor a nezvyšuje počet odkazov na iNode. Diskutuje sa fungovanie systémového volania Open, ktoré pri natrafení na iNode typu symlink musí prečítať jeho obsah a zopakovať vyhľadávanie cesty, pričom príznak No Follow zabezpečí otvorenie samotného symlinku bez nasledovania odkazu. Rieši sa aj praktický postup nastavenia remote repozitárov (GitHub a MIT) a prepínania vetiev cez git switch. Nakoniec sa rozoberá zamykanie iNode pri funkcii create, kde sa objasňuje, že novovytvorený iNode je štandardne vrátený zamknutý, čo predchádza deadlocku pri následnom zápise.
- - Symlink je samostatný súbor, ktorého dátové bloky obsahujú cestu k cieľovému súboru, na rozdiel od hardlinku nezvyšuje počet referencií iNode.
- - Vytvorenie symlinku vyžaduje nastavenie typu súboru v metadátach iNode na symbolický odkaz.
- - Systémové volanie Open musí pri natrafení na symlink prečítať jeho obsah a zopakovať vyhľadávanie cesty k reálnemu cieľu.
- - Príznak No Follow zabezpečí, že sa otvorí priamo súbor symlinku bez nasledovania odkazu.
- - Riešenie problémov s Git: potreba zálohovania zmien, opätovné naklonovanie repozitára, pridanie remote (GitHub aj MIT) a prepnutie na správnu vetvu cez git switch.
- - Funkcia create pri vytváraní iNode ho vracia už zamknutý, čo je nutné pre bezpečný zápis a predchádzanie deadlocku.
- - Funkcia unlockput sa volá pri ukončení práce s iNode na uvoľnenie zámku aj referencie.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky