Operatsioonisüsteemi laadimise algoritm on järgmine. Operatsioonisüsteemi laadimisalgoritm. Kompileeritavad laadurid

Alglaadur on süsteemiprogramm, mis käivitab. Paljud laadurid pakuvad ka liikumist ja ühendamist. Mõned süsteemid eraldavad linkimisfunktsiooni teisaldamise ja laadimise funktsioonidest. Linkimist teostab spetsiaalne linkimisprogramm (või lingiredaktor), teisaldamine ja laadimine laadija poolt.

Linkimine on kahe või enama eraldi tõlgitud programmi linkimine.

Ümberpaigutamine on objektprogrammi muutmine nii, et seda saab laadida algsest erinevalt aadressilt.

Alglaaduri funktsioonid:

  1. OP levitamine;
  2. programmi liigutamine;
  3. moodulite ühendamine;

OP levitamine

Programmi teisaldamine

Kui moodulite sees on aadressikonstandid, mida arvutatakse mooduli algusest, siis korrigeeritakse aadresse baasi suhtes.

Moodulite sidumine

Alglaadurite tüübid

Kompileeritavad laadurid

Üheks võimalikuks laadimisfunktsiooni täitmiseks võib olla monteerija töö korraldamine nii, et ühes mäluosas töötav koostaja paigutab kokkupandavad masinakäsud ja andmed otse eraldatud mälurakkudesse. neile. Kui kompileerimine on lõpetatud, annab monteerija juhtimise üle tulemuseks oleva programmi sisenemispunktile. See on väga lihtne lahendus, mis võimaldab teha ilma täiendavate protseduurideta. Seda skeemi nimetatakse "kompileerimiseks-käivitamiseks" ja "laadur" koosneb ühest käsust, mis annab juhtimise üle kokkupandud programmile.

Absoluutlaadureid on lihtne rakendada, kuid neil on mitmeid funktsioone:

  • OP levitamise ülesannet täidab programmeerija (kasutades käskkirja OP algväärtuse seadmiseks);
  • programmi teisaldamise ülesannet täidab kompilaator;
  • moodulite sidumine - otsustab programmeerija (helistage 600);
  • programmide laadimine OP-i ja käivitamine täitmiseks.

Eelised:

  • väiksem alglaaduri suurus (mälu suurus);
  • kompileerimis- ja laadimisfaaside eraldamine, mis vähendab moodulite töötlemise aega;
  • võimalus kasutada mitut programmeerimiskeelt, sest loodud objektimoodulite struktuurid on identsed.

Puudused:

Suur hulk tööd langeb programmeerijale. Moodulite muutmisel tuleb pidevalt jälgida lähteaadresside muutusi, sest nende pikkus muutub.

Absoluutne laadija objektifaili struktuur

Teabekirje koosneb:

  1. märk;
  2. OP absoluutne aadress, kuhu saab teavet edastada;
  3. infobaitide arv sõnumis;
  4. baite teavet;
  5. kontrollsummad;
  6. nummerdamine.

Kontrollrekord koosneb:

  1. märk;
  2. sisenemispunkti aadress.

Lihtne absoluutlaadur töötab:

  1. Kontrollige, kas selle programmi jaoks on piisavalt mälu (esimese kirje vaatamine).
  2. Programmi korpuse järjestikune lugemine ja paigutus määratud aadressil.
  3. Juhtimise ülekandmine aadressile programmi täitmiseks.

Alglaaduri häälestamine

Et vältida kõigi alamprogrammide uuesti kokkupanekut, kui ühes neist tehakse muudatus, ning vabastada programmeerija ka alamprogrammide mälu jaotamise ja suhtlemise ülesannetest, töötati välja nn laadijad. See alglaadur võimaldab programmil olla mitu programmisegmenti ja üks andmesegment (ühine segment). Koostaja tõlgib iga segmendi eraldi ja annab laadijale teksti ja teavet segmentidevaheliste liikumiste ja ristviidete kohta.

