Open Library - otvorena knjižnica obrazovnih informacija. Open Library - otvorena knjižnica obrazovnih informacija Algoritam učitavanja operativnog sustava

Bootloader je sistemski program koji izvodi dizanje. Mnogi utovarivači također omogućuju kretanje i povezivanje. Neki sustavi odvajaju funkciju povezivanja od funkcija pomicanja i učitavanja. Povezivanje se izvodi posebnim programom za povezivanje (ili uređivačem poveznica), pomicanjem i učitavanjem pomoću učitavača.

Povezivanje je povezivanje dva ili više odvojenih prevedenih programa.

Premještanje je modifikacija objektnog programa tako da se može učitati s adrese koja nije izvorna.

Funkcije pokretačkog programa:

  1. OP distribucija;
  2. premještanje programa;
  3. moduli za povezivanje;

OP distribucija

Premještanje programa

Ako unutar modula postoje adresne konstante koje se izračunavaju od početka modula, tada će se adrese prilagoditi u odnosu na bazu.

Povezivanje modula

Vrste pokretačkih programa

Prevedi-pokreni učitavače

Jedan od moguće načine Da bi se izvršila funkcija punjača, može postojati takva organizacija rada asemblera u kojoj asembler, radeći u jednom dijelu memorije, postavlja strojne instrukcije i podatke kako se sklapaju izravno u memorijske ćelije koje su im dodijeljene. Nakon što je kompilacija završena, asembler predaje kontrolu ulaznoj točki rezultirajućeg programa. Ovo je vrlo jednostavno rješenje koje vam omogućuje da radite bez dodatnih postupaka. Ova se shema naziva "prevođenje-izvršenje", a "učitavač" se sastoji od jedne instrukcije koja prenosi kontrolu na sastavljeni program.

Apsolutne utovarivače je lako implementirati, ali imaju niz značajki:

  • zadatak distribucije OP-a obavlja programer (koristeći naredbu za postavljanje početne vrijednosti OP-a);
  • zadatak premještanja programa obavlja prevoditelj;
  • povezivanje modula - odlučuje programer (poziv 600);
  • učitavanje programa u OP i njihovo pokretanje na izvršenje.

Prednosti:

  • manja veličina bootloadera (veličina memorije);
  • odvajanje faza kompilacije i učitavanja, što smanjuje vrijeme za obradu modula;
  • mogućnost korištenja nekoliko programskih jezika, jer strukture kreiranih objektnih modula su identične.

Mane:

Velika količina posla pada na programera. Pri modificiranju modula potrebno je stalno pratiti promjene početnih adresa jer njihova duljina se mijenja.

Struktura datoteke objekta Absolute Loader

Informacijski zapis sastoji se od:

  1. znak;
  2. apsolutna adresa OP-a na koju se podaci mogu prenijeti;
  3. broj informacijskih bajtova u poruci;
  4. bajtovi informacija;
  5. kontrolni zbrojevi;
  6. numeriranje.

Kontrolni zapisnik sastoji se od:

  1. znak;
  2. adresa ulazne točke.

Jednostavan apsolutni učitavač radi:

  1. Provjerite ima li dovoljno memorije za ovaj program (pregled prvog zapisa).
  2. Sekvencijalno čitanje tijela programa i postavljanje na navedenu adresu.
  3. Prijenos kontrole na adresu za izvođenje programa.

Podešavanje pokretačkog programa

Kako bi se izbjegla potreba za ponovnim sastavljanjem svih potprograma kada se izvrši promjena na jednom od njih, te kako bi se programer oslobodio zadataka dodjele memorije i komunikacije potprograma, razvijeni su takozvani učitavači. Ovaj pokretački program omogućuje programu da ima više programskih segmenata i jedan podatkovni segment (zajednički segment). Asembler prevodi svaki segment zasebno i daje učitavaču tekst i informacije o pomacima i unakrsnim referencama između segmenata.

Izlaz asemblera s ovom shemom je objektni program i informacije o svim drugim programima kojima postoje pozivi u ovom programu. Osim toga, postoje informacije o onim mjestima koja se moraju promijeniti tijekom utovara (podaci o kretanju), tj. o ćelijama čiji sadržaj ovisi o mjestu programa u memoriji.

Za svaki izvorni program, asembler proizvodi tekst (rezultat prijevoda) kao izlaznu informaciju, kojoj prethodi prijelazni vektor koji sadrži adrese imena potprograma kojima se pristupa u izvornom programu. Na primjer, ako je SQRT rutina prva pozvana rutina, tada će prva ćelija vektora skoka sadržavati simboličko ime SQRT. Izjave koje sadrže poziv SQRT rutine bit će prevedene u instrukciju skoka koja ukazuje na adresu vektorskog elementa grananja povezanog sa SQRT-om. Asembler će također prenijeti dodatne informacije kao što je ukupna duljina programa i duljina vektora grananja. Nakon učitavanja teksta programa i vektora skoka u memoriju, punjač će učitati svaku rutinu navedenu u vektoru. Zatim će postaviti naredbu za skok na odgovarajući potprogram u svakom elementu vektora. Dakle, pozivanje potprograma SQRT će dovesti do izvršenja naredbe skoka na prvu ćeliju prijelaznog vektora, koja će sadržavati naredbu skoka na pozvani potprogram.

Ova shema opterećenja s dvostupanjskim prijenosom upravljanja često se koristi u računala s fiksnim formatom naredbe i izravnim adresiranjem.

Ovaj bootloader ima brojne nedostatke:

  • prijelazni vektor nije sasvim prikladan za učitavanje i spremanje vanjskih podataka (nalazi se u drugom segmentu programa);
  • prijelazni vektor povećava duljinu objektnog programa;
  • Učitavač radi na programskim segmentima, ali ne olakšava pristup segmentima podataka koje može dijeliti više rutina.

Izravno povezivanje pokretačkog programa

Izravno povezujući bootloader najpotpunije pruža mogućnost premještanja programa i podataka u memoriji i trenutno je najčešći. Takav učitavač ima prednost u tome što dopušta korištenje velikog broja programskih segmenata i segmenata podataka i daje programeru potpunu slobodu pristupa podacima koji se nalaze u drugim segmentima, dok omogućuje zasebno prevođenje.

