Zagon in zaustavitev računalnika

41
Zagon in zaustavitev računalnika

description

Zagon in zaustavitev računalnika. Zakaj je potreben zagon ?. Aparaturna oprema ne ve, kje leži operacijski sistem in kako naj ga naloži . Za to potrebujemo poseben program – “b ootstrap loader ” . Na primer: BIOS – Basic Input Output System. - PowerPoint PPT Presentation

Transcript of Zagon in zaustavitev računalnika

Page 1: Zagon in zaustavitev računalnika

Zagon in zaustavitev računalnika

Page 2: Zagon in zaustavitev računalnika

Zakaj je potreben zagon ?

Aparaturna oprema ne ve, kje leži operacijski sistem in kako naj ga naloži.

Za to potrebujemo poseben program – “bootstrap loader”. Na primer: BIOS – Basic Input Output System.

“Bootstrap loader” locira jedro (operacijskega sistema), ga naloži v pomnilnik in sproži njegovo izvajanje.

V nekaterih primerih pa preprost “bootstrap loader” poišče na disku bolj kompleksen zagonski program, ga naloži v pomnilnik, ta pa nato naloži jedro (kernel).

Page 3: Zagon in zaustavitev računalnika

Kako poteka zagon (boot) ?

Dogodek “reset” na CPE (vklop računalnika, ponovni zagon) povzroči, da se programski števec nastavi na preddoločeni naslov v pomnilniku. Sproži se program “Bootstrap” na tej lokaciji.

Ta program je pomnjen v ROM, saj je pomnilnik RAM takrat v neznanem stanju. ROM je tako primeren za inicializacijo, nanj pa tudi ne vplivajo virusi.

Page 4: Zagon in zaustavitev računalnika

BIOS

BIOS na matični plošči.CMOS pomnilnik pomni ključne

začetne podatke

Page 5: Zagon in zaustavitev računalnika

Interakcija BIOS

Page 6: Zagon in zaustavitev računalnika

Naloge ob zagonu

Diagnostika, ki določi stanje stroja. Če je diagnostika uspešna, se zagon nadaljuje.

Izvedba “Power-On Self Test” (POST), ki preveri, ali naprave, ki sestavljajo računalnik, delujejo.

BIOS gre preko predkonfiguriranih naprav in poišče tisto, ki je zagonska (bootable). Če take naprave ne najde, sledi obvestilo o napaki in zagon se zaustavi.

Initializacija registrov CPE, krmilnikov naprav in vsebine pomnilnika. Zatem sledi nalaganje operacijskega sistema.

Page 7: Zagon in zaustavitev računalnika

POST

Preveri prisotnost pričakovanih naprav(le osnovno delovanje, avtomatsko preverjanje)

Page 8: Zagon in zaustavitev računalnika

Zagonski postopek (boot procedure)

Page 9: Zagon in zaustavitev računalnika

BIOS Setup

Page 10: Zagon in zaustavitev računalnika

Bootstrap Loader

Page 11: Zagon in zaustavitev računalnika

Terminologija zagonskega mehanizma

Loader Naloži kodo (običajno) z diska v pomnilnik in

sproži izvajanje te kode)

Bootloader / Bootstrap Program, ki naloži “prvi program” (jedro

oziroma kernel)

Boot PROM / PROM Monitor / BIOS Fiksna koda, ki je ob vklopu računalnika “že

naložena”

Boot Manager Program, ki nam omogoča izbrati “prvi

program”, ki naj bo naložen

Page 12: Zagon in zaustavitev računalnika

Kaj je nalagalnik (loader)?

Program, ki kopira kodo (običajno z diska) v pomnilnik in sproži izvajanje te kode.

CPE

Nalagalnik(loader)

disk

pomnilnik

koda1) Kopira kodo2) Sproži kodo koda

Page 13: Zagon in zaustavitev računalnika

Kdo pa naloži nalagalnik?

Seveda je tudi nalagalnik le program, ki leži v pomnilniku. Kako pa je tja prišel?