Selle skeemi monteerija väljundiks on objektprogramm ja teave kõigi teiste programmide kohta, millele selles programmis on väljakutsed. Lisaks on info nende kohtade kohta, mida laadimise käigus tuleb muuta (liikumisinfo), st. lahtrite kohta, mille sisu sõltub programmi asukohast mälus.

Iga lähteprogrammi jaoks loob assembler väljundinformatsioonina teksti (tõlketulemuse), millele eelneb üleminekuvektor, mis sisaldab lähteprogrammis ligipääsetavate alamprogrammide nimede aadresse. Näiteks kui SQRT-rutiin on esimene rutiin, mida kutsutakse, siis hüppevektori esimene lahter sisaldab sümboolset nime SQRT. SQRT-rutiini kutsumist sisaldavad avaldused tõlgitakse hüppekäsuks, mis näitab SQRT-ga seotud haruvektori elemendi aadressi. Koostaja edastab ka lisateavet, nagu programmi kogupikkus ja haruvektori pikkus. Pärast programmi teksti ja hüppevektori mällu laadimist laadib laadur iga vektoris määratud rutiini. Seejärel annab ta käsu hüpata vektori igasse elemendisse vastava alamprogrammi juurde. Seega viib SQRT alamprogrammi kutsumine hüppekäsu täitmiseni siirdevektori esimesse lahtrisse, mis sisaldab hüppekäsku kutsutud alamprogrammile.

Seda kaheastmelise juhtülekandega laadimisskeemi kasutatakse sageli fikseeritud käsuvormingu ja otsese adresseerimisega arvutites.

Sellel alglaaduril on mitmeid puudusi:

  • üleminekuvektor pole väliste andmete laadimiseks ja salvestamiseks täiesti mugav (asub teises programmisegmendis);
  • üleminekuvektor suurendab objektprogrammi pikkust;
  • Laadija töötab programmisegmentidel, kuid ei hõlbusta juurdepääsu andmesegmentidele, mida võivad jagada mitmed rutiinid.

Alglaaduri otselinkimine

Otse linkiv alglaadur pakub kõige täielikumalt võimalust mällu programme ja andmeid teisaldada ning on praegu kõige levinum. Sellise laadija eeliseks on see, et see võimaldab kasutada suurt hulka nii programmi segmente kui andmesegmente ning annab programmeerijale täieliku vabaduse pääseda juurde teistes segmentides paiknevatele andmetele, võimaldades samas eraldi tõlkimist.

Assembler (tõlkija) peab iga programmi ja andmesegmendiga alglaadurile edastama järgmise teabe:

  1. segmendi pikkus;
  2. kõigi segmendisümbolite loend, millele on juurdepääs muudest segmentidest, ja nende suhtelised aadressid;
  3. kõigi selles segmendis määratlemata sümbolite loend, millele on juurdepääs selles segmendis;
  4. teave aadressikonstantide asukoha kohta segmendis ja kirjeldus selle kohta, kuidas nende väärtused peaksid muutuma;
  5. tõlkimisel saadud masinkoodid ja määratud suhtelised aadressid.

Otselinkimislaaduri üks puudusi selle kõige lihtsamal kujul on see, et iga kord, kui programm käivitatakse, peab see korduvalt täitma mälu eraldamise, teisaldamise, linkimise ja kõigi vajalike alamprogrammide laadimise funktsioone. Neid probleeme saab lahendada laadimisel kahe eraldi programmi abil: kombineerija ja moodullaadur. Kombineerija väljund on andmekogum vormingus, mis võimaldab programmi mällu laadida ja mida nimetatakse laadimismooduliks. Kombinaatoreid on mitut tüüpi. Üks neist on nn lingiredaktor, mis salvestab mällu mooduli teisaldamiseks vajaliku teabe, et moodulit tervikuna saaks seejärel seadistada ja suvalisesse mälukohta laadida. Sel juhul peab mooduli laadija täitma mälu jaotamise ja ümberpaigutamise funktsioone, kuid jääb vabaks keerulisest objektimoodulite ja alamprogrammide sidumise ülesandest.

Dünaamiline laadur

