Kirjoittaja Aihe: Laitetuesta ja ajureista yleensä  (Luettu 1700 kertaa)

ooo

  • Käyttäjä
  • Viestejä: 120
    • Profiili
Laitetuesta ja ajureista yleensä
« : 22.03.07 - klo:09.58 »

Täytyypä vihdoin kysyä paria seikkaa, joita olen pitkään ihmetellyt:

1) Jos kerran esim. Knoppix on rakennettu distroksi, jossa on laajin mahdollinen hardware-tuki ja jos kerran Knoppix on julkaistu GNU:n ehdoin, niin miksei samaa tukea oteta kaikkiin jakeluihin? Miksi siis kaikkia ajureita ei oteta käyttöön kaikissa distroissa?

2) En meinaa päästä vielä irti vanhoista window$-muistoista ja siksi tämä asia hämmästyttää minua: kun wintoosaan liitti uuden laitteen niin yleensä laite kuin laite vaati ainakin 3-5 Mb:n ajurin asentamisen. Sisältääkö nuo tiedostokoot jotain muutakin kuin ajurin? Ihmettelen vaan, että miten sitten Linuxin ydin voi olla niinkin pienikokoinen jos kaikki maailman ajurit veisi 3-5 Mb tilaa per kappale... Ilmeisesti noissa tiedostoissa on paljon muutakin kuin pelkkä ajuri ja lisäksi linuxissa ei kerry koneelle päällekkäisiä kirjastoja päinvastoin kuin mikki$oftassa. Olenko yhtään oikeassa?


Olli
______________________________
Minäkö tyhmä? Nyt en ymmärrä.

juyli

  • Vieras
Vs: Laitetuesta ja ajureista yleensä
« Vastaus #1 : 22.03.07 - klo:12.11 »
1) Jos kerran esim. Knoppix on rakennettu distroksi, jossa on laajin mahdollinen hardware-tuki

Tuo ei välttämättä pidä paikkaansa. Vaikka Knoppix varsin mainiosti tunnistaa laitteita, ja pitääkin tunnistaa toimiakseen Live-CD:nä, sillä muihin asennettaviin jakeluihin voidaan kätevästi ladata/noutaa/asentaa lisukkeita.
Knoppix kuten Ubuntukin perustuvat Debianiin, joten erot ovat lähinnä oletuskonfiguroinneissa.
Eri jakelut vaihtelevasti tunnistavat laitteita, ja osaavat automaattisesti latailla niille ajureita.
Tämä ominaisuus on parantunut Linuxeissa jatkuvasti.

2) Olenko yhtään oikeassa?

Linuxin ytimeen voidaan lisätä ajureita ym. moduleina, joten kaikkea ei tarvitse ympätä kerneliin itseensä.
Näitä moduleita voi vapaasti lisäillä ja poistaa jopa lennossa. (modprobe/rmmod)
Linuxin ja muidenkin *nix:ien puutteena on se, etteivät laitevalmistajat tee laitteelleen moduleita/ajureita, jotta laitteet toimisivat muissakin käyttöjärjestelmissä kun MS Windows (tai MAC). Tosin nykyisinhän uusimmat laitteet tukevat vain Win2000, XP:tä ja kohta Vistaa.

Echramath

  • Käyttäjä
  • Viestejä: 242
    • Profiili
    • http://iki.fi/ech/
Vs: Laitetuesta ja ajureista yleensä
« Vastaus #2 : 25.03.07 - klo:06.53 »
2) En meinaa päästä vielä irti vanhoista window$-muistoista ja siksi tämä asia hämmästyttää minua: kun wintoosaan liitti uuden laitteen niin yleensä laite kuin laite vaati ainakin 3-5 Mb:n ajurin asentamisen. Sisältääkö nuo tiedostokoot jotain muutakin kuin ajurin? Ihmettelen vaan, että miten sitten Linuxin ydin voi olla niinkin pienikokoinen jos kaikki maailman ajurit veisi 3-5 Mb tilaa per kappale... Ilmeisesti noissa tiedostoissa on paljon muutakin kuin pelkkä ajuri ja lisäksi linuxissa ei kerry koneelle päällekkäisiä kirjastoja päinvastoin kuin mikki$oftassa. Olenko yhtään oikeassa?

Windowsin ajuripaketeissa on usein mukana laitteeseen liittyviä apuohjelmia, ajureita useille eri laitteilla tai ajureita useille eri Windows-versiolla. Eikä Linux-kerneli nyt enää niin pieni ole (siitä saadaan sellainen jos on tarvis esimerkiksi sulautetuissa järjestelemissä, mutta jos nyt ihan mikrotietokoneille tarkoitetuista jakeluista puhutaan). Jos minä nyt olen ymmärtänyt asian oikein, kaikki /lib/modulesin alla olevat moduulit ovat tulleet kernelipaketin mukana ja Feistyn 2.6.20-12-generic -kernelin kohdalla ko. hakemisto lähentelee jo sataa megatavua. Itse ydin on reilut puolitoista megatavua, mutta siinä ei juuri laitetukea olekaan, lähinnä sen verran, että juuriosiota pystytään lukemaan - mikäli esim. juuri on ext3-tiedostojärjestelmällä, kuten Ubuntussa tapaa olla ja ext3-tuki olisi moduulina, ko. moduulia ei tietenkään pystyttäisi lukemaan ja syntyisi tyylipuhdas muna-kana-ongelma.

Kaikki (tai ainakin lähes) laitetuki voitaisiin toki kääntää kerneliin sisäänkin, mutta tässä ei olisi mitään järkeä jakelun vakiokernelissä, jota ajetaan ties millä laitteilla - eikä siitä taida enää mitään hyötyä olla silloinkaan, kun kernel käännetään johonkin tiettyy laitteeseen.