[ dejan_su @ 25.10.2003. 00:07 ] @
Evo ovako : koliko znam, boot loader se nalazi u nultom sektoru na hardu i pokrece kernel OS-a. E sad, mene interesuje kako se on uopste zapisuje u nulti sektor, da li je to samo jedan fajl ili sta? Pretpostavljam da se pise u asembleru...
[ tOwk @ 25.10.2003. 02:15 ] @
Ja to ne bih baš nazvao „nultim“ sektorom, već radije prvim sektorom diska. ;-)

Ovde već postaje tradicija da se govori o fajlovima. Međutim, fajlovi ne postoje! Oni su samo jedan od vidova apstrakcije/metafore koju nam pružaju „moderni“ (čak, nisu ni moderni, pošto je taj koncept star jedno 40 godina) operativni sistemi i njihova jezgra.

Kada se radi o softveru koji se pokreće u BIOS-u, ili koga neposredno sam BIOS pokreće (kao što je kod koji se nalazi u prvom sektoru), onda ne postoji pojam fajla.

O čemu se zapravo radi. BIOS učitava prvih 512 bajtova (tj. taj jedan sektor) u memoriju na adresu 0xc0:0 (ili tako nešto, sad ne znam napamet, davno je bilo kada sam se time igrao :). Zatim, uradi jedan jednostavan JMP na tu lokaciju, i to je sve.

Kod za te potrebe se zaista najčešće piše u asembleru, što zbog specifičnosti posla, što zbog malo raspoloživog prostora.

Što se tiče zapisa, to se može uraditi na mnoge načine, i to se radi „unapred“. Npr. ako koristiš neki operativni sistem u saglasju sa POSIX specifikacijom, onda možeš da koristiš naredbu „dd“ za direktan upis na proizvoljno mesto na disku.

Takođe, slobodno pročešljaj i ostale teme na ovom forumu, o tome se često priča, pošto je to prvi korak koji treba preći u razvoju operativnih sistema.
[ Scip ! @ 26.10.2003. 22:28 ] @
http://www.geocities.com/thestarman3/asm/mbr/MBR_in_detail.htm

.... http://www.geocities.com/thestarman3/ .....
[ tvucko @ 27.10.2003. 06:51 ] @
Pogledaj http://lilo.go.dyndns.org/

U tehnickoj dokumentaciji imas sve sto ti treba.
[ leka @ 27.10.2003. 09:28 ] @
Ja opet dosadih sa GAZOS (http://gazos.sourceforge.net/) projektom. Naime u GAZOS-u imate odlican KOD za prost, maleni bootloader. :) Doduse, kad sam ja gledao GazOS sors tada je na njemu radio Gareth... Ne znam kako sada stoje stvari, ali sors od tog bootloadera je verovatno jos uvek tamo :).