Asembler (prevoditelj) mora proslijediti sljedeće informacije bootloaderu sa svakim programom i segmentom podataka:

  1. duljina segmenta;
  2. popis svih simbola segmenta kojima se može pristupiti iz drugih segmenata i njihove relativne adrese;
  3. popis svih simbola koji nisu definirani u danom segmentu, a kojima se pristupa u danom segmentu;
  4. informacije o položaju adresnih konstanti u segmentu i opis kako bi se njihove vrijednosti trebale mijenjati;
  5. strojni kodovi koji su rezultat prevođenja i dodijeljene relativne adrese.

Jedan od nedostataka izravnog povezivanja učitavača u njegovom najjednostavnijem obliku je taj što je svaki put kada se program izvrši, potrebno više puta izvršiti funkcije dodjele memorije, premještanja, povezivanja i učitavanja svih potrebnih potprograma. Ovi se problemi mogu riješiti izvođenjem učitavanja pomoću dva odvojena programa: combiner i modul loader. Izlaz kombinatora je skup podataka u formatu koji omogućuje učitavanje programa u memoriju, a naziva se modul učitavanja. Postoji nekoliko vrsta kombinira. Jedan od njih je tzv. uređivač poveznica, koji pohranjuje informacije potrebne za premještanje modula u memoriju, tako da se modul kao cjelina zatim može konfigurirati i učitati na proizvoljnu memorijsku lokaciju. U ovom slučaju, punjač modula mora izvršiti funkcije dodjele i premještanja memorije, ali je oslobođen složenog zadatka povezivanja objektnih modula i potprograma.

Dinamički utovarivač

U svakoj od razmatranih shema pretpostavljeno je da su sve potrebne rutine učitane u memoriju istovremeno. Ako je ukupna količina memorije koju zahtijevaju rutine manja od dostupne memorije stroja, nastaju problemi. Te se poteškoće prevladavaju primjenom sheme dinamičkog učitavanja s uzastopnom upotrebom kombinatora i utovarivača. Ova se shema temelji na činjenici da su obično različite rutine potrebne u različito vrijeme i mogu se međusobno isključiti. Eksplicitnim definiranjem potprograma koji sadrži pozive drugim potprogramima, možete definirati takozvanu strukturu preklapanja koja specificira međusobno isključive potprograme.

Generira se modul za učitavanje. Može se premjestiti i mora imati stol za premještanje. Također, struktura modula za učitavanje mora sadržavati informacije o vezama. Učitavač mora sadržavati takav dio kao što je upravitelj preklapanja; on odabire iz modula za pokretanje točno one koji se pokreću, au procesu rada organizira učitavanje potrebnih modula u OP.

Dinamičko povezivanje

Postoje slučajevi kada se, kako bi se osigurala učinkovita upotreba memorije stroja, potprogrami dinamički povezuju tijekom izvođenja programa. To jest, potprogrami se učitavaju u memoriju samo onako kako su pozvani. Ovo može biti korisno jer... Pod određenim uvjetima u programu, neki potprogrami možda uopće neće biti potrebni. Pogledajmo primjer:

ako (uvjet 1)
poziv potprograma 1
ako (uvjet 2)
poziv potprograma 2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ako (uvjet m)
poziv potprograma m

Mnoge grane će biti preskočene i neće biti potrebno učitavati u OP, na primjer, potprogram 2 ako uvjet 2 nije ispunjen. U ovom slučaju, učitavač mora raditi istovremeno s programom i obavljati funkcije povezivanja i učitavanje potprograma.

Operativni sustav je pohranjen u vanjska memorija najčešće na tvrdom disku, rjeđe na disketi. Za normalan rad računalo zahtijeva da glavni moduli operativni sustav bili u RAM-u. Stoga, nakon uključivanja računala, automatsko prepisivanje (booting) operativnog sustava s diska na OVAN. Najvažniji aspekti ovog opterećenja prikazani su u obliku algoritma na slici. 9.13.

Riža. 9.13. Algoritam za učitavanje operativnog sustava s diska u RAM

Nakon što uključite računalo, gledate kako se brojevi mijenjaju na ekranu. Ovi brojevi odražavaju proces testiranja RAM-a od strane BIOS programa. Ako se otkrije greška u RAM ćelijama, prikazat će se poruka.

Nakon uspješno završenog hardverskog testiranja, pristupa se pogonu s disketom A, a pored njega svijetli indikatorska lampica. Ako učitavate operativni sustav s diskete, tada morate umetnuti sistemsku disketu u pogon A prije ili tijekom testiranja. U suprotnom, ako na disku A nema operativnog sustava, pristupite tvrdi disk, što dokazuje svjetlosni indikator koji svijetli pored njega.

Počinje čitanje u RAM 0-tog sektora 0-te strane diska u kojem se nalazi bootloader (BOOT RECORD). Kontrola se prenosi na bootloader, koji provjerava prisutnost modula proširenja IO.SYS i osnovnog modula MSDOS.SYS na disku sustava. Ako su na za to predviđenom mjestu (cm. riža. 9.10), zatim ih učitava u RAM, inače će se prikazati poruka o njihovoj odsutnosti. U tom slučaju preporuča se ponovno preuzimanje. Signal ponovnog pokretanja prenosi kontrolu na stalni BIOS modul, koji ponovno zapisuje blok pokretanja s diska u RAM itd.

Upamtite! Za ponovno pokrenite operativni sustav pritisnite tipke istovremeno u memoriju .

Nakon uspješnog učitavanja modula proširenja IO.SYS i osnovnog modula MSDOS.SYS u RAM, učitava se procesor naredbi COMMAND.COM i obrađuje konfiguracijska datoteka CONFIG.SYS koja sadrži naredbe za povezivanje potrebnih upravljačkih programa. Ova datoteka možda nedostaje ako ste zadovoljni osnovnom verzijom operativnog sustava.