Potrebujemo “nalagalnik nalagalnika” …

Pomnilnik

Nalagalnik(loader)

disk

Page 14: Zagon in zaustavitev računalnika

Bootstrap Loader (Bootloader)Program, ki naloži “prvi program”Pogosto “večstopenjski”: primarni, sekundarniTerja podporo firmware (“hardware bootstrap”)

PomnilnikROM (BIOS)(firmware)

CPE

CD ROM

Floppy

mreža

PrimarniPrimarni

SekundarniSekundarni

Boot device? bootloader

Jedro(kernel)Jedro

(kernel)

Page 15: Zagon in zaustavitev računalnika

Zagon PCIntel X86-32 firmware naloži “boot sector” na 0x7C00 in nanj prenese nadzor v realnem režimu (limita 640K )

CPE

pomnilnik

boot sektor

0

2GB

0x7C00

BIOS_start0xFFFF0000 BIOS(64K)

1. Power On Self Test (POST)

2. Izbira zagonske naprave (boot device)

3. Nalaganje zagonskega sektorja (boot sector)

1. floppy: (prvi sektor)

2. trdi disk: MBR (sektor 0) ali “partition boot block” (pboot)

4. Zagon naložene kode - first stage boot loader

1. Izbor particije iz tabele particij

2. Izvajanje boot sektorja particije – second stage boot loader

Page 16: Zagon in zaustavitev računalnika

Naloge ob zagonu (nadaljevanje)Ko najde zagonsko napravo, naloži BIOS njen zagonski sektor (boot sector) in ga sproži. To je first stage boot loader

V primeru trdega diska je to MBR ( master boot record – sektor 0) (tipično ni specifičen za določen operacijski sistem). MBR na x86 platformi je omejen na 512 bytov, skupaj s tabelo particij, kar omeji velikost kode boot sektorja na 446 bytov!

512 bytov

Page 17: Zagon in zaustavitev računalnika

Naloge ob zagonu (nadaljevanje)

Koda MBR preveri tabelo particij (partition table) in išče v njej aktivno particijo. Če jo najde, naloži koda MBR zagonski sektor (boot sector) te particije in sproži njegovo izvajanje

Zagonski sektor particije (VBR – volume boot record) je pogosto specifičen za dani operacijski sistem.

V mnogih operacijskih sistemih je glavna naloga kode zagonskega sektorja nalaganje in proženje jedra (kernel), ki nato nadaljuje zagonske postopke (startup).

Namesto jedra, se lahko v VBR nahaja tudi sekundarni zagonski nalagalnik – second stage boot loader

Page 18: Zagon in zaustavitev računalnika

Sekundarni zagonski nalagalnik

Page 19: Zagon in zaustavitev računalnika

Sekundarni zagonski nalagalnik

V zagonskem sektorju particije (VBR) se lahko nahaja tudi sekundarni nalagalnik, npr: GRUB – GRand Unified Bootloader

LILO – LInux LOader

NTLDR – NT Loader

Sekundarnim zagonskim nalagalnikom pravimo tudi zagonski upravniki (boot managers)

Njihova naloga je, da (interaktivno) omogočijo izbiro particije iz katere naj se nalaganje nadaljuje posledično omogočajo nalaganje različnih OS

Page 20: Zagon in zaustavitev računalnika

GRUBPrilagodljiv zagonski upravnik, ki omogoča: Izbiro jeder Linux Nastavitev časovnih parametrov zagona Zagon jeder, ki niso Linux Nastavljanje konfiguracij, tudi interaktivno ob zagonu

Značilnosti: Prva faza GRUB leži v MBR Ne ve nič o datotečnem sistemu Ta faza naloži drugo fazo (sekundarni nalagalnik)

GRUB 2, ki se lahko nahaja drugje na disku ►ali pa vmesno fazo 1.5, ki potem naloži GRUB 2

GRUB 2 prikaže upor. vmesnik z izbiro OSa

Page 21: Zagon in zaustavitev računalnika

