2.7 Ongelmat

 

 

      RAKASTA TIETOKONETTASI- Kansalaisen tietotekniikkatieto

Tietokoneista puhuttaessa syntyy usein vaikutelma erehtymättömistä mekaanisista laitteista, vaikka itse asiassa tietokoneiden toiminnan perustana olevat ohjelmat ovat aina ihmisen käsityönä tekemiä.

Tietokone itsessään on tietysti täysin mekaanisesti toimiva laite, joka suorittaa tarkkoja ja täsmällisiä loogisia prosesseja. Ongelmana vain on, että nuo käsin tehdyt ohjelmat eivät aina olekaan yhtä loogisia kuin niitä pyörittävät laitteet.

Tietokoneohjelmat tehdään nykyisin aina jollakin ohjelmointikielellä, joka sitten tulkitaan tietokoneen ymmärtämään konekieliseen muotoon.

Tällaisia nykyisin käytössä olevia ohjelmointikieliä ovat esimerkiksi Visual Basic, C++ ja Java.

Ohjelmoijien apuna on toki erilaisia apuvälineitä, eikä jokaista koodiriviä välttämättä enää kirjoiteta käsin. Ohjelmoijilla on erilaisia valmiita kirjastoja ja muita ohjelmoinnin apuvälineitä, joilla ohjelmien rutiiniosien luominen onnistuu helposti.

Windows-ympäristössä ohjelmoijat voivat käyttää hyväkseen myös käyttöjärjestelmässä valmiina olevia ohjelmointirajapintoja, jolloin kaikkia asioita ei tarvitse luoda erikseen jokaiseen ohjelmaan.

Jos olet ihmetellyt miksi muutoin täysin englanninkielisessä ohjelmassa saatetaan kuitenkin pyytää vastaamaan ’Kyllä’ tai ’Ei’ tai painamaan ’Seuraava’-painiketta, on kyse juuri käyttöjärjestelmän valmiiden palveluiden käytöstä. Microsoftin pojat ovat huomaavaisesti luoneet ’Kyllä’ ja ’Ei’ -painikkeet valmiiksi ja ohjelman tekijän täytyy vain kutsua ne omaan ohjelmaansa.

Muistin jakamista

Ohjelman toiminnallisuuden ratkaisevat sisäinen toimintalogiikka ja käyttöliittymä ovat kuitenkin aina vajavaisen ihmisen suunnittelemia. Hienoista ohjelmointivälineistä ei ole mitään apua, jos niissä on ongelmia.

Ongelmia lisää se, että vanhan pahan DOS-ajan jälkeen ohjelmat eivät ole voineet varata koko tietokonetta itselleen, vaan ne joutuvat jakamaan tietokoneen käyttömuistin muiden ohjelmien kanssa.

Windows on perustaltaan moniajojärjestelmä, jossa täytyy voida käyttää useata ohjelmaa yhtä aikaa. Tämän takaamiseksi on luotu pelisäännöt siitä miten eri ohjelmat voivat ottaa keskusmuistia käyttöönsä niin, että ne eivät häiritse muiden käynnissä olevien ohjelmien toimintaa.

luku2.7_virhe
Jos ohjelma kuitenkin kirjoittaa näiden sääntöjen vastaisesti omaa dataansa toiselle ohjelmalle varattuun muistialueeseen, pompahtaa yleensä ruutuun ilmoitus ’Ohjelma teki laittoman toiminnon ja se lopetetaan’. Mitään lakikirjassa mainittuja pykäliä eivät nämä laittomat toiminnot siis loukkaa...

Vikuroivan ohjelman sulkemisella pyritään takaamaan se, että muut ohjelmat voisivat vielä jatkaa toimintaansa normaalisti.

Vielä Windows 98-maailmassa tämä ei useinkaan vielä kuitenkaan onnistunut, vaan yhden ohjelman kaatuminen kaatoi usein koko koneen. Nyt Windows XP:ssä muistinhallintaa on kuitenkin selvästi kohennettu ja väärin käyttäytyvän ohjelman sulkeminen ei välttämättä enää haittaa tietokoneen toimintaa.

Roskien siivousta