Zatim se obrađuje paketna datoteka AUTOEXEC.BAT. Pomoću ove datoteke možete konfigurirati parametre radnog okruženja. Na primjer, stvorite virtualni disk, osigurati promjenu načina ispisa, preuzeti pomoćne programe itd.

Pažnja! Datoteke s ekstenzijom .BAT imaju posebnu ulogu pri radu u okruženju sustava. Sadrže skup naredbi operativnog sustava ili imena izvršnih datoteka. Nakon pokretanja datoteke s nastavkom .BAT, sve naredbe zapisane u njoj izvršavaju se automatski jedna za drugom.

Datoteka sa standardnim nazivom AUTOEXEC.BAT razlikuje se od ostalih datoteka tipa .BAT po tome što izvršavanje naredbi postavljenih u njoj počinje automatski odmah nakon pokretanja operativnog sustava.

Ako datoteka AUTOEXEC.BAT nedostaje, od vas će se tražiti da unesete datum i vrijeme:

ako pritisnete tipku enter, takozvani parametri sustava koje određuje računalni mjerač vremena bit će prihvaćeni kao trenutni datum i vrijeme;

Ako želite resetirati datum i vrijeme sustava, tada kao odgovor na upit unesite vrijednosti u jedan od ponuđenih obrazaca, na primjer:

10-25-1997 (mjesec dan godina)

7:30:10.00r (sati:minute:sekunde)

Nakon što se datoteka AUTOEXEC.BAT završi ili ako ova datoteka nije pronađena, na zaslonu će se prikazati upit sistemski disk, Na primjer C:\>. Ovo znači da je proces pokretanja normalno završio i da možete započeti s radom unosom naziva aplikacije ili naredbe operativnog sustava.

Bilješka. Možda nedostaju datoteke CONFIG.SYS i AUTOEXEC.BAT. U tom će slučaju postavke radnog okruženja biti postavljene na zadane.

Upamtite! Tvrdi disk mora se koristiti za trajno pohranjivanje operativnog sustava.

Kada uključite računalo, svi disketni pogoni moraju biti otvoreni.

Umetnite disketu sa aplikacijski programi u pogon nakon završetka preuzimanja.

Algoritam učitavanja operativnog sustava

Operativni sustav je pohranjen u vanjskoj memoriji, najčešće na tvrdom disku, rjeđe na disketi.

Vrijedno je reći da je za normalan rad računala izuzetno važno da su glavni moduli operativnog sustava u RAM-u. Iz tog razloga se nakon uključivanja računala operativni sustav automatski prepisuje (učitava) s diska u RAM.

- prepisivanje operativnog sustava s diska (tvrdog ili disketnog) u RAM.

Nakon uključivanja računala na ekranu se uočava promjena brojeva. Ovi brojevi odražavaju proces testiranja RAM-a s BIOS programom. Ako se otkrije greška u RAM ćelijama, prikazat će se poruka.

Nakon uspješno završenog hardverskog testiranja, pristupa se pogonu s disketom A, a pored njega svijetli indikatorska lampica. Ako se operativni sustav učitava s diskete, morate umetnuti sistemsku disketu u pogon A prije ili tijekom testiranja. U protivnom, ako na disku A nema operativnog sustava, pristupa se tvrdom disku, što dokazuje indikator svjetlo pored njega.

Počinje čitanje u RAM 0-tog sektora 0-te strane diska u kojem se nalazi bootloader (BOOT RECORD). Kontrola se prenosi na bootloader, koji provjerava prisutnost modula proširenja IO.SYS i osnovnog modula MSDOS.SYS na disku sustava. Ako su na mjestu koje im je dodijeljeno, tada ih učitava u RAM, inače će se prikazati poruka o njihovoj odsutnosti. U tom slučaju preporuča se ponovno preuzimanje. Signal ponovnog pokretanja prenosi kontrolu na stalni BIOS modul, koji ponovno zapisuje blok pokretanja s diska u RAM itd.

BILJEŠKA! Za ponovno pokrenite operativni sustav pritisnite tipke istovremeno u memoriju<Сtгl> <АLT> .

Nakon uspješnog učitavanja modula proširenja IO.SYS i osnovnog modula MSDOS.SYS u RAM, učitava se procesor naredbi COMMAND.COM i obrađuje konfiguracijska datoteka CONFIG.SYS koja sadrži naredbe za povezivanje potrebnih upravljačkih programa. Ova datoteka može nedostajati ako je korisnik zadovoljan osnovnom verzijom operativnog sustava.

Zatim se obrađuje naredbena datoteka AUTOEXEC.BAT. Ova se datoteka koristi za konfiguriranje parametara radnog okruženja. Na primjer, stvorite virtualni disk, promijenite načine ispisa, učitajte pomoćne programe itd.

Bilješka! Datoteke s ekstenzijom .BAT imaju posebnu ulogu pri radu u okruženju sustava. Οʜᴎ sadrže skup naredbi operativnog sustava ili nazive izvršnih datoteka. Nakon pokretanja datoteke s nastavkom .BAT, sve naredbe zapisane u njoj izvršavaju se automatski jedna za drugom.

Datoteka standardnog naziva AUTOEXEC.BAT razlikuje se od ostalih datoteka tipa .BAT po tome što izvršavanje naredbi postavljenih u njoj počinje automatski odmah nakon pokretanja operativnog sustava.

Ako datoteka AUTOEXEC.BAT nedostaje, od vas će se tražiti da unesete datum i vrijeme:

ako pritisnete tipku enter, takozvani parametri sustava koje određuje računalni mjerač vremena bit će prihvaćeni kao trenutni datum i vrijeme;

Ako želite resetirati datum i vrijeme sustava, tada kao odgovor na upit unesite vrijednosti u jedan od ponuđenih obrazaca, na primjer:

10-25-1997 (mjesec dan godina)

7:30:10.00r (sati: minute: sekunde)

Nakon što datoteka AUTOEXEC.BAT završi s radom, a također i ako ovu datoteku nije otkriven, na zaslonu će se, na primjer, prikazati upit za disk sustava C:\>. Ovo označava da je proces pokretanja normalno završio i da možete započeti s radom unosom naziva aplikacijskog programa ili naredbe operativnog sustava.

