Viivästetty käynnistys

Tietokoneeni käynnistys vie nykyään melko paljon aikaa. Windows-käyttöjärjestelmän käyttäjät huomaavat ennemmin tai myöhemmin, miten kone alkaa ajan mittaan hidastua. Tarkalleen ottaen laitteiston tehot eivät suoranaisesti putoa, vaan hidastumiseen löytyy muita syitä. Vuosien saatossa koneeseen tulee asennettua jos jonkinlaisia ohjelmistoja ja niitä myös poistellaan aina silloin tällöin. Seurauksena on fragmentoitunut kiintolevy ja massiiviseksi kasvanut rekisteri. Nykyään Windows-käyttiksessä on automaattinen kiintolevy defragmentointi, joka on valmiiksi ajastettu tyypillisesti kerran viikossa suoritettavaksi. Windows käynnistää defragmentoinnin automaattisesti ja suorittaa tehtävän taustalla. Sovellusten poistaminen sen sijaan ei aina siivoa rekisteriä, vaan sinne jää lähes poikkeuksetta osa sovelluksen merkinnöistä paisuttaen rekisteriä entisestään. Mitä enemmän merkintöjä rekisterissä on sitä hitaammaksi sen käsittely käy. Näin syntyy tunne tietokoneen hidastumisesta.

Aloin suunnitella sovellusten käynnistämistä viivästettynä yksi toisensa jälkeen. Ajatuksena on käynnistää ensin yksi sovellus ja minuutin kuluttua toinen ja taas minuutin kuluttua seuraava, kunnes kaikki yleisimmin käyttämäni sovellukset ovat käynnissä. Toinen vaihtoehto on sammuttaa tietokone iltaisin valmiustilaan, jolloin sovellukset ovat seuraavan päivän käynnistyksessä jo valmiiksi käynnissä. Windows ei jostakin syystä osaa hallita valmiustilaa järkevästi ja jo viikon kuluttua keskusmuisti on niin sekaisin ja täynnä, että kone on ihan pakko käynnistää uudelleen. Sovellukset toimivat tahmeasti ja melkein minkä tahansa toiminnon käynnistäminen vie hirmuisesti aikaa, koska keskusmuistissa on edellisten iltojen väliaikatietoja, joita Windows ei ole valmiustilaan siirtyessään osannut siivota. Muistipula pakottaa käyttöjärjestelmän sivuttamaan eli käyttämään kiintolevyä keskusmuistin jatkeena, ja tämähän se vasta hidastuttaakin konetta. Olenkin tullut siihen tulokseen, ettei valmiustilaan saattaminen ole kovin järkevää vaan parempi olisi sammuttaa kone illalla ja käynnistää se normaalisti seuraavana päivänä.

Koneen uudelleenkäynnistys vaatii myös useimmin käyttämieni sovellusten käynnistämisen. Tämäkin vie aikaa, joten tein vihdoinkin pienen komentosarjan, jolla käynnistän kaikki kymmenisen sovellusta heti, kun kone lähtee käyntiin. Windowsissa on itse asiassa oma paikkansakin tällaiselle. Käynnistys- eli Startup-kansioon voi lisätä sovelluksia käynnistäviä linkkejä (shortcut), mutta tämän haittapuolena on eräänlainen kertarysäys. Kone on pitkän aikaa jumissa, kun käynnistyskansion sovelluksia ladataan. Järkevämpää olisikin ladata sovelluksia vähitellen niin, että latausten aikana voi jo alkaa tehdä töitä koneella samaan aikaan, kun ohjelmat nousevat pystyyn taustalla.

Muutamalla komentotulkin komennolla syntyy kätevä komentosarja. Sovellukset käynnistyvät start-komennolla, jolle voi antaa erinäisiä lisämääreitä, kuten käynnistyspolun. Lisäämällä /min-kytkimen sovellus latautuu valmiiksi minimoituna, joten se ei ponnahda keskelle kuvaruutua päällimmäiseksi. Latausten väliin tulee pieni viive, joka toteutetaan timeout-komennolla. Aikaviive ilmoitetaan sekunteina /t-kytkimellä, esimerkiksi muodossa timeout /t 60. Tämä komento odottaa 60 sekuntia ennen kuin komentosarjan seuraava rivi suoritetaan. Timeout jää odottamaan käyttäjän toimintoja, sillä viiveen voi keskeyttää painamalla jotain näppäintä laskurin aikana. Kuvaruudulle ilmestyvän kehotteen voi turhana ohjata bittiavaruuteen lisäämällä komennon loppuun uudelleenohjausmerkin > ja vastaanottavan laitteen, joka tässä tapauksessa on nul-laite. Start-komento on sen verran tarkka polkujen kirjoitusasusta, että polut on syytä esittää entisaikojen 8+3 muodossa. Esimerkiksi Program Files -kansion nimi kirjoitetaan muodossa Progra~1. Kansioiden ja tiedostojen lyhyen nimen saa selville antamalla komentotulkissa komennon dir /x, jolloin listaukseen ilmestyy myös tiedoston lyhyt nimi. Mikäli haluaa käynnistää vaikkapa tekstinkäsittelyohjelman ja avata samalla jonkin tietyn dokumentin, riittää kun "käynnistää" pelkästään kyseisen dokumentin edellyttäen kuitenkin, että dokumentti on liitetty käynnistettävään sovellukseen. Esimerkiksi .doc-päätteiset dokumentit on yleensä liitetty Microsoft Word -tekstinkäsittelyohjelmaan, jolloin pelkän .doc-päätteisen tiedoston käynnistäminen (tai oikeammin avaaminen) käynnistää samalla siihen liitetyn sovelluksen. Alla on esimerkki komentosarjasta, joka käynnistää muutamia sovelluksia ja avaa dokumentteja.

rem Käynnistetään Google Chrome -selain timeout /t 60 > nul start chrome.exe rem Avataan Muistiinpanot.odt-dokumentti rem ja käynnistetään OpenOfficen rem tekstinkäsittelyohjelma minimoituna timeout /t 60 > nul start /min muisti~1.odt

Esimerkkini komentosarjassa sovellukset käynnistyvät minuutin välein. Viivästetty käynnistys antaa ainakin mielikuvan nopeammasta koneen käynnistymisestä, kun työpöytä ja ensimmäinen sovellus on heti käyttövalmiina samaan aikaan, kun muita sovelluksia vielä ladataan taustalla. Esimerkissäni käynnistyy ensimmäisenä selain ja se jää kuvaruudulle valmiiksi käytettäväksi. Minuutin kuluttua ladataan tekstinkäsittelyohjelmisto ja siihen avataan muistiinpanodokumentti. Tekstinkäsittely jää tässä tapauksessa Windowsin työkaluriville minimoituna, joten sen käynnistäminen ei keskeytä selaimen käyttöä. Komentosarja on tavallinen tekstitiedosto, jonka voi nimetä haluamallaan nimellä, mutta tiedoston päätteen on oltava .bat, joka viittaa englannin kielen sanaan batch. Tiedostolla voi olla esimerkiksi nimi startti.bat, ja se tallennetaan Käynnistys-kansioon. Samalla kansiosta poistetaan mahdolliset muut linkit, jotka kannattaa kuitenkin ennen poistoa siirtää osaksi komentosarjaa. Vanhat kunnon MS-DOS-komennot tulevat jälleen hyötykäyttöön, kun väsäilee viivästettyä käynnistystä tähän tapaan.

Julkaistu perjantaina 3.6.2011 klo 20:30 avainsanalla ohjelmointi.

Edellinen
Hallituksen synnytystuskat
Seuraava
Lomavalmisteluja