[ 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.
[ 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 :).
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.