| Nazad | Maturski rad | Dalje |
|
|
- Startovanje FreeBSD-a -
Startovanje kompjutera se naziva bootstrap,
ili skraćeno boot.
Na x86 platformi Basic Input/Output System (BIOS)
je odgovoran za pokretanje kompjutera. Na hard disku koji se boot-uje, BIOS
pronalazi Master Boot Record (MBR). Ukoliko na računaru postoji samo
jedan operativni sistem, onda je standardni MBR sasvim dovoljan za pokretanje
sistema. Takav MBR će pronaći prvi boot slice (butabilnu particiju) na disku i
pokrenuće kod koji učitava ostale delove operativnog sistema. Ukoliko je na
računaru instalirano više sistema, onda će MBR morati da pita korisnika koji
sistem da startuje. Ovakav MBR se naziva boot-manager. BootEasy je
zvanični boot-manager FreeBSD-a. Nalazi se u MBR-u, ali i u /boot/boot0
fajlu. Za razliku od većine drugih boot-manager-a, njemu nije neophodno podesiti
šta sve može da boot-uje, već će pri startovanju sam pronaći sve sisteme koji
mogu da se startuju.
Dalje učitavanje FreeBSD-a je zbog ograničenja koje
postavlja PC hardver, podeljen u tri faze: boot1, boot2 i loader.
boot1 (/boot/boot1) je jednostavan program,
velik samo 512 bajtova. On može da pročita informacije o particijama FreeBSD-a
i može da pokrene boot2.
boot2 (/boot/boot2) može da pristupi
FreeBSD-ovom fajl sistemu i startuje loader (ili kernel direktno).
loader (/boot/loader) vrši učitavanje modula
kernela zajedno sa kernelom. Pre startovanja kernela korisnik može da pokrene
komandni interpreter kojim bi podesio koje module treba da učita i koji kernel da
startuje.
Posle ove tri faze kernel se startuje i počinje sa
ispitivanjem i inicijalizovanjem hardvera. Kada završi sa tim, pokreće se prvi
korisnički proces /sbin/init. Ako je prilikom boot-ovanja prosleđen
određeni parametar, ili ukoliko init otkrije neispravnost fajl sistema, FreeBSD
se startuje u Single-User modu radi otklanjanja grešaka. Ukoliko nije,
FreeBSD se startuje u Multi-User modu. Prvo se startuje shell, zatim se
čita konfiguracioni fajl /etc/rc.conf, montiraju se fajl sistemi koji su
podešeni u /etc/fstab fajlu, startuju se mrežni servisi, sistemski
daemoni. Posle toga init startuje po jedan /usr/libexec/getty program za
svaki terminal sistema. On čita sa terminala korisničko ime, a zatim pokreće
/usr/bin/login program koji proverava ispravnost šifre i ako je ispravna
pokreće korisnikov shell.
| Nazad | Početak | Dalje | |
| NETWORK FAJL SISTEM | KOMPAJLIRANJE KERNELA | ||