Bilješka. Možda nedostaju datoteke CONFIG.SYS i AUTOEXEC.BAT. U tom će slučaju postavke radnog okruženja biti postavljene na zadane.

Upamtite! Izuzetno je važno osigurati da operativni sustav bude trajno pohranjen na tvrdom disku. Kada uključite računalo, svi disketni pogoni moraju biti otvoreni.

Morate umetnuti disketu s aplikacijskim programima u pogon nakon završetka preuzimanja.

Testirano programom

Opterećenje Bez opterećenja

na savitljivom tvrdom br

disk disk

Čitanje s diskete Read. gestom disk

IO.SYS, MSDOS.SYS u sektoru za pokretanje"

Opterećenje Nema poruke

točno? "Ne sistemske datoteke»

Naredba. Com "Nema sistemskih datoteka"

i datoteku CONFIG.SYS

Slanje vašeg dobrog rada u bazu znanja jednostavno je. Koristite obrazac u nastavku

Studenti, diplomanti, mladi znanstvenici koji koriste bazu znanja u svom studiju i radu bit će vam vrlo zahvalni.

Sveučilište Volga nazvano po V.N.Tatishchevu

Fakultet računarstva i telekomunikacija

Zavod za “Informatiku i upravljačke sustave”

NASTAVNI RAD

disciplina: “Sustavski softver”

Tema: “ Utovarivač

Izvršio: student. IS-303

Krasnoselcev U. P.

Učitelj: Trubacheva S.I.

Toljati

Uvod

1. Teorijski dio

2. Dizajnerski dio

2.1 Izjava problema

2.2 Razvoj algoritma za rješavanje problema

2.3 Opis algoritma učitavanja aplikacijskog programa

2.4 Opis algoritma za pokretanje OS-a

2.5 Opis Unix algoritma za pokretanje pomoću LILO pokretačkog programa

Zaključak

Korištena literatura

Uvod

Relevantnost mog nastavnog rada leži u činjenici da je razvoj računala i njihovih operativnih sustava išao paralelno s razvojem različitih programa za pokretanje sustava. Određeni operacijski sustavi zahtijevaju različite programe za podizanje sustava za pokretanje. Na primjer, Unix višekorisnički operativni sustav zahtijeva LILO boot loader i razne pomoćne programe. Svako učitavanje operativnog sustava utječe na RAM, koji koriste i primarni i sekundarni bootloaderi. Kada dođe do opterećenja razne vrste pogreške koje bootloader zaobilazi ili prekida proces pokretanja (prikazuje informativnu poruku).

Bootloader je program bez kojeg više od jednog računala i više od jednog operativnog sustava jednostavno ne može.

1 . Teorijski dio

Proces pokretanja Microsoft OS-a

Koji god operativni sustav razmatrali, da bi OS počeo kontrolirati računalo, mora biti učitan u RAM. Stoga, pogledajmo kako se odvija proces učitavanja različitih operativnih sustava. Budući da nas zanima samo utovar od tvrdi diskovi, tada nećemo razmatrati značajke dizanja s diskete, CD-ROM-a i preko mreže. Počnimo s MS-DOS-om i MS Windows-om.

Kao što znate, kada uključite računalo, prvo se pokreće POST (Power On Self Test) program. Određuje količinu dostupne memorije, testira je, utvrđuje prisutnost ostalih komponenti (tipkovnica, tvrdi disk itd.) i inicijalizira adapterske kartice. Na ekranu se obično pojavljuju poruke o količini memorije, o njezinom testiranju, popisu otkrivenih uređaja (fleksibilni i tvrdi diskovi, procesor, COM portovi itd.).

Nakon završetka testiranja, POST poziva Int 19h, koji pokušava pronaći uređaj za pokretanje. Pretraga se vrši redoslijedom navedenim u Postavljanje BIOS-a, a provodi se anketiranjem nultih sektora odgovarajućih uređaja. Ako se disk može pokrenuti, tada se u njegovom nultom sektoru nalazi glavni zapis za pokretanje - Master Boot Record (MBR). Posljednja dva bajta MBR-a su "magični broj", što je znak da je ovaj sektor MBR, te je stoga disk moguće pokrenuti. Osim "čarobnog broja", MBR sadrži tablicu particija diska, koja je već spomenuta, i mali program - primarni bootloader, s volumenom od samo 446 (0 * 1BE) bajtova.

Tablica 2.1 prikazuje strukturu glavnog boot sektor stvoren tijekom instalacije sustava Windows.

Tablica 2.1 Struktura glavnog boot sektora

Prekid 19h BIOS učitava primarni bootloader u memoriju računala i prenosi kontrolu na ovaj program. Ali tako mali program ne može pokrenuti OS; sve što može učiniti je učitati moćniji program u memoriju - sekundarni bootloader.

Da bi to učinio, pretražuje particijsku tablicu za aktivnu particiju i čita u memoriju sekundarni bootloader, koji se nalazi počevši od prvog logičkog sektora aktivne particije. Obratite pažnju na riječ "početak". Činjenica je da sekundarni bootloader u različitim sustavima ima različite duljine.

Sekundarni boot loader učitava prvi sloj programa potrebnih za pokretanje OS-a. U slučaju MS - DOS-a, program za pokretanje učitava IO.SYS na adresi 700h, zatim MSDOS.SYS i prenosi kontrolu na odjeljak SYSINIT modula IO.SYS.

Ako iz nekog razloga na disku nije pronađena aktivna particija, proces dizanja se nastavlja obradom prekida 18h. Ova grana se rijetko koristi u cijelosti, ali ova značajka može biti vrlo korisna u nekim situacijama. Tijekom daljinskog pokretanja, kada se OS učitava s poslužitelja, ovaj prekid POST program preusmjerava na ROM mrežne kartice.

Problemi s velikim diskovima

U MS - DOS i prvim verzijama Windows pristup na diskove je organiziran preko BIOS prekida 13 (Int 13h). U ovom slučaju korišteno je adresiranje sektora na disku na temelju označavanja brojeva cilindra, glave i sektora na stazi (C/H/S). Točnije:

1)AH - izbor operacije;

2)CP - 8 bitova nižeg reda broja cilindra;

3)CL - bitovi 7-6 odgovaraju najvažnijim bitovima broja cilindra, bitovi 5-0 odgovaraju broju sektora;

4)DH - broj glave za čitanje;

5)DL - broj diska (80h ili 81h).

Treba napomenuti da su sva navedena ograničenja značajna samo u fazi učitavanja OS-a, budući da sam Linux i najnoviji Windows verzije Pri radu s diskovima više ne koriste BIOS interrupt 13, već koriste vlastite drivere za rad s diskovima. Ali prije nego što sustav može koristiti vlastiti upravljački program, mora ga barem učitati. Stoga je u početnoj fazi pokretanja svaki sustav prisiljen koristiti BIOS. To uzrokuje ograničenja pri postavljanju sustava iznad 8 GB; oni se ne mogu pokrenuti s tog mjesta, iako nakon uspješnog pokretanja mogu raditi s puno većim diskovima. Da bismo razumjeli kako možemo zaobići ta ograničenja, potrebno nam je malo znanja o tome kako se Linux OS pokreće.

LILO boot loader iz distribucije Linux OS-a

Prije nego počnete instalirati drugi OS, morate odabrati metodu organiziranja odabira OS-a u fazi pokretanja računala. Programi za učitavanje rješavaju ovaj problem. Postoji nekoliko programa ove vrste. Budući da govorimo o Linuxu, prvo što treba spomenuti je program LILO koji je uključen u bilo koji Linux distribucija.

LILO je skup nekoliko programa: sam bootloader, programi koji se koriste za instalaciju i konfiguraciju bootloadera i servisne datoteke:

Program /sbin/lilo, koji radi pod Linuxom, služi za pisanje svih informacija potrebnih tijekom faze dizanja na odgovarajuća mjesta. Mora se ponovno pokrenuti svaki put kad se napravi promjena u kernelu ili LILO konfiguracijskoj datoteci;

Razne servisne datoteke koje LILO treba tijekom dizanja. Te se datoteke obično nalaze u direktoriju /boot. Najvažniji od njih su sam bootloader i map datoteka (/boot/map), koja označava lokaciju kernela. Druga važna datoteka je LILO konfiguracijska datoteka, koja se obično zove /etc/lilo.conf;

Sam bootloader je dio LILO-a koji se prvi učitava u memoriju putem prekida BIOS-a, a koji učitava Linux kernel ili boot sektor drugog OS-a. Bootloader se također sastoji od dva dijela. Prvi dio piše u boot sektor i koristi se za učitavanje drugog dijela, koji je puno veći. Oba dijela su obično pohranjena na disku u datoteci /boot/boot.b.

Prilikom instalacije sustava, LILO boot sektor može se postaviti na sljedeća mjesta:

Sektor za pokretanje diskete u Linux formatu (/dev/fd0,...);

Prvo MBR tvrdi disk(/dev/had, /dev/sda,…);

Sektor za pokretanje primarne particije datoteke Linux sustavi na prvom tvrdom disku (/dev/hda1, /dev/hda2,...);

Sektor za pokretanje logička particija u proširenoj particiji prvog tvrdog diska (/dev/hda5,…). Istina, većina programa poput fdiska ne pretpostavlja da se možete dignuti s proširene particije i odbijaju je proglasiti aktivnom. Stoga LILO uključuje poseban program(aktivirati), što vam omogućuje da zaobiđete ovo ograničenje. Ali program fdisk iz distribucije Linuxa podržava mogućnost aktiviranja proširene particije. Da biste to učinili, upotrijebite ili opciju -b ili varijablu BOOT.

LILO boot sektor ne može se postaviti na sljedeće lokacije:

Sektor za pokretanje diskete ili primarne particije, formatiran u drugim datotečnim sustavima;

U Linux swap particiji;

Osim činjenice da LILO također treba sljedeće datoteke tijekom učitavanja:

-/boot/map (stvara se kada se pokrene /sbin/lilo);

Sve verzije kernela za preuzimanje (ako odaberete verziju kernela tijekom faze preuzimanja);

Sektori za pokretanje drugih operativnih sustava koji će se pokrenuti putem LILO-a;

Poruke izdane tijekom učitavanja (ako su definirane)

Kada se LILO pokrene, prikazuje riječ "LILO". U ovom slučaju, ispis svakog slova označava završetak određene akcije ili faze učitavanja LILO-a. Ako preuzimanje ne uspije, tada prema broju prikazanih slova možete procijeniti uzrok problema.

Ništa se ne ispisuje - nijedan dio LILO-a nije učitan. Ili LILO nije instaliran ili particija na kojoj se nalazi nije aktivna

L [šifra greške] - primarni punjač se učitao i pokrenuo (na njega je prenesena kontrola), ali nije mogao učitati sekundarni punjač. Dvoznamenkasti kod pogreške označava konkretan uzrok problema. To je obično zbog nedostataka medija ili neispravne geometrije diska. Osim ako se LILO ne zaustavi na ovoj točki, bacajući beskonačan niz kodova grešaka, problem se obično lako riješi.

LI - primarni punjač je mogao učitati sekundarni punjač, ​​ali ga nije mogao pokrenuti za izvršenje. To može biti uzrokovano greškom u postavljanju geometrije diska ili zato što je /boot/boot.b premješten bez ponovnog pokretanja /sbin/lilo.

LIL - sekundarni učitavač je pokrenut, ali nije mogao pokrenuti tablicu deskriptora iz datoteke karte. Razlog je obično prisutnost nedostataka na disku ili netočno navedena geometrija diska.

LIL? - sekundarni bootloader učitan je na krivu adresu. Obično uzrokovano greškom u postavljanju geometrije diska ili zato što je /boot/boot.b premješten bez ponovnog pokretanja /sbin/lilo.

LIL- - tablica deskriptora uništena. Obično uzrokovano greškom u postavljanju geometrije diska ili zato što je /boot/boot.b premješten bez ponovnog pokretanja /sbin/lilo.

LILO - svi dijelovi LILO-a su uspješno učitani.

Init proces i /etc/inittab datoteka

Kao što znate, nakon uključivanja računala i dovršetka testiranja hardvera, BIOS se čita iz prvog sektora disk za pokretanje, koji je program učitavač. Ovaj program pokreće glavni program za podizanje sustava (na primjer, LILO) koji zauzvrat učitava jezgru sustava u memoriju, koja je obično pohranjena u datoteci vmlinuz-x.y.z-a u direktoriju /boot.

Odmah nakon dizanja, kernel montira korijenski datotečni sustav i pokreće init proces. Init proces je program koji je odgovoran za nastavak procedure dizanja i prijelaz sustava iz početnog stanja koje se događa nakon dizanja kernela u standardno stanje obrade zahtjeva mnogih korisnika.

Točan popis ovih operacija ovisi o takozvanoj razini izvođenja. Razina izvršenja određuje popis radnji koje izvodi init proces i stanje sustava nakon pokretanja, tj. konfiguracija pokrenutih procesa. Razina izvođenja označena je jednim simbolom. U Linux OS-u postoji 8 glavnih razina izvršavanja:

1) Zaustavljanje sustava;

2) Način rada za jednog korisnika (za posebne slučajeve administracije);

3) Višekorisnički način rada bez NFS-a (isto kao 3, ako računalo ne radi s mrežom);

4) Potpuni višekorisnički način rada;

5) Korištenje nije regulirano;

6) Obično se koristi za pokretanje sustava u grafičkom načinu rada;

S) (ili s) - otprilike isto kao način rada za jednog korisnika, ali S i s se koriste uglavnom u skriptama.

Prije svega, nakon pokretanja, init proces čita svoju konfiguracijsku datoteku /etc/inittab. Ova se datoteka sastoji od pojedinačnih redaka. Ako redak počinje znakom # ili je prazan, zanemaruje se. Svi ostali redovi sastoje se od 4 polja odvojena dvotočkama:

id : razine pokretanja : akcijski : proces

id - identifikator reda;

runlevels - razine pokretanja;

proces - proces;

akcija - akcija;

Polje akcije sadrži ključna riječ, koji određuje dodatni uvjeti naredba određena poljem procesa. Valjane vrijednosti za akcijsko polje:

respawn - ponovno pokrenite proces ako se prekine;

jednom - izvršiti proces samo jednom prilikom prelaska na navedenu razinu;

čekaj - proces će se pokrenuti jednom prilikom prelaska na navedenu razinu;

sysinit - Ova ključna riječ označava radnje koje se izvode tijekom procesa pokretanja sustava, bez obzira na razinu pokretanja (polje ID-a se zanemaruje).

pokretanje - proces će se pokrenuti u fazi pokretanja sustava s razine pokretanja;

bootwait - proces će se pokrenuti u fazi pokretanja sustava s razine pokretanja, a init će čekati njegov završetak;

initdefault - redak u kojem se ova riječ pojavljuje u akcijskom polju određuje razinu izvršenja na koju sustav ide prema zadanim postavkama.

isključeno - zanemarite ovaj element;

powerwait - Omogućuje init procesu da zaustavi sustav kada nestane struje.

Ctrlaltdel - omogućuje pokretanju ponovnog pokretanja sustava kada korisnik pritisne kombinaciju tipki na tipkovnici.

Ovaj popis nije konačan. Više informacija o datoteci inittab možete pronaći na stranicama priručnika init(8), inittab(5) i getty(8).

2 . Projektni dio

2.1 Izjava problema

Potrebno je proučiti teoretsku građu o odabranoj temi, razviti algoritam za rad učitavača pri implementaciji metode (prikazati u obliku blok dijagrama) i opisati algoritam.

2.2 Razvoj algoritma za rješavanje problema

Ulaz: Jednoprocesorski sustav, aplikacijski program, LILO boot loader, POST program, međusobno isključivanje.

Slika 1 prikazuje algoritam "učitavanja aplikacijskog programa".

Slika 2 prikazuje algoritam za "učitavanje operativnog sustava"

2.3 Opis algoritma učitavanja aplikacijskog programa

1) Aplikacijski program se pokreće za izvršenje. Nakon toga dolazi do aktivacije sistemski program"Utovarivač".

2) Nakon aktivacije počinje skeniranje RAM-a u potrazi za slobodnim područjima.

3) Ako se takve površine pronađu, tada se pristupa utvrđivanju početka lokacijske adrese slobodne površine. Zatim idemo na ovu adresu i određujemo veličinu slobodne površine.

4) Nakon toga se određuje veličina koda aplikacijskog programa koji se pokreće na izvođenje.

5) Usporedite veličinu koda i veličinu slobodnog područja u RAM-u.

6) Ako u RAM-u ima dovoljno prostora za kopiranje aplikacijskog programskog koda, tada se broj virtualnih stranica postavlja u tablici stranica fizičke stranice. Zatim se programski kod aplikacije kopira u RAM. I završetak procesa.

7) U suprotnom, saznat ćemo ima li dovoljno prostora u RAM-u za dio programskog koda aplikacije. Ako je tako, ponavljamo te korake kada bude dovoljno prostora za kompletan kod aplikacijskog programa. Ali nakon kopiranja koda u RAM, dio koda se kopira u swap područje.

8) Ako nema dovoljno prostora za dio koda, dolazi do prijelaza na fazu skeniranja RAM-a kako bi se pronašla slobodna područja.

2.4 Opis algoritma učitavanja OS-a (Operativni sustav)

1) Pokretanje u tijeku POST programi. Pomoću ovog programa testira se dostupna memorija i utvrđuje prisutnost ostalih komponenti ( razne uređaje PC, na primjer: tipkovnica, tvrdi disk, itd.) i inicijalizacija adapterskih kartica.

2) Nakon što se POST program pokrene, na ekranu se prikazuju rezultati njegovog rada.

3) Pozovite program 19H koji pokušava pronaći uređaj za podizanje sustava.

4) Prekid 19H BIOS učitava primarni boot loader u memoriju računala i prenosi kontrolu na ovaj program

