Rozhodně nesouhlasím s binary_runnerem!
Článek je opravdu velmi dobrý a rozhodně si nekladl za cíl seznámit začátečníka s Linuxem, na to jsou jiné články či publikace. Autor chtěl podle mého názoru vysvětlit již otrkanému uživateli Linuxu, jak ten X-server vlastně funguje.
Jen odstavec Jádro je takový zmatený.
1. si nemyslím, že jádro se stará o text. konzole (možná že ano, opravte mě)
2. Komunikovat s grafickou kartou přes BIOS sice jde, ale je to příšerně pomalé a já doufám, že to žádný X-server nedělá. Tuto metodu používaly staré aplikace pod DOSem, a to jen některé (napsané pod Borland Pascal/C, apod.). Inteligentnější lidé používali přímý přístup do paměti nebo rovnou DMA. Navíc volat z chráněného režimu služby BIOSu přeci nelze!
Jako celek je článek ale opravdu vydařený a užitečný. Jen tak dál.
a) článek není špatný, ale stejně jako minulý díl je bohužel na mnoha místech - mírně řečeno - nepřesný (aneb - jak se vyjádřil vedle kolega - je plný blábolů). ach jo.
b) nechápu komu je určen - v minulém díle autor tvrdil cosi o začátečnících... začátečník si nesmysly nedokáže odmyslet či uvést na pravou míru a tudíž si do paměti uloží haldu nesmyslů, které bude posléze do krve propagovat a hájit v diskuzích, protože to se přece psalo na rootu a tudíž je to tak a basta. hrůza. a odborník se jenom usměje, protože relevantní informace si přečte ve třech odstavcích libovolného technického popisu X serveru a zbytek jsou bláboly.
c) o textové konzole se opravdu stará jádro stejně jako o framebuffer. koneckonců oboje jsou zařízení (devices)
d)nejde o BIOS, ale o VBE (VESA BIOS Extension), což je sice pomalé, ale funguje to úplně všude, kde je grafárna kompatibilní s VBE2. kromě akcelerovaných framebufferů pro některé karty (namátkou Matrox, ATI...) je nejběžnější právě VESA framebuffer (hádejte přes co asi běží instaláky v RedHatu nebo SuSE nebo jak je defaultně nastavené X ve Slackwaru ;-) a zrovna tak i Xserver pro framebuffer.
e) metoda komunikace s grafárnou přes VBE je pravděpodobně mimo svět M$Woken úplně nejběžnější
f) přímý přístup do videoRAM samozřejmě nepoužívají ti inteligentnější lidé, ale troubové neznalí standardů nebo tvůrci prastarých dosových her. výsledkem je totální nekompatibilita s různými kartami a obvykle nepřenositelnost daného softu :-\
g) funkce BIOSu resp. VBE samozřejmě z protected modu volat lze :-)
To jako myslis ze linux po startu preflashuje BIOS ? Ono "zbaveni se vsech vazeb na BIOS" neni nic jineho nez ze se BIOS prestane pouzivat, coz pri prechodu do chraneneho modu musis. Nikdo ti ovsem nebrani nastavit prostredi ve kterem bude BIOS opet fungovat - zacne se v86 a pokracuje nastavovanim ruznych blbosti v pameti - a pak ho muzes znova pustit. Jenom k tomu mas malokdy duvod, protoze standartni BIOS vsecko odflakava.
VESA BIOS je pochopitelne neco jineho. Ten je moderni a je pripraveny pro pouzivani z modernich OS - tedy nevyzaduje prilis komplikovane nastaveni, dokonce myslim ze novejsi verze bezi v chranenem modu.
VESA VBE 2.0 definuje Protected Mode Extensions ktere (tusim)"MUSI" byt pritomny. potom spolu s "Linear Frame Buffer" definovnym jako volitelny v VBE 1.2 to dava slusny zaklad pro pristup k cele pameti videokarty bez prepinani v86<->protected modu
to je duvod proc vesa-fb jede az s kartami ktere podporuji standard VBE 2.0 a vyssi i kdyz mozna pri trose snahy by slo zprovoznit i s VBE
d) Vzhledem k tomu ze v grafice jde o rychlost, pouziva se VESA opravdu pouze v pripade ze nevis jakou mas videokartu.
e) Ne mimo svet M$Woken, ale mimo i386. Stejne musis na i386 pocitat s tim ze ti tam nekdo strci kartu ktera VESA neumi.
f) primy pristup do videoRAM pochopitelne pouzivaji vsichni kteri muzou. Neco jineho je primy pristup na porty. Spravny zpusob komunikace s kartou, pokud ti jde o prenositelnost, je totiz pomoci VESA biosu nastavit mod, namapovat videoRAM do adresoveho prostoru PCI a potom psat primo do ni. Tvurci prastarych DOSovskych her tohle ovsem udelat nemohli, protoze tehdejsi karty nemeli VESA BIOS. Proto, pokud chteli aby se ty hry hybali, museli jit pres porty.
Diky za opravy. Mel jsem na mysli BIOS ne VESA BIOS. Pokud autor mini VESA BIOS, jsou moje pripominky nesmyslne. Stare hry delaji neco, co jste popsal, treba Duke Nukem 3D pouziva VESA a zapisuje do namapovane pameti, to je OK. Zobrazovani pomoci BIOSu zakl. desky je samozrejme neco jineho :-) S tim DMA to byl jen priklad, ze zobrazovat lze rychleji nez pres sluzby BIOSu. Nikdy jsem to nedelal :-)