Käynnistys
Käynnistys (puhekielessä usein buuttaaminen, engl. booting, engl. bootstrapping) on tietokonejärjestelmän käynnistymistä, jossa järjestelmä lataa ja aloittaa käyttöjärjestelmän ja sovellusohjelmien suorittamisen.
Historia
IBM 1401 ei sisältänyt ROM-muistia, mikro-ohjelmaa eikä käyttöjärjestelmää, vaan ohjelma ladattiin reikäkorteilta.[1]
Varhaisissa mini- ja mikrotietokoneissa tietokoneen käyttäjän oli käytettävä katkaisimia koneen etupaneelissa saadakseen kone lataamaan isomman ohjelman ja sitten suorittamaan sen.[2]
Nykyaikaisissa järjestelmissä kun järjestelmä käynnistetään suoritin aloittaa ohjelman suorittamisen tunnetusta paikasta, joka henkilökohtaisessa tietokoneessa on flash-muistissa sijaitseva BIOS tai sulautetussa järjestelmässä ROM-muistissa sijaitseva ohjelma. Käynnistys voi tämän jälkeen siirtyä ensimmäisen tai toisen vaiheen käynnistyslataajalle.[3]
Henkilökohtaiset tietokoneet
IBM PC -yhteensopivissa henkilökohtaisissa tietokoneissa BIOS tai UEFI alustaa laitteiston ja luovuttaa suorituksen käynnistyslataajalle.
BIOS ja UEFI ovat tallennettu koneen sisäiselle ROM- tai Flash-muistille ja ne suorittavat järjestelmä alkukonfiguraation. BIOS lataa seuraavaksi massamuistilta (kuten kiintolevyltä) käynnistyslataajan ja aloittaa sen suorituksen.
IBM PC -yhteensopivien koneiden suoritin käynnistyy aina Intel 8086-yhteensopivassa tilassa ja alkaa suorittaa koodia osoitteesta FFFF0h. Koska ko. muistiosoite sijaitsee 16 tavua ennen keskusmuistin loppua, suoritetaan välittömästi hyppy oikeaan BIOSin käynnistyskoodiin. Käynnistyslataaja ladataan muistiin osoitteeseen 0000:7C00 ja suoritus siirtyy siihen.
Kiintolevyllä ladattava ohjelma sijaitsee ensimmäisen kiintolevyn alussa Master Boot Record -alueella. MBR:n koko on 512 tavua, josta osa on varattu kiintolevyn osiointitiedoille, joten käynnistysohjelman suurin mahdollinen koko on IBM PC -yhteensopivassa koneessa 440 tavua. Kiintolevyn MBR:n käynnistyslataaja lukee kiintolevyn osiotaulun ja lataa ensimmäisen aktiiviseksi merkityn osion alusta volume boot sectorin (VBR) ja käynnistää sen. Sen pääasiallinen tehtävä on ladata toisen vaiheen lataaja.
Macintosh
Apple käytti PowerPC-pohjaisissa Macintosh-koneissa Open Firmwarea (OpenBoot), joka oli peräisin Sun Microsystemsiltä. Applen siirryttyä käyttämään Intelin suorittimia alusta otti käyttöön UEFI:n.[4]
Käynnistyslataajat
- Pääartikkeli: Käynnistyslataaja
Käynnistyslataajia on useita erilaisia, joista osa on tarkoitettu vain tietylle käyttöjärjestelmälle kuten Windowsin NTLDR.
GNU GRUB on tarkoitettu useille eri käyttöjärjestelmille (mm. FreeBSD ja Linux). Käynnistyslataaja lataa käyttöjärjestelmän ytimen muistiin ja siirtää suorituksen siihen. Tämän jälkeen suoritus siirtyy käyttöjärjestelmän omaan latausmenetelmään.
Lähteet
- http://www.pcguide.com/ref/mbsys/bios/bootSequence-c.html
- http://www.pcguide.com/ref/hdd/file/structBoot-c.html
- http://www.pcguide.com/ref/hdd/file/structVolume-c.html
- http://support.microsoft.com/kb/66530/en-us
- http://www.tburke.net/info/ntldr/ntldr_hacking_guide.htm
Viitteet
- Ken Shirriff: Booting the IBM 1401: How a 1959 punch-card computer loads a program righto.com. Viitattu 14.10.2022. (englanniksi)
- Paul Krzyzanowski: Booting an Operating System people.cs.rutgers.edu. 26.1.2015. Viitattu 14.10.2022. (englanniksi)
- M. Jones: Inside the Linux boot process developer.ibm.com. 30.5.2006. Viitattu 12.12.2022. (englanniksi)
- Criss Myers: Apple's Transition from Open Firmware to Extensible Firmware Interface preserve.mactech.com. 2007. Viitattu 14.10.2022. (englanniksi)