Igas vaadeldavas skeemis eeldati, et kõik vajalikud rutiinid laaditi mällu samaaegselt. Kui rutiinide jaoks vajalik kogu mälumaht on väiksem kui masina vaba mälumaht, tekivad probleemid. Nendest raskustest saab üle dünaamilise laadimisskeemi kasutamisel kombineerija ja laaduri järjestikuse kasutamisega. See skeem põhineb asjaolul, et tavaliselt on erinevatel aegadel vaja erinevaid rutiine ja need võivad üksteist välistada. Määrates selgesõnaliselt, milline alamprogramm sisaldab väljakutseid teistele alamprogrammidele, saate määratleda niinimetatud ülekattestruktuuri, mis määrab üksteist välistavad alamprogrammid.

Laadimismoodul moodustatakse. See on ümberpaigutatav ja sellel peab olema ümberpaigutamise laud. Samuti peab laadimismooduli struktuur sisaldama teavet ühenduste kohta. Laadija peab sisaldama sellist osa nagu ülekattehaldur, see valib alglaadimismoodulitest täpselt need, mis käivituvad, ja korraldab töö käigus vajalike moodulite laadimise OP-sse.

Dünaamiline linkimine

On juhtumeid, kus masina mälu tõhusa kasutamise tagamiseks seotakse alamprogrammid programmi täitmise ajal dünaamiliselt. See tähendab, et alamprogrammid laaditakse mällu ainult nii, nagu neid nimetatakse. See võib olla kasulik, sest... Teatud tingimustel programmis ei pruugi mõnda alamprogrammi üldse vaja minna. Vaatame näidet:

kui (tingimus 1)
alamprogrammi kõne 1
kui (tingimus 2)
alamprogrammi kõne 2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
kui (tingimus m)
kutsu alamprogramm m

Paljud harud jäetakse vahele ja OP-sse pole vaja laadida, näiteks alamprogrammi 2, kui tingimus 2 ei ole täidetud. Sel juhul peab laadija töötama programmiga samaaegselt ja täitma linkimise funktsioone ja alamprogrammide laadimine.

Operatsioonisüsteem on salvestatud välismällu, tavaliselt kõvakettale, harvem disketile. Arvuti normaalseks tööks on vajalik, et operatsioonisüsteemi põhimoodulid oleksid RAM-is. Seetõttu kirjutatakse (laaditakse) pärast arvuti sisselülitamist kettalt automaatselt ümber (laaditakse) RAM-i. Selle laadimise kõige olulisemad aspektid on kajastatud algoritmi kujul joonisel fig. 9.13.

Riis. 9.13. Algoritm operatsioonisüsteemi laadimiseks kettalt RAM-i

Pärast arvuti sisselülitamist vaatate, kuidas numbrid ekraanil muutuvad. Need numbrid kajastavad BIOS-i programmi RAM-i testimise protsessi. Kui RAM-i lahtrites tuvastatakse rike, kuvatakse teade.

Pärast riistvara testimise edukat lõpetamist pääsetakse juurde disketiga A draivile ja selle kõrval süttib märgutuli. Kui laadite operatsioonisüsteemi disketilt, peate enne testimist või testimise ajal sisestama süsteemiketta draivi A. Vastasel juhul, kui kettal A pole operatsioonisüsteemi, pääsetakse kõvakettale juurde, mida näitab indikaator valgus selle kõrval.

Algab alglaaduri asukoha ketta 0. külje 0. sektori RAM-i lugemine (BOOT RECORD). Juhtimine kantakse üle alglaadurile, mis kontrollib IO.SYS laiendusmooduli ja MSDOS.SYS baasmooduli olemasolu süsteemikettal. Kui nad on neile määratud kohas (cm. riis. 9.10), laadib see need RAM-i, vastasel juhul kuvatakse teade nende puudumise kohta. Sel juhul on soovitatav uuesti alla laadida. Taaskäivitussignaal annab juhtimise üle püsivale BIOS-i moodulile, mis jällegi kirjutab alglaadimisploki kettalt RAM-i jne.

Pea meeles! Sest taaskäivitage operatsioonisüsteem vajutage klahve korraga mällu .

