Algoritmi käyttöjärjestelmän lataamiseksi on seuraava. Käyttöjärjestelmän latausalgoritmi. Compile-run kuormaajat

Käynnistyslatain on järjestelmäohjelma, joka suorittaa käynnistyksen. Monet kuormaajat tarjoavat myös liikkeen ja yhdistämisen. Jotkut järjestelmät erottavat linkitystoiminnon siirto- ja lataustoiminnoista. Linkittäminen suoritetaan erityisellä linkitysohjelmalla (tai linkkieditorilla), siirtäminen ja lataaminen lataajalla.

Linkittäminen on kahden tai useamman erillisen käännetyn ohjelman linkittämistä.

Uudelleensijoittaminen on objektiohjelman muokkausta siten, että se voidaan ladata eri osoitteesta kuin alkuperäinen.

Bootloaderin toiminnot:

  1. OP-jakelu;
  2. ohjelman siirtäminen;
  3. moduulien yhdistäminen;

OP-jakelu

Ohjelman siirtäminen

Jos moduulien sisällä on osoitevakioita, jotka lasketaan moduulin alusta alkaen, osoitteet säädetään suhteessa Base:iin.

Moduulien linkittäminen

Käynnistyslatainten tyypit

Compile-run kuormaajat

Yksi mahdollisista tavoista suorittaa lataustoiminto voi olla kokoajan työn organisointi siten, että yhdessä muistin osassa työskentelevä assembler sijoittaa koneen käskyt ja tiedot koottuna suoraan varattuihin muistisoluihin. heille. Kun käännös on valmis, kokoaja siirtää ohjauksen tuloksena olevan ohjelman aloituspisteeseen. Tämä on hyvin yksinkertainen ratkaisu, jonka avulla voit tehdä ilman lisätoimenpiteitä. Tätä menetelmää kutsutaan "kääntä-suorita", ja "loader" koostuu yhdestä käskystä, joka siirtää ohjauksen koottuun ohjelmaan.

Absoluuttiset kuormaajat on helppo toteuttaa, mutta niissä on useita ominaisuuksia:

  • ohjelmoija suorittaa OP:n jakelutehtävän (käyttäen ohjetta OP:n alkuarvon asettamiseen);
  • kääntäjä suorittaa ohjelman siirtämisen;
  • moduulien linkittäminen - ohjelmoijan päättämä (soita 600);
  • ohjelmien lataaminen OP:hen ja käynnistäminen suoritettavaksi.

Edut:

  • pienempi käynnistyslataimen koko (muistin koko);
  • käännös- ja latausvaiheiden erottaminen, mikä vähentää moduulien käsittelyaikaa;
  • kyky käyttää useita ohjelmointikieliä, koska luotujen objektimoduulien rakenteet ovat identtiset.

Virheet:

Suuri määrä työtä jää ohjelmoijalle. Aloitusosoitteiden muutoksia on seurattava jatkuvasti moduuleja muokattaessa, koska niiden pituus muuttuu.

Absolute Loader Object File Structure

Tietotietue koostuu:

  1. merkki;
  2. OP:n absoluuttinen osoite, johon tietoja voidaan siirtää;
  3. viestin tietotavujen määrä;
  4. tavua tietoa;
  5. tarkistussummat;
  6. numerointi.

Valvontatietue koostuu:

  1. merkki;
  2. sisääntulopisteen osoite.

Yksinkertainen absoluuttinen kuormaaja toimii:

  1. Tarkista, onko tälle ohjelmalle tarpeeksi muistia (ensimmäisen tietueen katselu).
  2. Ohjelman rungon peräkkäinen lukeminen ja sijoittaminen määritettyyn osoitteeseen.
  3. Ohjauksen siirto osoitteeseen ohjelman suorittamista varten.

Viritys käynnistyslatain

