Linux, nevim proc (do source kernelu jsem nekoukal), prirazuje ctryrem IRQ na PCI (vic jich, jiz ze specifikace PCI neni) cisla 16,17,18,19. Nejsem si jist, zda tak necini jen na SMP boardech. Clanky jsou vyborne a anglicke vyrazy mi nevadi, ale bylo by lepe, kdyby se k tomu vyjadrilo vice ctenaru.
Yokotashi
Tohle nebo obdobne schema se pouziva prakticky ve vsech BSD systemech (a Solaris takovym systemem je). Zajimave pak je, kdyz na x86 PC mate nainstalovan BSD system v partisne podle konvenci IBM PC a tu pak navic rozpartitionovanou podle BSD konvenci. Ale da se na to zvyknout.
Jedina vec, kterou jsem zatim neodhalil je, proc cely disk je oddil 2 (pripadne 'c' v OpenBSD a podobne). Proc to neni vzdycky ten prvni zaznam? Nevite to nekdo?
Zajimalo by mne, jak je to presne na PC. Totiz, do jedne partisny se hodi tusim Solaris disklabel a pak tech 8 partitions. To je potom obdoba jednoho disku na klasickem Sunu. Je mozne dalsi partition zase rozdelit na solarisacke slices? Tj. je partition pro solaris obdoba fyzickeho disku na klasickem Sunu? Bylo by omezujici mit moznost jenom jedne obdoby disku na PC.
Disk se dělil na partišny mj. proto, že DOS (do verze 3.3 včetně) uměl jen FAT12, takže max. velikost disku bylo 32 MiB.
Rozšířený oddíl může být v PTBL max. jeden a popisuje _celou_ oblast logických disků. Na začátku této oblasti je nová PTBL, která má jen dva záznamy - první záznam popisuje partišnu == samotný logický disk, druhý záznam popisuje znovu logický disk a zahrnuje _celou_ zbývající oblast logických disků. Tyto záznamy se řetězí a je velice vhodné, aby byly uspořádány lineárně (linuxu je to putna, ale Wokna se z toho zblázní).
Z logického disku jde startovat operační systém (linux, OS/2 atd.) - vyjímkou je DOS a klony, které vyžadují primární partišnu.
imho to bylo omezeni biosu, kdy volani funkce biosu pro cteni/zapis bloku neumoznovalo dat do cylindru vetsi cislo nez 1024,protoze na to bylo vyhrazeno jen 10 (jestli dobre pocitam) bitu, na hlavy pak zbyvalo 6 bitu. vzhledem k tomu, ze novejsi disky mely vice cylindru a maloktery mel vic jak 64 hlav, lba to prepocitalo. tak bylo mozne adresovat i novejsi disky.
u rozdelovani disku bych jeste doplnil informaci o fat12: fat16 na tom nebyla o mnoho lepe. muze adresovat 65536 clusteru (opravte me, jestli kecam), protoze fat tabulka ma tolik zaznamu. kdyz bylo na disku vice sektoru musely se delat clustery treba 16-ti n. dokonce 32 kilobytove. Jelikoz cluster je nejmensi alokacni jednotka (v tomto smyslu), takze jednobytovy soubor zabral 32 kb na disku. mozna, ze uz to neni vsechno uplne presne...preci jen je to par let zpatky...
imho to bylo omezeni biosu, kdy volani funkce biosu pro cteni/zapis bloku neumoznovalo dat do cylindru vetsi cislo nez 1024,protoze na to bylo vyhrazeno jen 10 (jestli dobre pocitam) bitu, na hlavy pak zbyvalo 6 bitu. vzhledem k tomu, ze novejsi disky mely vice cylindru a maloktery mel vic jak 64 hlav, lba to prepocitalo. tak bylo mozne adresovat i novejsi disky.
u rozdelovani disku bych jeste doplnil informaci o fat12: fat16 na tom nebyla o mnoho lepe. muze adresovat 65536 clusteru (opravte me, jestli kecam), protoze fat tabulka ma tolik zaznamu. kdyz bylo na disku vice sektoru musely se delat clustery treba 16-ti n. dokonce 32 kilobytove. Jelikoz cluster je nejmensi alokacni jednotka (v tomto smyslu), takze jednobytovy soubor zabral 32 kb na disku. mozna, ze uz to neni vsechno uplne presne...preci jen je to par let zpatky...
Jo tak nejak to bylo. Dalsi problem byl, ze rozdeleni slova na casti pro C-H-S mel jinak DOS a jinak bios. vysledkem bylo minimum z obou hodnot. (tohle bylo tusim omezeni na 504MB ale nejsem si jisty)
Jinak lba se vysvetluje obojim - linearni i logicke. Oboji dava smysl - je to linarni adresovani a take logicke - protoze nedopovida stavu ulozeni na disku.
(zkuste si vhledat treba pres Google neco jako "LBA disk block adressing")
Internet Info Root.cz (www.root.cz)
Informace nejen ze světa Linuxu. ISSN 1212-8309
Copyright © 1998 – 2021 Internet Info, s.r.o. Všechna práva vyhrazena.