Pärast IO.SYS laiendusmooduli ja põhimooduli MSDOS.SYS edukat laadimist RAM-i laaditakse käsuprotsessor COMMAND.COM ja töödeldakse konfiguratsioonifaili CONFIG.SYS, mis sisaldab käske vajalike draiverite ühendamiseks. See fail võib puududa, kui olete operatsioonisüsteemi põhiversiooniga rahul.



Seejärel töödeldakse partiifaili AUTOEXEC.BAT. Selle faili abil saate konfigureerida töökeskkonna parameetreid. Näiteks virtuaalse ketta loomine, printimisrežiimide muutmine, abiprogrammide laadimine jne.

Tähelepanu!.BAT laiendiga failid mängivad süsteemikeskkonnas töötamisel erilist rolli. Need sisaldavad komplekti operatsioonisüsteemi käske või käivitatavate failide nimesid. Pärast .BAT laiendiga faili käivitamist täidetakse kõik sellesse kirjutatud käsud üksteise järel automaatselt.

Fail standardnimega AUTOEXEC.BAT erineb teistest .BAT tüüpi failidest selle poolest, et sinna pandud käskude täitmine algab automaatselt kohe pärast operatsioonisüsteemi alglaadimist.

Kui fail AUTOEXEC.BAT puudub, palutakse teil sisestada kuupäev ja kellaaeg:

kui vajutate sisestusklahvi, aktsepteeritakse praeguse kuupäeva ja kellaajana arvutitaimeri poolt määratud nn süsteemiparameetrid;

Kui soovite süsteemi kuupäeva ja kellaaega lähtestada, sisestage vastuseks viipale väärtused ühte pakutavatest vormidest, näiteks:

25.10.1997 (kuu päev aasta)

7:30:10.00r (tunnid:minutid:sekundid)

Pärast faili AUTOEXEC.BAT käitamise lõpetamist ja kui seda faili ei leita, kuvatakse ekraanil näiteks süsteemiketta viip C:\>. See näitab, et alglaadimisprotsess on normaalselt lõppenud ja saate jätkata, sisestades rakenduse nime või operatsioonisüsteemi käsu.

Märge. Failid CONFIG.SYS ja AUTOEXEC.BAT võivad puududa. Sel juhul seatakse töökeskkonna sätted vaikeväärtustele.

Pea meeles! Kõvaketas peab püsivalt salvestama operatsioonisüsteemi.

Kui lülitate arvuti sisse, peavad kõik disketiseadmed olema avatud.

Rakendusprogrammidega diskett tuleb pärast laadimise lõpetamist draivi sisestada.



MS DOS TÖÖTEHNOLOOGIA

§ Üldine teave käskude kohta

§ Põhilised käsud kataloogidega töötamiseks

§ Põhikäsud failidega töötamiseks

§ Põhikäsud ketastega töötamiseks

§ Pakettfaili loomine ja kasutamine

§ Operatsioonisüsteemi automaatse konfigureerimise käsufail AUTOEXEC.BAT

§ Operatsioonisüsteemi konfigureerimine konfiguratsioonifaili CONFIG.SYS abil

ÜLDTEAVE MEESKONDADE KOHTA

Operatsioonisüsteemi laadimisalgoritm

Operatsioonisüsteem on salvestatud välismällu, tavaliselt kõvakettale, harvem disketile.

Tasub öelda, et arvuti normaalseks tööks on äärmiselt oluline, et operatsioonisüsteemi peamised moodulid oleksid RAM-is. Sel põhjusel pärast arvuti sisselülitamist kirjutatakse (laaditakse) operatsioonisüsteem kettalt automaatselt ümber RAM-i.

- operatsioonisüsteemi ümberkirjutamine kettalt (kõvalt või disketilt) RAM-i.

Pärast arvuti sisselülitamist on ekraanil näha numbrite muutumist. Need numbrid kajastavad RAM-i testimise protsessi BIOS-programmiga. Kui RAM-i lahtrites tuvastatakse rike, kuvatakse teade.

Pärast riistvara testimise edukat lõpetamist pääsetakse juurde disketiga A draivile ja selle kõrval süttib märgutuli. Kui operatsioonisüsteem laaditakse disketilt, peate enne testimist või testimise ajal sisestama süsteemiketta draivi A. Vastasel juhul, kui kettal A pole operatsioonisüsteemi, pääseb kõvakettale juurde, nagu näitab indikaator valgus selle kõrval.

Algab alglaaduri asukoha ketta 0. külje 0. sektori RAM-i lugemine (BOOT RECORD). Juhtimine kantakse üle alglaadurile, mis kontrollib IO.SYS laiendusmooduli ja MSDOS.SYS baasmooduli olemasolu süsteemikettal. Kui need on neile määratud kohas, laadib see need RAM-i, vastasel juhul kuvatakse teade nende puudumise kohta. Sel juhul on soovitatav uuesti alla laadida. Taaskäivitussignaal annab juhtimise üle püsivale BIOS-i moodulile, mis jällegi kirjutab alglaadimisploki kettalt RAM-i jne.

MÄRGE! Sest taaskäivitage operatsioonisüsteem vajutage klahve korraga mällu<Сtгl> <АLT> .

Pärast IO.SYS laiendusmooduli ja põhimooduli MSDOS.SYS edukat laadimist RAM-i laaditakse käsuprotsessor COMMAND.COM ja töödeldakse konfiguratsioonifaili CONFIG.SYS, mis sisaldab käske vajalike draiverite ühendamiseks. See fail võib puududa, kui kasutaja on operatsioonisüsteemi põhiversiooniga rahul.

Seejärel töödeldakse käsufaili AUTOEXEC.BAT. Seda faili kasutatakse töökeskkonna parameetrite konfigureerimiseks. Näiteks luua virtuaalne ketas, muuta printimisrežiime, laadida abiprogramme jne.

Märge!.BAT laiendiga failid mängivad süsteemikeskkonnas töötamisel erilist rolli. Οʜᴎ sisaldavad operatsioonisüsteemi käskude komplekti või käivitatavate failide nimesid. Pärast .BAT laiendiga faili käivitamist täidetakse kõik sellesse kirjutatud käsud üksteise järel automaatselt.

Fail standardnimega AUTOEXEC.BAT erineb teistest .BAT tüüpi failidest selle poolest, et sinna pandud käskude täitmine algab automaatselt kohe pärast operatsioonisüsteemi alglaadimist.

Kui fail AUTOEXEC.BAT puudub, palutakse teil sisestada kuupäev ja kellaaeg:

kui vajutate sisestusklahvi, aktsepteeritakse praeguse kuupäeva ja kellaajana arvutitaimeri poolt määratud nn süsteemiparameetrid;

Kui soovite süsteemi kuupäeva ja kellaaega lähtestada, sisestage vastuseks viipale väärtused ühte pakutavatest vormidest, näiteks:

25.10.1997 (kuu päev aasta)

7:30:10.00r (tunnid: minutid: sekundid)

Pärast faili AUTOEXEC.BAT töö lõpetamist ja ka siis, kui seda faili ei tuvastata, kuvatakse ekraanil näiteks süsteemiketta viip C:\>. See näitab, et alglaadimisprotsess on normaalselt lõppenud ja võite alustada tööd, sisestades rakendusprogrammi või operatsioonisüsteemi käsu nime.

Märge. Failid CONFIG.SYS ja AUTOEXEC.BAT võivad puududa. Sel juhul seatakse töökeskkonna sätted vaikeväärtustele.

Pea meeles!Äärmiselt oluline on tagada, et operatsioonisüsteem oleks püsivalt kõvakettale salvestatud. Kui lülitate arvuti sisse, peavad kõik disketiseadmed olema avatud.

Pärast allalaadimise lõpetamist peate draivi sisestama rakendusprogrammidega disketi.

Programmi poolt testitud

Laadige Koormust pole

painduval kõval nr

ketta ketas

Lugemine disketilt Loe. žestiga kettale

IO.SYS, MSDOS.SYS alglaadimissektoris"

Laadige Sõnumit pole

õige? "Süsteemifaile pole"

Käsk. Com "Süsteemifaile pole"

ja faili CONFIG.SYS