(C) Olavi Kanervisto & Tietotila Oy 1996
Upo uusi pentium-mikro ilmoitti DOS-ohjelmaa käynnistettäessä aivan kuten se entinenkin: Not enough memory to run the program liian vähän muistia ohjelman suorittamiseen. Myyjä oli väittänyt, että koneessa on 8 megaa työmuistia ja gigatavun kiintolevy. Mistä oikein oli kyse, oliko ostajaa kenties vedetty ns. höplästä?
Luultavasti asiakasta ei ollut petetty. Uudesta laitteesta todennäköisesti löytyvät sen teknisissä tiedoissa mainitut määrät sekä RAM-keskusmuistia että kiintolevytilaa. Eri asia sitten on, osaavatko kaikki ohjelmat tuota keskusmuistia käyttää: DOS-ohjelmat voivat kärsiä muistipulasta, vaikka monta megatavua olisi tyhjänä!
DOS-käyttöjärjestelmä suunniteltiin alun perin hyödyntämään enintään yhden megatavun laajuista keskusmuistia. Teknisesti tämä toteutettiin siten, että vain RAM-muistin ensimmäiset kymmenen 64 kilotavun lohkoa eli yhteensä 640 kB tilaa varattiin käyttöjärjestelmän ja ohjelmien käyttöön. Seuraavat kuusi muistilohkoa eli ns. ylämuisti varattiin muihin tarkoituksiin, kuten värinäytön ohjaimen tarpeisiin. Eräällä teknisellä tempulla käyttöön saatiin 17:s muistilohko, ns. HMA-alue juuri yhden megatavun rajan yläpuolelta.
80-luvun 8088- ja 80286-laitteissa ylämuistialuetta ei voitu mitenkään käyttää hyödyksi. Kaikkien järjestelmätiedostojen ja ohjelmien oli siis mahduttava 640 kilotavun perusmuistiin. Mustavalkoista kuvaruutua käyttäneissä laitteissa, kuten Mikro-Mikko, DOS-ohjelmien käytettävissä oleva keskusmuisti voitiin kuitenkin määritellä jopa 732 kilotavun suuruiseksi.
Näillä teknisillä rajoituksilla IBM ilmeisesti halusi estää pc-tietokoneita muodostumasta kilpailijaksi sen tuottoisimmalle liiketoiminta-alueelle, suurille keskuskoneille tässä onneksi onnistumatta. Paljon muistia tarvitsevien ohjelmien valmistajat kehittivät kilvan tekniikoita muistin laajentamiseen mm. varaamalla osan perusmuistista osoitealueeksi, jonka avulla ohjelmat osasivat käyttää myös yhden megatavun yläpuolista muistialuetta.
Miksi DOS-ohjelmat ilmoittavat, ettei keskusmuisti riitä, vaikka niiden muistitarpeeksi olisi ilmoitettu esimerkiksi 540 tai 580 kilotavua?
Syitä on kaksi: ohjelmantekijöiden puutteellinen ammattitaito tai laiskuus sekä käyttäjien tottumattomuus laitteistonsa "virittämiseen".
Pätevät ohjelmoijat, jotka käyttivät välineenään Assembler- tai C-kieliä, saivat laajatkin ohjelmat mahtumaan pieneen tilaan. Toisaalta sovelluskehittimillä tai Basicilla työskentelevät saavat yksinkertaisiinkin tehtäviin kulumaan valtavasti koodia: Esimerkiksi vanha Clarion käänsi tehokkaammilla välineillä 10 kiloon mahtuvasta DOS-ohjelmasta 200-kilotavuisen exe-järkäleen.
Pc:n keskusmuistiin pitää itse ohjelman lisäksi mahtua myös järjestelmätiedostot, osa komentotulkista sekä näppäimistön, näytön, kirjoittimien ja oheislaitteiden ohjausohjelmat. Kun kaikki tarvittavat laiteajurit on ladattu levyltä työmuistiin, tilaa on ehkä vapaana vain 500550 kB, mikä ei riitä kaikille ohjelmille.
Onneksi uusimmat käyttöjärjestelmät pystyvät lataamaan osan näistä apuohjelmista ylämuistiin eli 732 kB:n ja 1 megatavun väliselle alueelle. Tietokone ei kuitenkaan tee tätä automaattisesti. Käyttäjän on suoritettava erityinen muistin optimointiohjelma, esimerkiksi MemMaker, joka sisältyy DOS 6-versioon.
Uusimmat käyttöjärjestelmät, OS/2 "Warp" ja Windows 95 suorittavat optimoinnin automaattisesti. Jokaiselle DOS-ikkunalle varataan noin 620 kB työmuistia. Niinpä niissä kaikki DOS-ohjelmat mahtuvat varmasti toimimaan.
Maatalouskäyttöön tarkoitettujen DOS-ohjelmistojen uusimmatkaan versiot eivät edellytä vanhan mikron vaihtamista uuteen, tehokkaampaan malliin. Useimmille tällä hetkellä myynnissä oleville sovelluksille riittää joko 286- tai 386-prosessori ja 530550 kB vapaata työmuistia.
Pyysin ja sain valmistajilta tiedot 37:n maatalousyrittäjille tarkoitetun tietokoneohjelman levy- ja keskusmuistin tarpeesta sekä siitä, millä prosessoreilla ne toimivat. Yhtä lukuun ottamatta kaikille kelpaa yhä käyttöympäristöksi 640 kilotavun DOS-perusmuisti ja 386-prosessori. Joka neljäs ohjelma suostuisi toimimaan vielä 10 vuotta vanhan perus-pc:n 8088-prosessorillakin.
Suurin osa ohjelmista tarvitsee noin 520560 kB työmuistia. Tätäkin vaatimattomammissa laitteissa toimivat ainakin Avista-taloushallinto, Maatila-Mikko, NPK-optimointi sekä Ykkönen, joille riittää 400 kB vapaata keskusmuistia.
FransEmil vaatii vähintään 580 kB, mikä edellyttää joissakin tapauksissa muistinoptimointiohjelman käyttöä ennen asentamista. Windows 95:n DOS-tilassa sekin toimii hienosti ilman virittämistä.
Mukana oli vain kaksi Windows-ohjelmaa. Asteri edellyttää vähintään 8 megatavun keskusmuistia ja 486-prosessoria. Maatila-91 for Windows -kirjanpito ei ilmoittanut laitteistovaatimuksiaan.
Useimmat ohjelmat toimitetaan joko LHARC- tai PKZIP- pakkausohjelmilla tiivistettyinä niin, että ne mahtuvat jopa yhdelle asennuslevykkeelle. Asteri-kirjanpito sisältää viisi levykettä, Tilituki-taloushallinta kolme ja Aktiivi- taloushallinto, Kaks-KP, Kuitti-kirjanpito, Minituki sekä Peltotuki kaksi levykettä kukin.
Kiintolevyä maatilaohjelmat täyttävät kohtuullisesti: ainoastaan yksi, Tilituki-taloushallinta ilmoitti tarvitsevansa enemmän kuin 5 megatavua levytilaa.