Muistin hallinnassa tärkeää on myös roskien siivous eli englanniksi hienosti ’garbage collection’. Ohjelma kirjoittaa aina toimiessaan uutta dataa muistiin, mutta sen pitäisi muistaa poistaa myös vanhat jo tarpeettomiksi jääneet tiedot pois muistista. Jos tätä ei tehdä oikein, voi ohjelma tikahtui roskiin eli turhaan muistinkulutukseen. Nykyisissä ohjelmissa ei näitä ongelmia kuitenkaan onneksi juuri enää ole.

Sen sijaan eräät ohjelmat saattavat aiheuttaa muistivuotoja. Esimerkiksi muutoinkin tolkuttomasti paisunutta Acrobat Reader -ohjelmaa on usein syytetty muistivuotajaksi. Muistivuoto ilmenee siten, että kone jähmettyy ohjelman ollessa pitempään käytössä ennen pitkää täysin toimimattomaksi, mutta uudelleenkäynnistyksen jälkeen se toimii taas aivan normaalisti.

Käynnistysongelmia

Ohjelmoijien tuskaa lisää se, että PC-tietokoneissa käytössä olevat kymmenet tuhannet erilaiset laite- ja ohjelmistokokoonpanot saattavat aiheuttaa yllättäviä ongelmia. Ongelmat ovat sitä todennäköisempiä jos ohjelma toimii syvällä käyttöjärjestelmän sisällä, kuten esimerkiksi virusohjelmat.

Missään esitestauksessa ei voida käydä läpi kaikkia mahdollisia laite- ja ohjelmakokoonpanoja. Vasta käytännössä huomataan vaikkapa miten aina kone avattaessa automaattisesti käynnistyvät prosessit vaikuttavat toisiinsa.

Hyvänä esimerkkinä tästä ongelmasta on kotimainen ja luotettavaksi virustorjujaksi tunnettu F-Secure. Yleensä se toimii hyvin ja jouheasti, mutta eräissä yksittäisissä koneissa F-Secure saattaa jähmettää koneen käynnistymisen 10–15 minuuttia kestäväksi kärsimysnäytelmäksi.

Syynä on todennäköisesti se, että virusohjelma ja jokin toinen näissä koneissa automaattisesti käynnistyvä prosessi eivät pääse yksimielisyyteen käynnistysjärjestyksestä.

Lopetusongelmia

Ohjelmoinnin virheet voivat aiheuttaa ongelmia myös tietokoneen sulkemisvaiheessa. Jos taustaprosessina toimiva ohjelma tottelee huonosti käyttöjärjestelmän antamia käskyjä, voi se aiheuttaa tilanteen, jossa tietokonetta ei saa enää suljettua siististi. Kone jää silloin zombieksi sulkemiskomennon jälkeen.

Varsinkin Windows 98-koneissa käy usein niin, että kone menee ensin pitkään kiltisti unille sulkemiskomennon jälkeen, mutta sulkeminen alkaa takkuilla ilman mitään näkyvää syytä. Tällöin syyllinen on usein jokin koneeseen myöhemmin asennettu ohjelma.

Kaiken kaikkiaan on suoranainen ihme, että ohjelmat kuitenkin pääsääntöisesti toimivat. Käyttöjärjestelmien kehitys on auttanut asiassa paljon. Vielä Windows 95:n aikaan koneen kaatuilu oli päivittäistä kauraa, mutta XP-käyttäjälle saattavat koko koneen kaatumiset olla jo aivan tuntematon asia.

 

Sivujen suunnittelu: T:mi Bittitohtori

[ALOITA TÄSTÄ!] [2. OHJELMAT] [2.1 Asentaminen] [2.2 OpenOffice] [2.3 Selaimet] [2.4 Päivittäminen] [2.5 Pikku apurit] [2.6 Virtuaali-PC] [2.7 Ongelmat] [2.8 Muistio] [2.9 LogMeIN] [2.10 EasyRecovery] [2.11 Web-palvelut] [2.12 Office 2007] [2.13 CrossLoop] [2.14 Google Docs] [2.15 Foxit Reader]

Google
 

 

Etsi tästä sivustosta haun tarjoaa FreeFind
 

Etsi tästä sivustosta haun tarjoaa FreeFind