GRUBKonfiguracija: grub se nahaja v datotekah: /boot/grub/stage1

in /boot/grub/stage2 konfiguracijska datoteka: /boot/grub/grub.conf.

default=0 timeout=10 splashimage=(hd1,2)/grub/splash.xpm.gz title Pingo root (hd1,2) kernel /vmlinuz-2.4.18-14 ro root=LABEL=/ initrd /initrd-2.4.18-14.img title Windows XP rootnoverify (hd0,0) chainloader +1

Page 22: Zagon in zaustavitev računalnika

Faze nalaganja GRUB

BIOS prebere MBR z diskaIzvede naloženo kodo (grub faza 1). Koda ve, kje na disku se nahaja naslednja faza (1.5 ali 2), jo naloži in jo izvedeČe je to faza 1.5, ta pozna datotečni sistem particije, ga odpre in poišče datoteko s fazo 2 ter jo naloži in poženeFaza 2 vsebuje večino logike gruba. Prebere konfiguracijsko datoteko grub.conf, pokaže uporabniški vmesnik in po izbiri nadaljuje z nalaganjem jedra

Page 23: Zagon in zaustavitev računalnika

NTLDRNalagalnik Windows (NT,2000,XP,2003)

omogoča tudi nalaganje drugih OS Nahaja se v datotekah boot.ini in NTLDR, ki morata biti

na sistemskem disku (C:).

Koraki pri nalaganju BIOS prebere MBR z diska MBR naloži sekundarni nalagalnik NTLDR iz VBR NTLDR dostopi do datotečnega sistema (FAT ali NTFS) Če najde hiberfil.sys, pomeni, da je računalnik

hiberniral in naloži hibernirano sliko Drugače prebere boot.ini in uporabniku predstavi upor.

vmesnik za izbiro OSa

Page 24: Zagon in zaustavitev računalnika

Življenski cikel sistema: gor in dol

Zagon (Booting)Inicializacija jedra (Kernel Initialization)Prvi proces: initIzvajanjeZaustavitev sistema (shutdown)

Vklop Izklop

Boot KernelInit

OSInit

izvajanje Shutdown

Page 25: Zagon in zaustavitev računalnika

LINUX: od zagona do zaustavitve

Page 26: Zagon in zaustavitev računalnika

Inicializacija jedra

Po nalaganju se dejanski zagon sistema začne z inicializacijo jedraJedro preveri sistemske naprave Preskus bistvenih naprav

►CPE, konzola, pomnilnik

Preskus strojnih podsistemov► I/O vodila, omrežni vmesniki, trdi diski, CD-ROM pogoni,

disketni pogoni, pomnilne naprave

Jedro (Kernel) Zagotavlja, da bo strojna oprema delala to, kar

hočejo programi

Page 27: Zagon in zaustavitev računalnika

Inicializacija jedra

Inicializacija datotečnega sistema Logical volume manager subsystem RAID SCSI naprave Particije na trdem disku

Page 28: Zagon in zaustavitev računalnika

Natačna sekvenca začetka postavljanja Linuxa

Grub (ali kak drug nalagalnik) zažene jedro, ki se nahaja v pomnilniku sporoči mu podatke o drugih delih OS, ki se tudi

nahajajo v pomnilniku (ramdisk)

Jedro izvede inicializacijo Preko datoteke /linuxrc najde lokacijo pravega datotečnega sistema, ter ga pripne (mount)Nalaganje se nadaljuje preko akcij procesa init, ki se požene v uporabniškem načinu (user mode)

Page 29: Zagon in zaustavitev računalnika

LINUX: od zagona do zaustavitve

Page 30: Zagon in zaustavitev računalnika

Zagon UNIX (Linux)

Zaporedje procesov, ki zaživijo pri zagonu nekaterih sistemov

cp

Page 31: Zagon in zaustavitev računalnika

init()

init() začne življenje kot nit jedra in konča kot proces na uporabniškem nivoju (/sbin/init)

init/main.c:init

acquire “the big kernel lock” on a multiprocessor (MP)

perform high-level initialization – do_basic_setup()

free __init memory

release lock

try to exec (in user space) the init process

panic if unsuccessful

Page 32: Zagon in zaustavitev računalnika

Init?

Init je predhodnik vseh procesov (vendar brezposeln) “seje” otrokeLokacija: /sbin/initTeče v uporabniškem načinu (user mode) (do jedra dostopa preko sistemskih klicev)

Page 33: Zagon in zaustavitev računalnika

Kaj naredi Init ob zagonu?

Pregleda datoteko /etc/inittab Preko nje glede na nivo izvajanja požene skripte, ki se nahajajo v datotekah v imeniku /etc/rc.d servisi za beleženje sistemskih obvestil vzpostavitev mreže mrežni strežniki (splet, pošta...) ...

Požene procese, ki omogočijo prijavo na sistem na tekstovnih terminalih lahko tudi grafični uporabniški vmesnik

Page 34: Zagon in zaustavitev računalnika

Nivoji izvajanja

UNIX Run Levels – nivoji izvajanja pove na kakšnem nivoju (načinu) je sistem

►single user (vzdrževanje) in►multi-user (brez in z omrežnimi servisi)

parameter pri poganjanju procesa init pove v kakšen način naj se računalnik postavi

Tudi Windows imajo nivoje: Multi-user Safe Mode Safe mode with networking

Page 35: Zagon in zaustavitev računalnika

Nivoji izvajanja v init

0: Ustavljen sistem (pripravljen na izklop) 1: Enouporabniški režim 2: Večuporabniški režim brez mrežnih datotečnih sistemov3: Večuporabniški režim z mrežo 4: navadno ni v uporabi5: Večuporabniški sistem z GUI6: Reboot režimS,s: Single user mode (brez /etc/inittab)

Page 36: Zagon in zaustavitev računalnika

InitKatere servise init zaganja in njihov vrstni red glede na nivo izvajanja določa datoteka /etc/inittab programi v lupini (skripte) v imenikih /etc/rc.d, ki so

urejeni po nivojih izvajanja

Ena od prednosti uporabe skript pri zagonu je, da jih lahko preverjamo in spreminjamo skripte lahko ročno pokličemo z argumenti stop in

start in preverjamo, ali delujejo pravilno

tak postopek je priporočljiv, saj lahko odkrijemo napake, ki bi prekinile zagon in povzročile, da bi bil sistem neuporaben.

Page 37: Zagon in zaustavitev računalnika

Primer iniciacijskega skripta

Page 38: Zagon in zaustavitev računalnika

Spreminjanje nivojev izvajanja

Naslednji ukazi so tipično rezervirani spreminjanje nivojev: UNIX:

►Ukazi shutown, telinit oz. init Windows:

►Ukaz shutdown

Page 39: Zagon in zaustavitev računalnika

Zaustavitev (shutdown)

Zapis “bufferjev”: da ne bi izgubili podatkov in okvarili datotečni sistem, uporabimo shutdown

shutdown onemogoči logiranje, zahteva od “init”, da pošlje vsem procesom signale SIGTERM in SIGKILL (jih torej konča).

Page 40: Zagon in zaustavitev računalnika

Zaporedje zaustavitve

Shutdown [-h/r]Blokirano je ponovno prijavljanjeVsem procesom pošljemo signal SIGTERM in jim tako povemo, da se sistem ugašaProcesi se čisto zaključijoProcesu init poščjemo signal, d naj spremeni nivo izvajanja Privzeto: 1, -h flag 0, -r flag 6

Odmontiranje particije

Page 41: Zagon in zaustavitev računalnika

Kaj mora administrator razumeti?

Zaporedje dogodkov pri zagonu sistema.

Metode, ki jih uporabimo za spreminjanje zagonskega zaporedja.

Kako izbiramo alternativne zagonske naprave.

Delovanje programov “boot manager” in “boot loader”.

Kako pravilno zaustavimo sistem.