Informatika FAT tabulka FAT file allocation table Na
Informatika / …FAT tabulka FAT – file allocation table Na příkladu systému správy souborů založeného na FAT lze ukázat řadu souvislostí a důsledky přímé manipulace se systémovými informacemi na disku 2006
Systém souborů podle FAT l l Disk / disketa je blokové zařízení, není tedy možno přímo pracovat s jednotlivými byty, ale je nutno přečíst nebo zapsat celou skupinu bytů Nejmenší fyzicky dostupná oblast na disku se nazývá sektor (512 byte) Tento prostor je pro většinu dat příliš malý, proto se naskýtá myšlenka přidělovat prostor na disku po větších úsecích Nejmenší logicky dostupná oblast na disku se nazývá cluster (jeden nebo několik sektorů)
Systém souborů podle FAT l Z praxe známe pojem adresář - jsou to jakási data spravovaná systémem, kde se udržují informace o uživatelských datech l V případě správy souborů, založené na FAT, je při ukládání souboru vyhledán volný cluster a údaj o jeho poloze se zanese do adresáře. Pokud přidělené místo nestačí, je vyhledán další volný cluster a do FAT je poznamenána vazba mezi těmito clustery. Poté, co je celý soubor uložen, je do adresáře zapsána jeho délka v bytech l
-volno-volno jméno, . . . U -volno-volno-volno-volno- nějaká moje data jsou-li velká řekli jsme si … pomocí FAT adresář data … pokud prostor nestačí, přidělí se další
FAT l l disketa byla čerstvě zformátována a byly na ni postupně nahrány soubory MYDATA 1. TXT a MYDATA 2. TXT byl vytvořen adresář NU 7 a tam uloženy další soubory
FAT l stav diskety nejprve prozkoumáme pomocí vhodného programu
FAT l l l je zobrazen sektor 19 – začátek kořenového adresáře vidíme zde tři položky – zmíněné soubory a adresář podíváme se na základní informace v sektoru 0 a ujasníme si, proč leží root v 19 sektoru
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… l l dvanácti- nebo šestnáctibitová tabulka znamená, že čísla clusterů jsou kódována 12, resp. 16 bity (zde je použita FAT 12, dvě kopie) dále vidíme, že: 1 cluster = 1 sector (512 byte), 2880 sektorů kódovaných 12 bity (tj. 1. 5 byte) zabírá tedy 2800 * 1. 5 / 512 = 8. 34… sektorů tabulka leží v 9 sektorech root má 224 položek, záznam o souboru zabírá v adresáři 32 byte, pro kořenový adresář je tedy zapotřebí 224 * 32 / 512 = 14 sektorů
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… l data můžeme zobrazovat různě, často např. hexadecimálně (tj. v číselné soustavě se základem 16)
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… l zobrazovaná informace nebývá mnohdy na první pohled příliš srozumitelná, data můžeme ale vidět v nezkreslené podobě a tak si prohlédnout interní formát záznamu
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… l l l manipulační programy jsou však psány jako pomůcka usnadňující práci s daným typem dat, tedy již se znalostí jejich formátu můžeme si tak ověřit správnost svého úsudku potvrzuje se, že kořenový adresář začíná v našem případě v sektoru 19
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l zobrazíme-li kořenový adresář kontextově, vidíme, že naše soubory délky 2688 byte začínají v clusterech 2 a 8
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l i adresář si můžeme prohlédnout v libovolném formátu, např. jako prostý text, což však nedává příliš smysl
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l l l i adresář si můžeme prohlédnout v libovolném formátu, např. jako prostý text, což však nedává příliš smysl zkusme se raději podívat na naše soubory, tam se textové zobrazení hodí, neboť naše data jsou typu text všimněme si, že identifikační čísla clusterů začínají od 2, ovšem my už víme, že tento cluster leží v sektoru 33
FAT l l soubor MYDATA 1. TXT obsahuje cifry 1 - 4 a malá písmena tuto skutečnost můžeme ověřit i přímým přístupem k datům čtením příslušných sektorů 1111 aaaaabbbbbcccccdd 1111111 aaaaabbbbbcccccdddd 11111 aaaaabbbbbcccccdddddd 111 aaaaabbbbbcccccddddddd 11 aaaaabbbbbcccccddddd 11 aaaaabbbbbcccccdddd 111 aaaaabbbbbcccccddddddd 1111 aaaaabbbbbcccccdddddd 11111 aaaaabbbbbcccccddddd 111111 aaaaabbbbbcccccdddd 1111111 aaaaabbbbbcccccddd 1111 aaaaabbbbbcccccdd 11111 ---------------2222 eeeeefffffggggghh 2222222 eeeeefffffggggghhhh 22222 eeeeefffffggggghhhhhh 222 eeeeefffffggggghhhhhhh 22 eeeeefffffggggghhhhh 22 eeeeefffffggggghhhh 222 eeeeefffffggggghhhhhhh 2222 eeeeefffffggggghhhhhh 22222 eeeeefffffggggghhhhh 222222 eeeeefffffggggghhhh 2222222 eeeeefffffggggghhh 2222 eeeeefffffggggghh 22222 ---------------3333 iiiiikkkkklllllnn
FAT l l soubor MYDATA 1. TXT obsahuje cifry 1 - 4 a malá písmena tuto skutečnost můžeme ověřit i přímým přístupem k datům čtením příslušných sektorů 1111 aaaaabbbbbcccccdd 1111111 aaaaabbbbbcccccdddd 11111 aaaaabbbbbcccccdddddd 111 aaaaabbbbbcccccddddddd 11 aaaaabbbbbcccccddddd 11 aaaaabbbbbcccccdddd 111 aaaaabbbbbcccccddddddd 1111 aaaaabbbbbcccccdddddd 11111 aaaaabbbbbcccccddddd 111111 aaaaabbbbbcccccdddd 1111111 aaaaabbbbbcccccddd 1111 aaaaabbbbbcccccdd 11111 ---------------2222 eeeeefffffggggghh 2222222 eeeeefffffggggghhhh 22222 eeeeefffffggggghhhhhh 222 eeeeefffffggggghhhhhhh 22 eeeeefffffggggghhhhh 22 eeeeefffffggggghhhh 222 eeeeefffffggggghhhhhhh 2222 eeeeefffffggggghhhhhh 22222 eeeeefffffggggghhhhh 222222 eeeeefffffggggghhhh 2222222 eeeeefffffggggghhh 2222 eeeeefffffggggghh 22222 ---------------3333 iiiiikkkkklllllnn
FAT l l soubor MYDATA 1. TXT obsahuje cifry 1 - 4 a malá písmena tuto skutečnost můžeme ověřit i přímým přístupem k datům čtením příslušných sektorů 1111 aaaaabbbbbcccccdd 1111111 aaaaabbbbbcccccdddd 11111 aaaaabbbbbcccccdddddd 111 aaaaabbbbbcccccddddddd 11 aaaaabbbbbcccccddddd 11 aaaaabbbbbcccccdddd 111 aaaaabbbbbcccccddddddd 1111 aaaaabbbbbcccccdddddd 11111 aaaaabbbbbcccccddddd 111111 aaaaabbbbbcccccdddd 1111111 aaaaabbbbbcccccddd 1111 aaaaabbbbbcccccdd 11111 ---------------2222 eeeeefffffggggghh 2222222 eeeeefffffggggghhhh 22222 eeeeefffffggggghhhhhh 222 eeeeefffffggggghhhhhhh 22 eeeeefffffggggghhhhh 22 eeeeefffffggggghhhh 222 eeeeefffffggggghhhhhhh 2222 eeeeefffffggggghhhhhh 22222 eeeeefffffggggghhhhh 222222 eeeeefffffggggghhhh 2222222 eeeeefffffggggghhh 2222 eeeeefffffggggghh 22222 ---------------3333 iiiiikkkkklllllnn
FAT l l soubor MYDATA 1. TXT obsahuje cifry 1 - 4 a malá písmena tuto skutečnost můžeme ověřit i přímým přístupem k datům čtením příslušných sektorů 1111 aaaaabbbbbcccccdd 1111111 aaaaabbbbbcccccdddd 11111 aaaaabbbbbcccccdddddd 111 aaaaabbbbbcccccddddddd 11 aaaaabbbbbcccccddddd 11 aaaaabbbbbcccccdddd 111 aaaaabbbbbcccccddddddd 1111 aaaaabbbbbcccccdddddd 11111 aaaaabbbbbcccccddddd 111111 aaaaabbbbbcccccdddd 1111111 aaaaabbbbbcccccddd 1111 aaaaabbbbbcccccdd 11111 ---------------2222 eeeeefffffggggghh 2222222 eeeeefffffggggghhhh 22222 eeeeefffffggggghhhhhh 222 eeeeefffffggggghhhhhhh 22 eeeeefffffggggghhhhh 22 eeeeefffffggggghhhh 222 eeeeefffffggggghhhhhhh 2222 eeeeefffffggggghhhhhh 22222 eeeeefffffggggghhhhh 222222 eeeeefffffggggghhhh 2222222 eeeeefffffggggghhh 2222 eeeeefffffggggghh 22222 ---------------3333 iiiiikkkkklllllnn
FAT l l soubor MYDATA 2. TXT obsahuje cifry 5 - 8 a velká písmena i tuto skutečnost lze ověřit 5555 AAAAABBBBBCCCCCDD 5555555 AAAAABBBBBCCCCCDDDD 55555 AAAAABBBBBCCCCCDDDDDD 555 AAAAABBBBBCCCCCDDDDDDD 55 AAAAABBBBBCCCCCDDDDD 55 AAAAABBBBBCCCCCDDDD 555 AAAAABBBBBCCCCCDDDDDDD 5555 AAAAABBBBBCCCCCDDDDDD 55555 AAAAABBBBBCCCCCDDDDD 555555 AAAAABBBBBCCCCCDDDD 5555555 AAAAABBBBBCCCCCDDD 5555 AAAAABBBBBCCCCCDD 55555 ---------------6666 EEEEEFFFFFGGGGGHH 6666666 EEEEEFFFFFGGGGGHHHH 66666 EEEEEFFFFFGGGGGHHHHHH 666 EEEEEFFFFFGGGGGHHHHHHH 66 EEEEEFFFFFGGGGGHHHHH 66 EEEEEFFFFFGGGGGHHHH 666 EEEEEFFFFFGGGGGHHHHHHH 6666 EEEEEFFFFFGGGGGHHHHHH 66666 EEEEEFFFFFGGGGGHHHHH 666666 EEEEEFFFFFGGGGGHHHH 6666666 EEEEEFFFFFGGGGGHHH 6666 EEEEEFFFFFGGGGGHH 66666 ---------------7777 IIIIIKKKKKLLLLLNN
FAT l l soubor MYDATA 2. TXT obsahuje cifry 5 - 8 a velká písmena i tuto skutečnost lze ověřit 5555 AAAAABBBBBCCCCCDD 5555555 AAAAABBBBBCCCCCDDDD 55555 AAAAABBBBBCCCCCDDDDDD 555 AAAAABBBBBCCCCCDDDDDDD 55 AAAAABBBBBCCCCCDDDDD 55 AAAAABBBBBCCCCCDDDD 555 AAAAABBBBBCCCCCDDDDDDD 5555 AAAAABBBBBCCCCCDDDDDD 55555 AAAAABBBBBCCCCCDDDDD 555555 AAAAABBBBBCCCCCDDDD 5555555 AAAAABBBBBCCCCCDDD 5555 AAAAABBBBBCCCCCDD 55555 ---------------6666 EEEEEFFFFFGGGGGHH 6666666 EEEEEFFFFFGGGGGHHHH 66666 EEEEEFFFFFGGGGGHHHHHH 666 EEEEEFFFFFGGGGGHHHHHHH 66 EEEEEFFFFFGGGGGHHHHH 66 EEEEEFFFFFGGGGGHHHH 666 EEEEEFFFFFGGGGGHHHHHHH 6666 EEEEEFFFFFGGGGGHHHHHH 66666 EEEEEFFFFFGGGGGHHHHH 666666 EEEEEFFFFFGGGGGHHHH 6666666 EEEEEFFFFFGGGGGHHH 6666 EEEEEFFFFFGGGGGHH 66666 ---------------7777 IIIIIKKKKKLLLLLNN
FAT l soubor MYDATA 2. TXT obsahuje cifry 5 - 8 a velká písmena i tuto skutečnost lze ověřit l vraťme se kousek zpátky … l 5555 AAAAABBBBBCCCCCDD 5555555 AAAAABBBBBCCCCCDDDD 55555 AAAAABBBBBCCCCCDDDDDD 555 AAAAABBBBBCCCCCDDDDDDD 55 AAAAABBBBBCCCCCDDDDD 55 AAAAABBBBBCCCCCDDDD 555 AAAAABBBBBCCCCCDDDDDDD 5555 AAAAABBBBBCCCCCDDDDDD 55555 AAAAABBBBBCCCCCDDDDD 555555 AAAAABBBBBCCCCCDDDD 5555555 AAAAABBBBBCCCCCDDD 5555 AAAAABBBBBCCCCCDD 55555 ---------------6666 EEEEEFFFFFGGGGGHH 6666666 EEEEEFFFFFGGGGGHHHH 66666 EEEEEFFFFFGGGGGHHHHHH 666 EEEEEFFFFFGGGGGHHHHHHH 66 EEEEEFFFFFGGGGGHHHHH 66 EEEEEFFFFFGGGGGHHHH 666 EEEEEFFFFFGGGGGHHHHHHH 6666 EEEEEFFFFFGGGGGHHHHHH 66666 EEEEEFFFFFGGGGGHHHHH 666666 EEEEEFFFFFGGGGGHHHH 6666666 EEEEEFFFFFGGGGGHHH 6666 EEEEEFFFFFGGGGGHH 66666 ---------------7777 IIIIIKKKKKLLLLLNN
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l l l v našem případě jsou clustery jednosektorové a soubor je dlouhý 2688 byte, tj. pro uložení je zapotřebí pěti celých clusterů a 128 bytů ze šestého clusteru (2688=5*512+128) náš soubor začíná v clusteru 2, půjde tedy o clustery 2, 3, 4, 5, 6 a část sedmého …souhlasí podívejme se teď na data jinak
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l l l v našem případě jsou clustery jednosektorové a soubor je dlouhý 2688 byte, tj. pro uložení je zapotřebí pěti celých clusterů a 128 bytů ze šestého clusteru (2688=5*512+128) náš soubor začíná v clusteru 2, půjde tedy o clustery 2, 3, 4, 5, 6 a část sedmého …souhlasí podívejme se teď na data jinak
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l vidíme, že prostor, který byl při formátování vynulován a dosud nebyl využit, obsahuje stále tehdy dosazené nuly l hledejme nyní souvislosti ve FAT tabulce
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l FAT tabulka obsahuje pro každý cluster jednu hodnotu, která buď určuje cluster, v němž data pokračují, nebo která obsahuje příznak, že data v tomto clusteru končí (tedy že není pokračování) l první dva clustery (0 a 1) zde nejsou zobrazeny, položka příslušná clusteru 2 odkazuje svou hodnotou na cluster 3
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l l l černé políčko kurzoru ukazuje na cluster přidělený souboru MYDATA 1. TXT červené vybarvení napomáhá představě o fyzickém rozložení souboru na disku potvrzuje se, že náš soubor končí v sedmém clusteru, neboť zde řetězec odkazů končí příznakem <EOF>
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l i zde se na informaci můžeme podívat hexadecimálně l přitom uvažme, že data jsou u Intelu ukládána do paměti v pořadí “little-endian”, což znamená, že méně významné cifry čísla leží na nižší adrese tedy slovo, obsahující např. 1234 hex je uloženo ve dvou bytech takto: 34 12 (tj. 34 na nižší a 12 na vyšší adrese) l
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 instalovaná FAT je dvanáctibitová, tj. 3 byte odpovídají 2 clusterům l nižší část hodnoty je na nižší adrese řádky budeme číst od konce 1. řádka 0 B 00 A 0 09 FF F 0 07 00 60 05 00 40 03 FF FF F 0 2. řádka 60 15 01 40 13 01 2 F FF 01 0 F FF FF F 0 0 D 00 C 0 l a přeskupíme po dvanácti bitech, tj. po třech šestnáctkových cifrách 1. řádka 00 B 00 A 009 FFF 007 006 005 004 003 FFF FF 0 2. řádka … 6 015 014 013 012 FFF 010 FFF 00 D 00 C l
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 instalovaná FAT je dvanáctibitová, tj. 3 byte odpovídají 2 clusterům l nižší část hodnoty je na nižší adrese řádky budeme číst od konce 1. řádka 0 B 00 A 0 09 FF F 0 07 00 60 05 00 40 03 FF FF F 0 2. řádka 60 15 01 40 13 01 2 F FF 01 0 F FF FF F 0 0 D 00 C 0 l a přeskupíme po dvanácti bitech, tj. po třech šestnáctkových cifrách 1. řádka 00 B 00 A 009 FFF 007 006 005 004 003 FFF FF 0 2. řádka … 6 015 014 013 012 FFF 010 FFF 00 D 00 C l
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 přechodem černého kurzoru ke clusteru 10 se červeně zvýraznilo umístění souboru MYDATA 2. TXT l soubory jsou tedy v clusterech rozloženy takto: 2 3 4 5 6 7 l 8 9 10 11 12 13 toto rozložení pozměníme
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l nově definovaná souslednost clusterů je nyní tato: 2 3 4 5 6 7 8 9 10 11 12 13
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l svoje změny necháme zapsat do obou kopií FAT
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l data znovu načteme
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l prohlédneme si důsledky a souvislosti provedených změn 2 3 4 5 6 7 8 9 10 11 12 13
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l l prohlédneme si důsledky a souvislosti provedených změn cluster 9 odkazuje na cluster 11 2 3 4 5 6 7 8 9 10 11 12 13
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l l prohlédneme si důsledky a souvislosti provedených změn cluster 9 odkazuje na cluster 11 2 3 4 5 6 7 8 9 10 11 12 13
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l l prohlédneme si důsledky a souvislosti provedených změn cluster 9 odkazuje na cluster 11, cluster 3 na cluster 10 2 3 4 5 6 7 8 9 10 11 12 13
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 prohlédneme si důsledky a souvislosti provedených změn l cluster 9 odkazuje na cluster 11, cluster 3 na cluster 10 a ten dále na cluster 4 2 3 4 5 6 7 l 8 9 10 11 12 13
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l červené zvýraznění označuje soubor MYDATA 1. TXT a ukazuje, že soubor leží v clusterech 2, 3, 10, 4, 5, 6 a 7 2 3 4 5 6 7 8 9 10 11 12 13 podívejme se, jak se nyní jeví soubory službám operačního systému
původní nový 40 viditelných znaků na řádce + konec řádky = 2 znaky (CR, LF), tedy … 42 x 12 + 8 čouhajících, tj. celkem = 512 byte (1 cluster) ukaž proč FAT původní
původní nový 40 viditelných znaků na řádce + konec řádky = 2 znaky (CR, LF), tedy … 42 x 12 + 8 čouhajících, tj. celkem = 512 byte (1 cluster) ukaž proč FAT původní
FAT OBSAZENÍ sektor boot 0 FAT 1 1 - 9 FAT 2 10 -18 Root 19 -32 Data 33 -… délka 2688 cluster 2 a 8 l l změnou pořadí clusterů ve FAT jsme tedy obsah souborů změnili , neaktualizovali jsme ale v adresáři údaje o délce souborů operační systém pracuje tedy s mylnou informací
FAT l l l změnou pořadí clusterů ve FAT jsme tedy obsah souborů změnili , neaktualizovali jsme ale v adresáři údaje o délce souborů operační systém pracuje tedy s mylnou informací necháme operační systém zkontrolovat konzistenci dat file systému
FAT l l příkaz chkdsk (check disk) nesrovnalosti zjistil necháme chyby odstranit
FAT l l příkaz chkdsk (check disk) nesrovnalosti zjistil necháme chyby odstranit, a podíváme se, jak to dopadlo
FAT l l l původní délka obou souborů byla 2 x 2688 = 5376 byte, součtová délka po opravě je 3584 + 2560 = 6144 byte ovšem každý ze souborů ležel v šesti clusterech, celkem tedy oba soubory obsazovaly 12 (jednosektorových) clusterů, tedy 12 x 512 = 6144 byte oprava byla tedy jen přibližná
shrnutí ukázky o tabulce FAT l Systém významu uložených dat nerozumí, ale udržuje informaci o tom, kde data leží a jaká část přiděleného prostoru k těmto datům patří. l Při určování délky uložených dat se opírá o informace v adresáři - pokud je tato informace zpochybněna, musí předpokládat, že data zaujímala celý přidělený prostor. l Zásah do systémových struktur je nedoporučitelný, i když principielně možný. Každopádně vyžaduje velkou pečlivost a dobrou znalost.
dotazy?
- Slides: 48