Jotta kaikkia aliohjelmia ei tarvitsisi koota uudelleen, kun johonkin niistä tehdään muutos, ja myös ohjelmoijan vapauttamiseksi muistin varaamisen ja aliohjelmien viestinnän tehtävistä, kehitettiin ns. Tämän käynnistyslataimen avulla ohjelmassa voi olla useita ohjelmasegmenttejä ja yksi datasegmentti (yhteinen segmentti). Kokoonpanija kääntää jokaisen segmentin erikseen ja toimittaa lataajalle tekstiä ja tietoa segmenttien välisistä liikkeistä ja ristiviittauksista.

Kokoonpanijan tulos tällä mallilla on objektiohjelma ja tiedot kaikista muista ohjelmista, joihin tässä ohjelmassa on kutsuja. Lisäksi on tietoa niistä paikoista, jotka on vaihdettava lastauksen aikana (liiketiedot), esim. soluista, joiden sisältö riippuu ohjelman sijainnista muistissa.

Kullekin lähdeohjelmalle kokoaja tuottaa tekstin (käännöstuloksen) tulostiedoksi, jota edeltää siirtymävektori, joka sisältää lähdeohjelmassa käytettävien aliohjelmien nimien osoitteet. Jos esimerkiksi SQRT-rutiini on ensimmäinen rutiini, jota kutsutaan, hyppyvektorin ensimmäinen solu sisältää symbolisen nimen SQRT. Lausekkeet, jotka sisältävät kutsun SQRT-rutiiniin, muunnetaan hyppykäskyksi, joka osoittaa SQRT:hen liittyvän haaravektorielementin osoitteen. Kokoonpanija välittää myös lisätietoa, kuten ohjelman kokonaispituuden ja haaravektorin pituuden. Kun ohjelmateksti ja hyppyvektori on ladattu muistiin, lataaja lataa jokaisen vektorissa määritellyn rutiinin. Sitten hän antaa komennon hypätä vastaavaan aliohjelmaan vektorin jokaisessa elementissä. Siten SQRT-alirutiinin kutsuminen johtaa hyppykomennon suorittamiseen siirtymävektorin ensimmäiseen soluun, joka sisältää hyppykomennon kutsuttuun alirutiiniin.

Tätä kaksivaiheista ohjaussiirtoa sisältävää latausjärjestelmää käytetään usein tietokoneissa, joissa on kiinteä käskymuoto ja suora osoite.

Tällä käynnistyslataimella on useita haittoja:

  • siirtymävektori ei ole täysin kätevä ulkoisen tiedon lataamiseen ja tallentamiseen (sijaitsee toisessa ohjelmasegmentissä);
  • siirtymävektori lisää kohdeohjelman pituutta;
  • Lataaja toimii ohjelmasegmenteillä, mutta ei helpota pääsyä datasegmentteihin, jotka voivat olla jaettuja useiden rutiinien kesken.

Suora linkki käynnistyslatain

Suoraan linkittävä käynnistyslatain tarjoaa täydellisimmin mahdollisuuden siirtää ohjelmia ja tietoja muistissa ja on tällä hetkellä yleisin. Tällaisella latauslaitteella on se etu, että se mahdollistaa suuren määrän sekä ohjelmasegmenttien että datasegmenttien käytön ja antaa ohjelmoijalle täydellisen vapauden päästä käsiksi muissa segmenteissä sijaitseviin tietoihin samalla kun se mahdollistaa erillisen kääntämisen.

Kokoajan (kääntäjän) on välitettävä seuraavat tiedot käynnistyslataimelle jokaisen ohjelman ja datasegmentin kanssa:

  1. segmentin pituus;
  2. luettelo kaikista segmenttisymboleista, joita voidaan käyttää muista segmenteistä, ja niiden suhteelliset osoitteet;
  3. luettelo kaikista symboleista, joita ei ole määritelty tässä segmentissä ja joita käytetään tässä segmentissä;
  4. tiedot osoitevakioiden sijainnista segmentissä ja kuvaus siitä, kuinka niiden arvojen tulisi muuttua;
  5. käännöksestä johtuvat konekoodit ja osoitetut suhteelliset osoitteet.

