Saturday, September 21, 2019

Lyhyt johdatus käyttöjärjestelmiin ja ajurihin

Tietokone on aika kummallinen mikropiirien ja niissä toimivien ohjelmien kokonaisuus.
Kun tietokoneesta on virta pois, siinä ei ole yhtään ohjelmaa tietenkään toiminnassa. Aikoinaan nuorena tietotekniikan opiskelijana minua kiehtoi se vaihe, jolloin tietokone käynnistyy. Itse asiassa kului todella pitkään ennen kuin aloin hahmottaa mikä käyttöjärjestelmä oikeasti on. Pohjiaan myöten asia selvisi vasta 15 vuotta  opintojen aloittamisesta, kun siirryin HP:lle HP3000 tietokoneen järjestelmäasiantuntijaksi. Silloin meidän tehtävämme oli selvittää,  mikä on vialla, kun tietokoneen toiminta äkillisesti loppui.

Käyttöjärjestelmä on joukko ohjelmia, jotka käynnistävät ja ohjaavat sovellusohjelmien toimintaa. Käyttöjärjestelmän ohjelmat “näkevät” kaikki sovellusohjelmat ja nämä taas eivät käyttöjärjestelmästä tiedä mitään. Merkittävä osa käyttöjärjestelmiä ovat myös kääntäjät. Nämä saavat syötteekseen ihmisen kirjoittamaa ohjelmaa eli koodia  ja muuttavat sen koneen suorituksen vaatimaan muotoon. 

Tuohon koneen käynnistymiseen - kuten jo mainitsin - liittyy minua askarruttanut yksityiskohta. Kaikki - ainakin melkein - ovat kuulleet slangitermin “ buuttaa tietokone” ( boot the computer ). Tämä tulee englannin kielen idiomista: to pull oneself up by one's bootstraps . Tämä käännös on “nostaa itsensä saapasnauhoista ylös” - siis eräänlainen mahdoton Münchhausen-temppu, jonka voisi tehdä esim. joutuessaan nahkasaappaat jalassa suohon. Tätä ilmaisua käytetään englannin kielessä laajemmin kuin ainoastaan tietokoneiden yhteydessä. 
Tietokoneissa se tarkoittaa juuri tuota vaihetta, jolloin täysin tyhjään tietokoneen muistiin tuodaan ensimmäinen pätkä ohjelmaa, joka osaa käynnistää koko käyttöjärjestelmän. Nykyään tuo käynnistysohjelma on tallennettu ROM-piirille (read only memory). Alkuaikoina tuo ohjelma saattoi olla lävistetty reikäkorteille,  ja koneen käynnistysnapin takana oli piiri, joka osasi siirtää reikäkorttien sisällön keskusmuistin alkuun ja käynnistää ensimmäisen käskyn suorituksen.

Käyttöjärjestelmän osana sen laidoilla ovat sitten laiteajurit. Nämä ovat ohjelmia, jotka osaavat muuttaa keskusmuistissa esitetyn asian laitteen ymmärtämään muotoon. Tällaisia laitteita ovat esim. näyttö, näppäimistö, kaiuttimet, hiiri, kirjoittimet, piirturi ja vaikkapa joystick.
Kun tekstinkäsittelyohjelmalla on laadittu asiakirja ja se halutaan tulostaa paperille, niin muistissa oleva “dokumentti” lähetetään kirjoittimen ajurille, joka osaa muuttaa muistissa olevat “merkit” kirjoittimen ymmärtämään muotoon. Kun siis tekstistä siirtyy a-kirjain mustesuihkukirjoittimelle, niin ajuri muuttaa muistin bittijono a:n muotoiseksi suihkuohjaukseksi. 

Alkuaikoina kun nämä oheislaitteet olivat kovin yksinkertaisia, niin tietokoneen valmistaja laati myös ajurien ohjelmat. Kun laitteista tuli monimutkaisia ja eri valmistajia on paljon, näiden ajureiden ohjelmointi siirtyi laitevalmistajan vastuulle. Kun sitten laiteohjainta kehitetään tai korjataan, niin laitevalmistaja  kirjoittaa uuden ajurin ja toimittaa sen käyttöjärjestelmän toimittajalla, joka korvaa vanhan ajurin uudella osaksi seuraavaan käyttöjärjestelmäpäivitykseen. 

1 comment: