1 / 41

Zagon in zaustavitev računalnika

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.

julius
Download Presentation

Zagon in zaustavitev računalnika

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Zagon in zaustavitev računalnika

  2. 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).

  3. 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.

  4. BIOS • BIOS na matični plošči. • CMOS pomnilnik • pomni ključne začetne podatke

  5. Interakcija BIOS

  6. 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.

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

  8. Zagonski postopek (boot procedure)

  9. BIOS Setup

  10. Bootstrap Loader

  11. 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

  12. Kaj je nalagalnik (loader)? Program, ki kopira kodo (običajno z diska) v pomnilnik in sproži izvajanje te kode. Nalagalnik (loader) pomnilnik CPE disk • Kopira kodo • Sproži kodo koda koda

  13. 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

  14. Boot device? bootloader Bootstrap Loader (Bootloader) • Program, ki naloži “prvi program” • Pogosto “večstopenjski”: primarni, sekundarni • Terja podporo firmware (“hardware bootstrap”) ROM (BIOS) (firmware) Pomnilnik CPE Floppy Primarni Primarni Jedro (kernel) Jedro (kernel) CD ROM Sekundarni Sekundarni mreža

  15. Zagon PC • Intel X86-32 firmware naloži “boot sector” na 0x7C00 in nanj prenese nadzor v realnem režimu (limita 640K ) 0 • Power On Self Test (POST) • Izbira zagonske naprave (boot device) • Nalaganje zagonskega sektorja (boot sector) • floppy: (prvi sektor) • trdi disk: MBR (sektor 0) ali “partition boot block” (pboot) • Zagon naložene kode - first stage boot loader • Izbor particije iz tabele particij • Izvajanje boot sektorja particije – second stage boot loader pomnilnik 0x7C00 boot sektor CPE BIOS(64K) 0xFFFF0000 BIOS_start 2GB

  16. 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

  17. 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

  18. Sekundarni zagonski nalagalnik

  19. 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

  20. GRUB • Prilagodljiv 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

  21. GRUB • Konfiguracija: • grub se nahaja v datotekah: /boot/grub/stage1 in /boot/grub/stage2 • konfiguracijska datoteka: /boot/grub/grub.conf.

  22. Faze nalaganja GRUB • BIOS prebere MBR z diska • Izvede 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žene • Faza 2 vsebuje večino logike gruba. Prebere konfiguracijsko datoteko grub.conf, pokaže uporabniški vmesnik in po izbiri nadaljuje z nalaganjem jedra

  23. NTLDR • Nalagalnik 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.iniin uporabniku predstavi upor. vmesnik za izbiro OSa

  24. start_kernel sleep? (hlt) LILO shutdown init Vklop Izklop Boot KernelInit OS Init izvajanje Shutdown Življenski cikel sistema: gor in dol • Zagon (Booting) • Inicializacija jedra (Kernel Initialization) • Prvi proces: init • Izvajanje • Zaustavitev sistema (shutdown)

  25. LINUX: od zagona do zaustavitve

  26. Inicializacija jedra • Po nalaganju se dejanski zagon sistema začne z inicializacijo jedra • Jedro 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

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

  28. 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)

  29. LINUX: od zagona do zaustavitve

  30. Zagon UNIX (Linux) Zaporedje procesov, ki zaživijo pri zagonu nekaterih sistemov cp

  31. 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

  32. Init? • Init je predhodnik vseh procesov (vendar brezposeln) “seje” otroke • Lokacija: /sbin/init • Teče v uporabniškem načinu (user mode) (do jedra dostopa preko sistemskih klicev)

  33. 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

  34. 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

  35. 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 sistemov • 3:Večuporabniški režim z mrežo • 4:navadno ni v uporabi • 5:Večuporabniški sistem z GUI • 6: Reboot režim • S,s: Single user mode (brez /etc/inittab)

  36. Init • Katere 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.

  37. Primer iniciacijskega skripta

  38. Spreminjanje nivojev izvajanja • Naslednji ukazi so tipično rezervirani spreminjanje nivojev: • UNIX: • Ukazi shutown, telinit oz. init • Windows: • Ukaz shutdown

  39. 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).

  40. Zaporedje zaustavitve • Shutdown [-h/r] • Blokirano je ponovno prijavljanje • Vsem procesom pošljemo signal SIGTERM in jim tako povemo, da se sistem ugaša • Procesi se čisto zaključijo • Procesu init poščjemo signal, d naj spremeni nivo izvajanja • Privzeto: 1, -h flag 0, -r flag 6 • Odmontiranje particije

  41. 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.

More Related