Yksi suoran linkityslataimen haitoista sen yksinkertaisimmassa muodossa on, että joka kerta kun ohjelma suoritetaan, on tarpeen suorittaa toistuvasti muistin varaamisen, siirron, linkityksen ja kaikkien tarvittavien aliohjelmien lataamisen toiminnot. Nämä ongelmat voidaan ratkaista suorittamalla lataus kahdella erillisellä ohjelmalla: yhdistäjällä ja moduulilataajalla. Yhdistimen lähtö on tietojoukko muodossa, joka mahdollistaa ohjelman lataamisen muistiin, ja sitä kutsutaan latausmoduuliksi. Yhdistelmiä on useita tyyppejä. Yksi niistä on ns. linkkieditori, joka tallentaa moduulin siirtämiseen tarvittavat tiedot muistiin, jotta moduuli kokonaisuudessaan voidaan sitten konfiguroida ja ladata mielivaltaiseen muistipaikkaan. Tässä tapauksessa moduulilataajan on suoritettava muistin varaus- ja uudelleensijoitustoiminnot, mutta se pysyy vapaana monimutkaisesta tehtävästä linkittää objektimoduulit ja aliohjelmat.

Dynaaminen kuormaaja

Jokaisessa tarkastelussa oletettiin, että kaikki tarvittavat rutiinit ladattiin muistiin samanaikaisesti. Jos rutiinien vaatima muistin kokonaismäärä on pienempi kuin laitteen käytettävissä oleva muisti, syntyy ongelmia. Nämä vaikeudet voidaan voittaa käyttämällä dynaamista latausjärjestelmää, jossa käytetään peräkkäistä yhdistäjää ja kuormaajaa. Tämä järjestelmä perustuu siihen tosiasiaan, että yleensä tarvitaan erilaisia ​​rutiineja eri aikoina ja ne voivat olla toisensa poissulkevia. Määrittämällä tarkasti, mikä aliohjelma sisältää kutsuja muille aliohjelmille, voit määrittää ns. peittorakenteen, joka määrittää toisensa poissulkevat aliohjelmat.

Latausmoduuli luodaan. Se on siirrettävissä ja siinä on oltava siirtopöytä. Myös latausmoduulin rakenteen tulee sisältää tiedot yhteyksistä. Lataajan on sisällettävä tällainen osa overlay managerina, se valitsee käynnistysmoduuleista juuri ne, jotka alkavat, ja työskentelyn aikana järjestää tarvittavien moduulien lataamisen OP:hen.

Dynaaminen linkitys

On tapauksia, joissa koneen muistin tehokkaan käytön varmistamiseksi aliohjelmat linkitetään dynaamisesti ohjelman suorittamisen aikana. Eli aliohjelmat ladataan muistiin vain sellaisina kuin niitä kutsutaan. Tästä voi olla hyötyä, koska... Tietyissä ohjelman olosuhteissa joitain aliohjelmia ei ehkä tarvita ollenkaan. Katsotaanpa esimerkkiä:

jos (ehto 1)
aliohjelman kutsu 1
jos (ehto 2)
aliohjelman kutsu 2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
jos (ehto m)
kutsu aliohjelma m

Monet haarat ohitetaan, eikä esimerkiksi aliohjelmaa 2 tarvitse ladata, jos ehto 2 ei täyty. Tässä tapauksessa lataajan on toimittava samanaikaisesti ohjelman kanssa ja suoritettava linkitystoiminnot ja aliohjelmien lataus.