5) Zbog nedostatka snage ovog programa, učitajte OS. Ona stoga traži snažniji program koji je za to sposoban - sekundarni bootloader. Da bi to učinio, pretražuje tablicu particija za aktivnu particiju i čita sekundarni bootloader u memoriju.

6) Sekundarni boot loader učitava prvi sloj programa potrebnih za pokretanje OS-a. Program pokretačkog programa učitava IO.SYS modul na adresi 700h, zatim MSDOS.SYS prenosi kontrolu na SYSINIT odjeljak IO.SYS modula.

7) Ako iz nekog razloga aktivna particija u tablici particija nije pronađena na disku, proces dizanja se nastavlja obradom prekida od 18 sati.

2.5 Opis algoritma učitavanjaUnixkoristeći bootloaderLILO

1) Pokrenite /sbin/lilo program za pisanje svih informacija potrebnih tijekom faze dizanja na odgovarajuća mjesta. Potražite servisne datoteke koje zahtijeva LILO tijekom podizanja sustava.

2) Ako datoteke nisu pronađene, prikazuje se poruka koja označava kraj preuzimanja.

4) Ako primarni punjač nije mogao učitati sekundarni punjač, ​​na zaslonu se prikazuje informativna poruka koja ukazuje na pogrešku tijekom učitavanja.

6) Ako je primarni učitavač uspješno učitao sekundarni, ali se nije uspio pokrenuti, prikazuje se informativna poruka o pogrešci tijekom učitavanja.

7) Inače se pokreće sekundarni bootloader.

8) Provjera je li sekundarni bootloader učitan na ispravnu adresu.

9) Ako ne, dolazi do izlaza informativna poruka o greške tijekom učitavanja.

10) Provjera je li tablica deskriptora uništena. Ako da, prikazuje se informativna poruka o pogrešci tijekom učitavanja. A ako ne, tada se tablica deskriptora učitava iz datoteke karte.

11) Provjera da li je pokretanje tablice deskriptora bilo uspješno. Ako nije, onda se informativna poruka o pogrešci prikazuje prilikom pokretanja.

12) U suprotnom, prikazati informacijsku poruku o uspješnom učitavanju LILO-a.

Zaključak

U ovom predmetni rad Razmotreni su neki aspekti učitavanja programa. Vrste utovarivača: pokretni, primarni, sekundarni itd. Dokazana je nužnost korištenja boot loadera u različitim radnim okruženjima. Razmotreno razne načine pokretanje, kao što je pokretanje aplikacije, LILO pokretanje i pokretanje OS-a. Proučen je teorijski materijal o temi, razvijeni su algoritmi za rad utovarivača pri implementaciji metode (predstavljeni u obliku blok dijagrama).

Korištena literatura

1. Tanenbaum Andrija. Moderni operacijski sustavi / Andrew Tanenbaum. - 2. izd. - St. Petersburg: Peter, 2002. - 1037 str.: ilustr. - (Klasici računarstva). - ISBN 5-318-00299-4

2. Partyka, T.L. Operativni sustavi, okruženja i ljuske: priručnik za obuku za srednje prof. Arr. rec. MO / Partyka, T.L., Popov, I.I.: FORUM: INFRA - M, 2006. - 399 str.: ilustr. - ( Strukovno obrazovanje). - ISBN 5-8199-0072-5-16-001355-5

3. Olifer, V.G. Mrežni operacijski sustavi: Udžbenik. priručnik za sveučilišta MO / Olifer, V.G., Olifer, N.A. - St. Petersburg: Peter, 2003. - 538 str.: ilustr. - ISBN 5-272-00120-6

4. Trubačeva, S.I. Programiranje u operacijskim sustavima: Metodički priručnik / Trubacheva, S.I. - Tolyatti: VUiT, 2006. - 44 str.

5. Terence Chan. Programiranje sustava u C++ za Unix / Ed. Kolomyceva. - Kijev, 2004.

6. Tackett D., Barnett S. Posebno izdanje. Korištenje LINUX-a/ Per. s engleskog - 4. izd. St. Petersburg: Williams, 2003.

7. Ivanova G.S. Programiranje u SI++ / Udžbenik. ur. M.: MSTU, 2002.

Slični dokumenti

    Opće karakteristike Android sustavi, pregled njegovih analoga. Komponente potrebne za početak rada s Androidom. Postavljanje Ubuntu konfiguracija. Pisanje skripti za pojednostavljenje Linux generacije. Otklanjanje pogrešaka i testiranje programa na freescale i.MX53 ploči.

    kolegij, dodan 12.10.2012

    Razmatranje karakteristika boot managera. Opis Download Accelerator Plus, Download Master, FlashGet, GetRight, ReGet, Go!Zilla. Usporedne karakteristike menadžeri Windows pokretanje. Programi za operacijske dvorane Unix sustavi, Linux i Mac.

    sažetak, dodan 06.09.2014

    Koncept i struktura distribucija operacijskog sustava Linux, povijest njihovog nastanka i glavni programeri. Klasifikacija distribucija prema prirodi montaže i instalacije, izmjena njihovih gotovih verzija. Opis načina za izradu vlastite distribucije.

    kolegij, dodan 02.04.2014

    Opći dijagram procesa utovara, njegove glavne faze i razlikovna obilježja. Primarni i sekundarni utovarivači, njihovi funkcionalnost i smjerove djelovanja. Mjesta za eventualno postavljanje boot sektora. Zahtjevi za prostorom na disku.

    prezentacija, dodano 20.12.2013

    Analiza tehničke mogućnosti operativni sustav Mandriva Linux - GNU/Linux distribucija razvijena od strane Francuska tvrtka Mandriva, koja proizvodi besplatne, komercijalne i poslovne verzije svoje distribucije. Koraci instalacije Linux ljuske.

    prezentacija, dodano 23.05.2010

    Najvažniji događaji u povijesti povezivanja operativnih sustava hardver i aplikativni programi. Karakteristike operativnog sustava Microsoft Windows Sedmo, analiza operativnog sustava Linux. Prednosti i nedostaci svakog operativnog sustava.

    kolegij, dodan 07.05.2011

    Odabir alata za razvoj distribucijskog instalacijskog programa. Implementacija modula za Gentoo distribuciju, koji radi prema korisničkom priručniku za ovaj sustav. Testiranje instalacijskog programa na različitim arhitekturama.

    diplomski rad, dodan 18.07.2013

    Faze učitavanja Linux sustava, registracija. Upravljanje korisničkim računom. Načelo imenovanja uređaja, namjena i uporaba posebnih datoteka. Upravljanje datotekama, pristup datotečni sustav, zadaci. Osnovno struktura datoteke Linux.

    priručnik za obuku, dodan 15.11.2014

    Razmatranje različitih distribucija operativnih sustava. Proučavanje protokola za razmjenu podataka i fizičkih formata za pohranu podataka. Razvoj distribucije temeljene na Linux operativnom sustavu za rad u sklopu StarNAS mrežne pohrane.

    kolegij, dodan 05.11.2015

    Značajke učitavanja operativnog sustava Linux u terminalskom načinu rada, prijave i registracije korisnika. Izvođenje preraspodjele datoteka, korištenje za rad s naredbama operativnog sustava. Primjena programskih kanala (konvejera).

