Mites peran edityt toiminnassasi on mukava lukea juttuja harjoittelusta jos vain jaksat vähän kirjoittaa. Onhan kyseessä monelle mielenkiintoinen aihe, että kuinka nopeasti voi ymmärtää pätkääkään kernelistä tai ajureiden koodaamisesta. Itse mielummin kaivan jalat maahan kuin hyppään noin korkealle, mutta toiset ovat tarpeeksi pitkiä tarttumaan ylhäällä olevaan tankoon ja tarpeeksi voimakkaita pitämään kiinni.
Kiitokset korkealentoisista kannustuksista. Otin kirjan kaveriksi kevyttä proosaa Suomennettuna: Marcel Gagnen "Linux Järjestelmänhaltijan käsikirja". Tämä kirja on hyvä lukea varmaankin läpi ymmärtäen, ennen kuin tarttuu tohon haastavaan Linux Device Drivers-kirjaan. No, taidan molempia lukea yhtä aikaa.
Device Drivers-kirjassa olen lukenut kappaleen 3 ja olen kappaleessa 3. Tekniikkani on ainakin toistaiseksi ollut lukea kappaleet kahteen kertaan. Tämä osittain sen takia, koska asia on vaikea. Lisäksi koska esimerkit rakentuvat hitaasti, ja ensimmäisellä lukukerralla on hankala saada kokonaiskuvaa asioista, jotka käydään läpi.
- Edit - Toistaiseksi oppinut
- Kernelin ohjelmointikielenä käytetään yleensä C:tä.
- Linux on puhdas tiedostojärjestelmä. Laitteetkin ovat tavallaan tiedostoja.
- Kernel - moduulin kääntämiseen ei ilmeisesti tarvitse välttämättä kääntää koko Kerneliä, vaikka niin käänsinkin Hello Wordin.
- Vaikka tämän tiesinkin, niin Kernel-ohjelmoinnissa kannattaa pitää kieli keskellä suuta, sillä muutoin saattaa kaataa järjestelmän. Siis paha bugi todennäköisesti kaataa koko järjestelmän, kun taas normaalissa ohjelmoinnissa se voi kaataa vain ko. ohjelman.
- Lisäksi pienikin bugi tekee koko järjestelmästä haavoittuvan.
- Kirja käyttää virhetilanteista (Esim. keskusmuisti loppu, ja haluaisit varata muistia) selviytymiseen gotoa. Veikkaukseni mukaan siksi, ettei se rasita pinoa.
- Kernelin tulostuskäsky on printk, joka vastaa läheisesti printf:fää.
- Kernelissä ei sallita liukulukujen käyttöä. Lähinnä siksi, ettei kaikissa prosessoreissa ole liukulukuyksikköä. No, äkkiseltään ei tule mieleen laiteajuria, joka tarvitsisi liukulukua.
- Marcel Gagne:n kirjasta opin, että jos pystyt jollain scriptillä tulostamaan tulostimella, niin todennäköisesti melko helposti siitä saa tehtyä Linux-ajurin lpr:lle. Mukavan suoraviivaista toi tulostaminen. Lisäksi tästä tuli arvaus:"Minkä tapainen USB-printterin ajuri voi olla." Tosin Cupsia kyseisessä kirjassa ei juurikaan kuvattu.