Käyttöjärjestelmä on tallennettu ulkoiseen muistiin, yleensä kiintolevylle, harvemmin levykkeelle. Tietokoneen normaalia toimintaa varten on välttämätöntä, että käyttöjärjestelmän päämoduulit ovat RAM-muistissa. Siksi tietokoneen käynnistämisen jälkeen käyttöjärjestelmä kirjoitetaan (ladataan) automaattisesti uudelleen levyltä RAM-muistiin. Tämän latauksen tärkeimmät näkökohdat on kuvattu algoritmin muodossa kuvassa 1. 9.13.

Riisi. 9.13. Algoritmi käyttöjärjestelmän lataamiseksi levyltä RAM-muistiin

Kun olet käynnistänyt tietokoneen, näet numeroiden muuttuvan näytöllä. Nämä luvut kuvastavat BIOS-ohjelman suorittamaa RAM-muistin testausprosessia. Jos RAM-soluissa havaitaan vika, näyttöön tulee viesti.

Kun laitteistotestaus on suoritettu onnistuneesti, levyke A:lla varustettua asemaa käytetään, ja sen vieressä oleva merkkivalo syttyy. Jos lataat käyttöjärjestelmää levykkeeltä, sinun on ennen testausta tai testauksen aikana asetettava järjestelmälevy asemaan A. Muussa tapauksessa, jos levyllä A ei ole käyttöjärjestelmää, kiintolevyä käytetään, mistä ilmaisin osoittaa. valo sen vieressä.

Lukeminen levyn 0:nnen puolen 0:nnen sektorin RAM-muistiin, jossa käynnistyslatain sijaitsee (BOOT RECORD), alkaa. Ohjaus siirretään käynnistyslataimelle, joka tarkistaa IO.SYS-laajennusmoduulin ja MSDOS.SYS-perusmoduulin olemassaolon järjestelmälevyllä. Jos he ovat niille osoitetussa paikassa (cm. riisi. 9.10), sitten se lataa ne RAM-muistiin, muuten näyttöön tulee viesti heidän poissaolostaan. Tässä tapauksessa on suositeltavaa ladata uudelleen. Uudelleenkäynnistyssignaali siirtää ohjauksen pysyvälle BIOS-moduulille, joka taas kirjoittaa käynnistyslohkon levyltä RAM-muistiin jne.

Muistaa! varten käynnistä käyttöjärjestelmä uudelleen paina näppäimiä samanaikaisesti muistiin .

Kun IO.SYS-laajennusmoduuli ja MSDOS.SYS-perusmoduuli on ladattu RAM-muistiin, ladataan COMMAND.COM-komentoprosessori ja käsitellään CONFIG.SYS-määritystiedosto, joka sisältää komennot tarvittavien ajurien yhdistämiseksi. Tämä tiedosto saattaa puuttua, jos olet tyytyväinen käyttöjärjestelmän perusversioon.



Erätiedosto AUTOEXEC.BAT käsitellään sitten. Tämän tiedoston avulla voit määrittää käyttöympäristön parametrit. Voit esimerkiksi luoda virtuaalilevyn, muuttaa tulostustiloja, ladata apuohjelmia jne.

Huomio!.BAT-laajennuksella varustetut tiedostot ovat erityisen tärkeitä järjestelmäympäristössä työskennellessä. Ne sisältävät joukon käyttöjärjestelmän komentoja tai suoritettavien tiedostojen nimiä. Kun .BAT-tunnisteella varustettu tiedosto on suoritettu, kaikki siihen kirjoitetut komennot suoritetaan automaattisesti peräkkäin.

Tiedosto, jolla on vakionimi AUTOEXEC.BAT, eroaa muista .BAT-tyyppisistä tiedostoista siinä, että siihen asetettujen komentojen suorittaminen alkaa automaattisesti heti käyttöjärjestelmän käynnistyksen jälkeen.

Jos AUTOEXEC.BAT-tiedosto puuttuu, sinua pyydetään syöttämään päivämäärä ja aika:

jos painat enter-näppäintä, tietokoneen ajastimen määrittämät ns. järjestelmäparametrit hyväksytään nykyiseksi päivämääräksi ja kelloksi;

Jos haluat nollata järjestelmän päivämäärän ja kellonajan, kirjoita vastauksena kehotteeseen arvot johonkin tarjotuista lomakkeista, esimerkiksi:

25.10.1997 (kuukausi päivä vuosi)

7:30:10.00r (tunnit:minuutit:sekunnit)

Kun AUTOEXEC.BAT-tiedosto on suoritettu loppuun ja jos tätä tiedostoa ei löydy, näyttöön tulee järjestelmälevykehote, esimerkiksi C:\>. Tämä osoittaa, että käynnistysprosessi on päättynyt normaalisti ja voit aloittaa työskentelyn kirjoittamalla sovelluksen nimen tai käyttöjärjestelmän komennon.

Huom. CONFIG.SYS- ja AUTOEXEC.BAT-tiedostot saattavat puuttua. Tässä tapauksessa käyttöympäristön asetukset asetetaan oletusarvoiksi.

Muistaa! Kiintolevyä on käytettävä käyttöjärjestelmän pysyvään tallentamiseen.

Kun käynnistät tietokoneen, kaikkien levykeasemien on oltava auki.

Levyke sovellusohjelmineen on asetettava asemaan, kun lataus on valmis.



MS DOS:SSA TYÖSKENTELY

§ Komennot Yleiskatsaus

§ Peruskomennot hakemistojen kanssa työskentelemiseen

§ Peruskomennot tiedostojen käsittelyyn

§ Peruskomennot levyjen kanssa työskentelemiseen

§ Erätiedoston luominen ja käyttäminen

§ Käyttöjärjestelmän automaattisen virityksen komentotiedosto AUTOEXEC.BAT

§ Käyttöjärjestelmän konfigurointi CONFIG.SYS-määritystiedoston avulla

YLEISTIETOA TIIMISTA

Käyttöjärjestelmän latausalgoritmi

Käyttöjärjestelmä on tallennettu ulkoiseen muistiin, yleensä kiintolevylle, harvemmin levykkeelle.

On syytä sanoa, että tietokoneen normaalin toiminnan kannalta on erittäin tärkeää, että käyttöjärjestelmän päämoduulit ovat RAM-muistissa. Tästä syystä tietokoneen käynnistämisen jälkeen käyttöjärjestelmä kirjoitetaan (ladataan) automaattisesti uudelleen levyltä RAM-muistiin.

- käyttöjärjestelmän uudelleenkirjoittaminen levyltä (kiintolevyltä tai levykkeeltä) RAM-muistiin.

Kun tietokone on käynnistetty, näytöllä näkyy muutos numeroissa. Nämä luvut kuvastavat RAM-muistin testausprosessia BIOS-ohjelmalla. Jos RAM-soluissa havaitaan vika, näyttöön tulee viesti.

Kun laitteistotestaus on suoritettu onnistuneesti, levyke A:lla varustettua asemaa käytetään, ja sen vieressä oleva merkkivalo syttyy. Jos käyttöjärjestelmä ladataan levykkeeltä, sinun on asetettava järjestelmälevy asemaan A ennen testausta tai sen aikana. Muussa tapauksessa, jos levyllä A ei ole käyttöjärjestelmää, kiintolevyä käytetään, mikä osoittaa ilmaisimen valo sen vieressä.

Lukeminen levyn 0:nnen puolen 0:nnen sektorin RAM-muistiin, jossa käynnistyslatain sijaitsee (BOOT RECORD), alkaa. Ohjaus siirretään käynnistyslataimelle, joka tarkistaa IO.SYS-laajennusmoduulin ja MSDOS.SYS-perusmoduulin olemassaolon järjestelmälevyllä. Jos ne ovat niille varatussa paikassa, se lataa ne RAM-muistiin, muuten näytetään viesti heidän poissaolostaan. Tässä tapauksessa on suositeltavaa ladata uudelleen. Uudelleenkäynnistyssignaali siirtää ohjauksen pysyvälle BIOS-moduulille, joka taas kirjoittaa käynnistyslohkon levyltä RAM-muistiin jne.

HUOM! varten käynnistä käyttöjärjestelmä uudelleen paina näppäimiä samanaikaisesti muistiin<Сtгl> <АLT> .

Kun IO.SYS-laajennusmoduuli ja MSDOS.SYS-perusmoduuli on ladattu RAM-muistiin, ladataan COMMAND.COM-komentoprosessori ja käsitellään CONFIG.SYS-määritystiedosto, joka sisältää komennot tarvittavien ajurien yhdistämiseksi. Tämä tiedosto saattaa puuttua, jos käyttäjä on tyytyväinen käyttöjärjestelmän perusversioon.

Sitten komentotiedosto AUTOEXEC.BAT käsitellään. Tätä tiedostoa käytetään käyttöympäristön parametrien määrittämiseen. Voit esimerkiksi luoda virtuaalilevyn, muuttaa tulostustiloja, ladata apuohjelmia jne.

Huom!.BAT-laajennuksella varustetut tiedostot ovat erityisen tärkeitä järjestelmäympäristössä työskennellessä. Οʜᴎ sisältävät joukon käyttöjärjestelmän komentoja tai suoritettavien tiedostojen nimiä. Kun tiedosto on käynnistetty .BAT-tunnisteella, kaikki siihen kirjoitetut komennot suoritetaan automaattisesti peräkkäin.

Tiedosto, jolla on vakionimi AUTOEXEC.BAT, eroaa muista .BAT-tyyppisistä tiedostoista siinä, että siihen asetettujen komentojen suorittaminen alkaa automaattisesti heti käyttöjärjestelmän käynnistyksen jälkeen.

Jos AUTOEXEC.BAT-tiedosto puuttuu, sinua pyydetään syöttämään päivämäärä ja aika:

jos painat enter-näppäintä, tietokoneen ajastimen määrittämät ns. järjestelmäparametrit hyväksytään nykyiseksi päivämääräksi ja kelloksi;

Jos haluat nollata järjestelmän päivämäärän ja kellonajan, kirjoita vastauksena kehotteeseen arvot johonkin tarjotuista lomakkeista, esimerkiksi:

25.10.1997 (kuukausi päivä vuosi)

7:30:10.00r (tunnit: minuutit: sekuntia)

Kun AUTOEXEC.BAT-tiedosto on lopettanut toiminnan ja myös jos tätä tiedostoa ei havaita, näyttöön tulee järjestelmälevykehote, esimerkiksi C:\>. Tämä osoittaa, että käynnistysprosessi on päättynyt normaalisti ja voit aloittaa työskentelyn kirjoittamalla sovellusohjelman tai käyttöjärjestelmän komennon nimen.

Huom. CONFIG.SYS- ja AUTOEXEC.BAT-tiedostot saattavat puuttua. Tässä tapauksessa käyttöympäristön asetukset asetetaan oletusarvoiksi.

Muistaa! On erittäin tärkeää varmistaa, että käyttöjärjestelmä on pysyvästi tallennettu kiintolevylle. Kun käynnistät tietokoneen, kaikkien levykeasemien on oltava auki.

Sinun on asetettava levyke sovellusohjelmineen asemaan, kun lataus on valmis.

Ohjelman testaama

Ladata Ei kuormaa

joustavalla kovalla nro

levylevy

Lukeminen levykkeeltä Lue. eleellä levy

IO.SYS, MSDOS.SYS käynnistyssektorissa"

Ladata Ei viestiä

korjata? "Ei järjestelmätiedostoja"

Komento. Com "Ei järjestelmätiedostoja"

ja CONFIG.SYS-tiedosto