Operativni sustav je pohranjen u vanjskoj memoriji, najčešće na tvrdom disku, rjeđe na disketi. Za normalan rad računala potrebno je da glavni moduli operativnog sustava budu u RAM-u. Stoga se nakon uključivanja računala operativni sustav automatski prepisuje (učitava) s diska u RAM. Najvažniji aspekti ovog opterećenja prikazani su u obliku algoritma na slici. 9.13.

Riža. 9.13. Algoritam za učitavanje operativnog sustava s diska u RAM

Nakon što uključite računalo, gledate kako se brojevi mijenjaju na ekranu. Ovi brojevi odražavaju proces testiranja RAM-a od strane BIOS programa. Ako se otkrije greška u RAM ćelijama, prikazat će se poruka.

Nakon uspješno završenog hardverskog testiranja, pristupa se pogonu s disketom A, a pored njega svijetli indikatorska lampica. Ako učitavate operativni sustav s diskete, prije ili tijekom testiranja morate umetnuti sistemsku disketu u pogon A. U suprotnom, ako na disku A nema operativnog sustava, pristupa se tvrdom disku, što dokazuje indikator svjetlo pored njega.

Počinje čitanje u RAM 0-tog sektora 0-te strane diska u kojem se nalazi bootloader (BOOT RECORD). Kontrola se prenosi na bootloader, koji provjerava prisutnost modula proširenja IO.SYS i osnovnog modula MSDOS.SYS na disku sustava. Ako su na za to predviđenom mjestu (cm. riža. 9.10), zatim ih učitava u RAM, inače će se prikazati poruka o njihovoj odsutnosti. U tom slučaju preporuča se ponovno preuzimanje. Signal ponovnog pokretanja prenosi kontrolu na stalni BIOS modul, koji ponovno zapisuje blok pokretanja s diska u RAM itd.

Upamtite! Za ponovno pokrenite operativni sustav pritisnite tipke istovremeno u memoriju .

Nakon uspješnog učitavanja modula proširenja IO.SYS i osnovnog modula MSDOS.SYS u RAM, učitava se procesor naredbi COMMAND.COM i obrađuje konfiguracijska datoteka CONFIG.SYS koja sadrži naredbe za povezivanje potrebnih upravljačkih programa. Ova datoteka možda nedostaje ako ste zadovoljni osnovnom verzijom operativnog sustava.



Zatim se obrađuje paketna datoteka AUTOEXEC.BAT. Pomoću ove datoteke možete konfigurirati parametre radnog okruženja. Na primjer, stvorite virtualni disk, promijenite načine ispisa, učitajte pomoćne programe itd.

Pažnja! Datoteke s ekstenzijom .BAT imaju posebnu ulogu pri radu u okruženju sustava. Sadrže skup naredbi operativnog sustava ili imena izvršnih datoteka. Nakon pokretanja datoteke s nastavkom .BAT, sve naredbe zapisane u njoj izvršavaju se automatski jedna za drugom.

Datoteka sa standardnim nazivom AUTOEXEC.BAT razlikuje se od ostalih datoteka tipa .BAT po tome što izvršavanje naredbi postavljenih u njoj počinje automatski odmah nakon pokretanja operativnog sustava.

Ako datoteka AUTOEXEC.BAT nedostaje, od vas će se tražiti da unesete datum i vrijeme:

ako pritisnete tipku enter, takozvani parametri sustava koje određuje računalni mjerač vremena bit će prihvaćeni kao trenutni datum i vrijeme;

Ako želite resetirati datum i vrijeme sustava, tada kao odgovor na upit unesite vrijednosti u jedan od ponuđenih obrazaca, na primjer:

10-25-1997 (mjesec dan godina)

7:30:10.00r (sati:minute:sekunde)

Nakon što datoteka AUTOEXEC.BAT završi s izvođenjem i ako ova datoteka nije pronađena, na zaslonu će se prikazati upit diska sustava, na primjer C:\>. Ovo znači da je proces pokretanja normalno završio i da možete započeti s radom unosom naziva aplikacije ili naredbe operativnog sustava.

Bilješka. Možda nedostaju datoteke CONFIG.SYS i AUTOEXEC.BAT. U tom će slučaju postavke radnog okruženja biti postavljene na zadane.

Upamtite! Tvrdi disk mora se koristiti za trajno pohranjivanje operativnog sustava.

Kada uključite računalo, svi disketni pogoni moraju biti otvoreni.

Disketa s aplikacijskim programima mora se umetnuti u pogon nakon završetka učitavanja.



TEHNOLOGIJA RADA U MS DOS

§ Opće informacije o timovima

§ Osnovne naredbe za rad s imenicima

§ Osnovne naredbe za rad s datotekama

§ Osnovne naredbe za rad s diskovima

§ Stvaranje i korištenje paketne datoteke

§ Naredbena datoteka za automatsku konfiguraciju operativnog sustava AUTOEXEC.BAT

§ Konfiguriranje operativnog sustava pomoću konfiguracijske datoteke CONFIG.SYS

OPĆE INFORMACIJE O TIMOVIMA