számos különböző módszer áll rendelkezésre egy rövid kezdeti program számítógépre történő betöltésére. Ezek a módszerek az egyszerű, fizikai bemenetről a cserélhető adathordozóra jutnak, amely összetettebb programokat képes tárolni.
pre integrated-circuit-ROM examplesEdit
Early computersEdit
a korai számítógépek az 1940-es és 1950-es években voltak egy-az-egy-fajta mérnöki erőfeszítéseket, amelyek hetekig program és program betöltése volt az egyik a sok probléma, hogy meg kellett oldani. Egy korai számítógépnek, az ENIAC – nak nem volt memóriában tárolt programja, de minden problémára az összekapcsoló kábelek konfigurálásával hozták létre. A Bootstrapping nem vonatkozik az ENIAC-ra, amelynek hardverkonfigurációja készen állt a problémák megoldására, amint az energiát alkalmazták.
az EDSAC rendszer, a második tárolandó program számítógép épül, használt léptető kapcsolók át egy fix programot a memóriába, amikor a start gombot megnyomták. Az ezen az eszközön tárolt program, amelyet David Wheeler 1948 végén készített, további utasításokat töltött be a lyukasztott szalagról, majd végrehajtotta őket.
első kereskedelmi számítógépekszerkesztés
az első kereskedelmi értékesítésre szánt programozható számítógépek, például az UNIVAC I és az IBM 701 olyan funkciókat tartalmaztak, amelyek egyszerűbbé tették működésüket. Általában olyan utasításokat tartalmaztak, amelyek teljes bemeneti vagy kimeneti műveletet hajtottak végre. Ugyanez a hardver logika lehet használni, hogy betöltse a tartalmát egy lyukasztó kártya (a legjellemzőbb is), vagy más bemeneti adathordozók, mint például a mágneses dob vagy mágnesszalag, amely tartalmazott egy bootstrap program egyetlen gomb megnyomásával. Ezt a rendszerindítási koncepciót az 1950-es évek elején és az 1960-as évek elején az IBM számítógépek számára különféle neveknek hívták, de az IBM a “kezdeti Programterhelés” kifejezést használta az IBM 7030 szakaszon, majd később a mainframe vonalaikhoz használta, kezdve a System/360-val 1964-ben.
Az IBM 701 számítógép (1952-1956) volt egy “Betöltése” gombra, hogy kezdeményezte az olvasás, az első 36 bites szót a fő memóriát, egy ütött-kártyát a kártyaolvasó, egy mágneses szalagot egy szalagos meghajtó, vagy egy mágneses dob egység, attól függően, hogy a helyzet a Terhelés Választókapcsoló. A bal 18 bites félszót ezután utasításként hajtották végre, amely általában további szavakat olvas a memóriába. Ezután végrehajtották a betöltött rendszerindító programot, amely viszont egy nagyobb programot töltött be ebből a közegből a memóriába az emberi operátor további segítsége nélkül. A “boot” kifejezést ebben az értelemben legalább 1958 óta használják.
az adott korszak más IBM számítógépei hasonló tulajdonságokkal rendelkeztek. Például az IBM 1401 rendszer (c. 1958) kártyaolvasót használt EGY program betöltéséhez egy lyukasztott kártyáról. A lyukasztott kártyán tárolt 80 karaktert a 001-080 memóriahelyekre olvasták, majd a számítógép a 001 memória helyére ágazott, hogy elolvassa az első tárolt utasításokat. Ez az utasítás mindig ugyanaz volt: mozgassa az információkat ezen az első 80 memóriahelyen egy összeszerelési területre, ahol a lyukasztott kártyák 2, 3, 4 stb. Miután ezt az információt áthelyezték az összeszerelési területre, a gép egy 080-as helyre (olvassa el a kártyát), a következő kártyát pedig elolvassa, és feldolgozza az információkat.
egy Másik példa az IBM 650 (1953), a tizedes gép, amely egy csoport tíz 10-állásba kapcsol, a kezelő panel, amelyek címezhető, mint egy memória-szó (cím 8000), s kivégzik, mint egy utasítás. Így beállítása automatikusan 7004000400, majd nyomja meg a megfelelő gombot volna olvasni az első kártyát a kártyaolvasó memória (op kód 70) kezdve a cím 400 majd ugrás 400 kezdődik végrehajtó a program, hogy a kártya.
az IBM versenytársai egygombos programterhelést is felajánlottak.
- A CDC 6600 (KR. 1964) volt egy halott Start panel 144 váltókapcsolóval; a dead start kapcsoló 12 szót írt be a váltókapcsolókról a perifériás processzor (PP) 0 memóriájába, és elindította a terhelési sorrendet. A PP 0 betöltötte a szükséges kódot a saját memóriájába, majd inicializálta a többi PPs-t.
- A GE 645 (1965. c.) rendelkezik egy “SYSTEM BOOTLOAD” gombbal, amely megnyomásakor az egyik I / O vezérlő 64 word programot töltött be a memóriába egy csak olvasható dióda memóriából, és megszakítást adott, hogy a program elinduljon.
- Az első modell a PDP-10-es volt egy “OLVASNI” gomb megnyomásával állítsa vissza a processzor pedig elkezdődött egy i/O művelet a készülék által megadott bekapcsolja a vezérlő panel, olvasás, 36 bites szó, amely egy cél cím gróf, a későbbi szót olvas; ha a olvassa el a kitöltött, a processzor kezdett végrehajtó a kódot olvassa el az ugrás az utolsó szót olvastam.
ennek figyelemre méltó változata megtalálható a B1700 Burroughs-on, ahol nincs sem bootstrap ROM, sem vezetékes IPL művelet. Ehelyett a rendszer alaphelyzetbe állítása után az előlapra szerelt szalagos meghajtóról egymás után beolvassa és végrehajtja az opkódokat; ez egy RAM-ban indító betöltőt állít be, amelyet ezután végrehajtanak. Mivel azonban ez kevés feltételezést tesz a rendszerrel kapcsolatban, ugyanolyan jól használható diagnosztikai (karbantartási teszt rutin) szalagok betöltésére, amelyek érthető kódot jelenítenek meg az előlapon, még a CPU súlyos meghibásodása esetén is.
IBM System/360 és successorsEdit
az IBM System/360 és utódai, beleértve a jelenlegi z/Architecture gépeket, a rendszerindítási folyamat az úgynevezett kezdeti Programterhelés (IPL).
az IBM ezt a kifejezést a 7030 (Stretch) kifejezésre alkotta meg, a rendszer/360 tervezéséhez újjáélesztette, és ma is használja ezeket a környezeteket. A System / 360 processzorokban az IPL-t a számítógép üzemeltetője a három hexadecimális számjegyű eszközcím (CUU; C=I/O Csatornacím, UU=vezérlőegység és Eszközcím) kiválasztásával, majd a betöltés gomb megnyomásával kezdeményezi. A high end System / 360 modelleken, a legtöbb System / 370-en és néhány későbbi rendszeren a kapcsolók és a betöltés gomb funkcióit a grafikus konzol képernyőjén választható területek segítségével szimulálják, gyakran egy IBM 2250-szerű eszköz vagy egy IBM 3270-szerű eszköz. Például a System / 370 158 modellen a 0-7-X billentyűsor (nulla, hét és X, ebben a sorrendben) IPL-t eredményez az eszköz címéből, amelyet a beviteli területre rögzítettek. Az Amdahl 470V / 6 és a kapcsolódó CPU-k négy hexadecimális számjegyet támogattak azokon a CPU-kon, amelyek az opcionális második csatornás egységet telepítették, összesen 32 csatornára. Később az IBM több mint 16 csatornát támogatna.
a rendszer / 360 IPL funkciója és utódai, valamint kompatibilitása, mint például az Amdahl-é, 24 bájtot olvas egy operátor által megadott eszközről a fő tárolóba, a valós nulla címtől kezdve. A második, majd a harmadik csoport nyolc byte kezelik, mint a Csatorna Parancs Szavakat (CCWs), hogy továbbra is betöltése a startup program (az első CCW mindig szimulált által a CPU, mind áll, Olvassa el IPL parancs, 02h, a parancs láncolás, illetve elnyomja a helytelen hossza jelzés, hogy érvényesíteni). Ha az i/O csatorna parancsok teljes, az első csoport nyolc byte, akkor töltődik be a feldolgozó Program Status Word (PSW), valamint az indítási program kezdődik a kivégzés helyén által kijelölt PSW. Az IPL eszköz általában lemezmeghajtó, ezért a 02H olvasási típusú parancs különleges jelentősége, de pontosan ugyanazt az eljárást alkalmazzák az IPL-re más bemeneti típusú eszközökről, például szalagmeghajtókról vagy akár kártyaolvasókról is, eszközfüggetlen módon, lehetővé téve például egy operációs rendszer telepítését egy vadonatúj számítógépre egy operációs rendszer kezdeti elosztási mágnesszalagjáról. A lemez vezérlő, a 02h parancs is okoz a kiválasztott eszköz törekszik arra, hogy a henger 0000h, fejét 0000h, szimulálva egy Kérjen henger, fejét parancs, 07h, valamint kereséséhez rekord 01h, szimulálva egy Keresési ID Egyenlő parancs, 31h; keres, a keresés nem szimulált által szalag, kártya szabályozók, mint ezeknek a készülék osztályok egy 02h parancs egyszerűen egy szekvenciális olvasási parancs, nem Olvastam IPL parancsot.
A lemez, szalag vagy kártya pakli tartalmaznia kell egy speciális program betöltése a tényleges operációs rendszer vagy önálló közmű a fő tároló, valamint a külön erre a célra “IPL Szöveg” kerül a lemez, az önálló DASDI (Direct Access Storage Device Inicializálás) programot, vagy azzal egyenértékű futó program alatt egy operációs rendszer, pl., ICKDSF, de IPL-képes felvételeket, valamint kártya pakli általában elosztott ezzel a “IPL Szöveg” már jelen van.
MinicomputersEdit
Minicomputers, kezdve a digitális berendezések Corporation (Dec) PDP-5 és PDP-8 (1965) egyszerűsített tervezés segítségével a CPU, hogy segítse a bemeneti és kimeneti műveletek. Ez megtakarította a költségeket, de a rendszerindítást bonyolultabbá tette, mint egyetlen gomb megnyomása. Minicomputers általában volt valamilyen módon válthat rövid programok manipulálásával egy sor kapcsolók az előlapon. Mivel a korai miniszámítógépek mágneses magmemóriát használtak, amely nem veszítette el információit, amikor a tápellátás ki volt kapcsolva, ezek a bootstrap rakodók a helyükön maradnak, hacsak nem törlik őket. A Törlés néha véletlenül történt, amikor egy programhiba olyan hurkot okozott, amely túlterhelte az összes memóriát.
más miniszámítógépek ilyen egyszerű indítási forma közé Hewlett-Packard HP 2100 sorozat (1960-as évek közepén), az eredeti adatok általános Nova (1969), DEC PDP-11 (1970).
DEC később hozzáadott egy opcionális diódamátrix csak olvasható memóriát a PDP – 11 tárolt bootstrap program legfeljebb 32 szó (64 bájt). Ez egy nyomtatott áramköri kártyából, az M792-ből állt, amely az Unibusba dugva 32 x 16 sorozatú félvezető diódákat tartott. Az összes 512 dióda a helyén, a memória tartalmazta az összes” egy “BiT; a kártyát úgy programozták, hogy levágta minden dióda, amelynek bit volt, hogy “nulla”. DEC is eladott változata a kártya, a BM792-Yx sorozat, előre programozott számos szabványos bemeneti eszközök egyszerűen kihagyva a szükségtelen diódák.
a régebbi megközelítést követve a korábbi PDP-1-nek van egy hardverbetöltője, így az operátornak csak a “betöltés” kapcsolót kell megnyomnia, hogy utasítsa a papírszalagolvasót, hogy egy programot közvetlenül a magmemóriába töltsön be. Az adatok általános Supernova használt előlap kapcsolók hatására a számítógép automatikusan betölteni utasításokat a memóriába egy eszköz által meghatározott előlap adatkapcsolók, majd ugorj betöltött kód; A Nova 800 és 1200 volt egy kapcsoló, amely betöltötte a programot a fő memória egy speciális csak olvasható memória, és ugrott rá.
Early minicomputer boot loader examplesEdit
egy minicomputer egy papírszalagolvasó, az első program fut a boot folyamat, a boot loader, lenne olvasni a core Memória vagy a második szakaszban boot loader (gyakran nevezik bináris Loader), amely képes olvasni papírszalag checksum vagy az operációs rendszer egy külső adathordozón. Pseudocode a boot loader lehet olyan egyszerű, mint a következő nyolc utasítást:
- Állítsa be a P nyilvántartás 9
- Ellenőrizze a papír szalag olvasó kész
- Ha nem áll készen, ugrás 2
- Olvastam egy byte a papír szalag olvasó, hogy az akkumulátor
- Áruház akkumulátor kezelése a P nyilvántartás
- Ha a kazetta vége, ugrás 9
- a Növekmény P nyilvántartás
- Ugrás 2
A kapcsolódó példa alapján egy loader egy Nicolet Eszköz Corporation minicomputer az 1970-es években, használja a papír szalag olvasó-lyukasztó egység egy Telex Modell 33 ASR telex. A második fokozatú rakodó bájtjait fordított sorrendben olvassa el a papírszalagból.
- Állítsa be a P nyilvántartás 106
- Ellenőrizze a papír szalag olvasó kész
- Ha nem áll készen, ugrás 2
- Olvastam egy byte a papír szalag olvasó, hogy az akkumulátor
- Áruház akkumulátor kezelése a P nyilvántartás
- Csökkentése a P nyilvántartás
- Ugrás 2
a hossza A második szakaszban loader olyan, hogy az utolsó byte felülírja elhelyezkedés 7. A location 6 utasítás végrehajtása után a location 7 elindítja a második szakasz betöltő végrehajtását. A második szakasz betöltője ezután várja az operációs rendszert tartalmazó sokkal hosszabb szalagot a szalagolvasóba. A különbség a boot loader és a második szakaszban loader hozzáadása ellenőrző kód csapdába papírszalag olvasási hibák, gyakori előfordulás viszonylag alacsony költségű,” részmunkaidős ” hardver, mint például a Teletype modell 33 ASR. (Friden Flexowriters voltak sokkal megbízhatóbb, hanem viszonylag költséges.)
az első mikroszámítógépek indításaszerkesztés
a legkorábbi mikroszámítógépek, például az Altair 8800 (először 1975-ben jelent meg), valamint egy még korábbi, hasonló gép (az Intel 8008 CPU alapján) nem rendelkezett bootstrapping hardverrel. Indításkor a CPU olyan memóriát látna, amely csak bináris nullákat tartalmazó futtatható kódot tartalmazna—a memóriát a bekapcsoláskor visszaállította. Ezeknek a gépeknek az előlapjain váltókapcsolók voltak a címek és adatok megadására, a számítógép memóriaszó-és címbuszának egy-egy kapcsolója. Egyszerű kiegészítéseket a hardver megengedett egy memória helyét egy időben kell betölteni azokat a kapcsolókat tárolni bootstrap kódot. Eközben a CPU-t megakadályozták a memória tartalmának végrehajtásában. A helyes betöltés után a CPU engedélyezte a bootstrapping kód végrehajtását. Ez a folyamat unalmas volt, hibamentesnek kellett lennie.
integrált áramkör csak olvasható memória eraEdit
A boot folyamat minicomputers, valamint microcomputers forradalmasította a bevezetés az integrált áramkör, csak olvasható memória (ROM), a sok változat, beleértve a maszk programozott Rom, programozható Rom (BÁL), törlésű, programozható Rom (EPROM), valamint a flash memória. Ezek lehetővé tették a firmware rendszerindító programokat a számítógép részeként. A (külső) ROM bevezetése egy olasz telefonkapcsoló kidolgozóban, a “Gruppi Speciali” – ban történt, amelyet Alberto Ciaramella, a CSELT kutatója szabadalmaztatott 1975-ben. A Gruppi Speciali 1975 – től kezdve egy teljesen egygombos gép volt, amely félvezetőkből álló ROM memóriából indult az operációs rendszerbe, nem pedig Ferrit magokból. Bár a ROM eszköz volt, nem natívan ágyazva a számítógép a Gruppi Speciali, mivel a design a készülék, ez is lehetővé tette, hogy a single-gombot ROM indítást a gépek nem célja az, hogy (ezért ez a “bootstrap eszköz” volt architektúra-független), például a PDP-11. A kikapcsolás után a gép állapotának tárolása is a helyén volt, ami a telefonkapcsolási verseny másik kritikus jellemzője volt.
általában minden mikroprocesszor újraindítás vagy bekapcsolás után olyan indítási folyamatot hajt végre, amely általában “a megadott címen található kód végrehajtásának megkezdése” vagy “keressen egy többbájtos kódot egy adott címre, és ugorjon a megadott helyre a végrehajtás megkezdéséhez”. A mikroprocesszor segítségével épített rendszer állandó ROM-ja elfoglalja ezeket a speciális helyeket, hogy a rendszer mindig operátori segítség nélkül működjön. Például az Intel x86 processzorok mindig az F000:FFF0-től kezdődő utasítások futtatásával kezdődnek, míg a MOS 6502 processzor esetében az inicializálás egy két bájtos vektorcímet olvas $fffd (MS byte) és $fffc (LS byte), majd a bootstrap kód futtatásához ugrik erre a helyre.
Apple Inc.első számítógépe, az 1976-ban bevezetett Apple 1 olyan PROM chipeket tartalmazott, amelyek kiküszöbölték a rendszerindítási folyamat előlapjának szükségességét (mint az Altair 8800 esetében) egy kereskedelmi számítógépen. Az Apple hirdetése szerint ” nincs több kapcsoló, Nincs több fény … a firmware a PROMS lehetővé teszi, hogy adja meg, kijelző, debug programok (minden hex) a billentyűzetről.”
az akkoriban csak olvasható memória rovására az Apple II sorozat nagyon kis lépésekkel indította el a lemez operációs rendszereit, amelyek mindegyike a fokozatosan összetettebb rendszerindítási folyamat következő szakaszáig halad. (Lásd: Apple DOS: Boot loader). Mivel a lemez operációs rendszer kevés támaszkodott a ROM-ra, a hardver rendkívül rugalmas volt, valamint számos testreszabott lemezmásolatvédelmi mechanizmust támogatott. (Lásd: Szoftver Repedés: Történelem.)
Egyes operációs rendszerek, leginkább az 1995 előtti Macintosh rendszerek az Apple-től, olyan szorosan összefonódik a hardver, hogy lehetetlen, hogy natívan boot egy operációs rendszer, más, mint a szabványos. Ez a forgatókönyv ellentéte a fent említett kapcsolókkal; rendkívül rugalmatlan, de viszonylag hibabiztos és üzembiztos, mindaddig, amíg az összes hardver normálisan működik. Az ilyen helyzetekben gyakori megoldás egy olyan rendszerbetöltő tervezése, amely a szabványos operációs rendszerhez tartozó programként működik, amely eltéríti a rendszert, és betölti az alternatív operációs rendszert. Ezt a technikát alkalmazta az Apple az A / UX Unix implementációjához, majd különböző freeware operációs rendszerek és a BeOS Personal Edition 5 másolta.
egyes gépek, mint például az Atari ST mikroszámítógép, “instant-on” voltak, az operációs rendszer egy ROM-ról fut. Így az operációs rendszer másodlagos vagy harmadlagos tárolóból történő visszakeresését megszüntették a bootstrapping egyik jellemző műveleteként. Annak érdekében, hogy a rendszer testreszabása, tartozékai és egyéb támogató szoftverek automatikusan betöltődjenek, az Atari hajlékonylemez-meghajtóját a rendszerindítási folyamat során további összetevőkre olvasták. Volt egy időtúllépés, amely időt adott a hajlékonylemez kézi behelyezésére, amikor a rendszer az extra alkatrészeket kereste. Ezt el lehet kerülni egy üres lemez behelyezésével. Az Atari ST hardver is tervezték, így a kazetta nyílásba nyújthat natív program végrehajtása a játék célokra, mint egy kirohanás Atari öröksége, hogy az elektronikus játékok; beiktatásával a Kísértet GCR patron a Macintosh rendszer ROM a játék, játékgép, majd fordult a Atari, ez is “natívan boot” a Macintosh operációs rendszer helyett Atari saját TOS.
az IBM személyi számítógépe tartalmazta a BIOS nevű ROM-alapú firmware-t; ennek a firmware-nek az egyik funkciója az volt, hogy bekapcsolási öntesztet hajtson végre a gép bekapcsolásakor, majd a szoftvert egy rendszerindító eszközről olvassa el, majd hajtsa végre. Az IBM személyi számítógép BIOS-jával kompatibilis Firmware-t IBM PC-kompatibilis számítógépeken használják. Az Extensible Firmware interfészt az Intel fejlesztette ki, eredetileg Itanium-alapú gépekhez, majd később az x86-alapú gépek BIOS alternatívájaként is használták, beleértve az Intel processzorokat használó Apple Mac-eket is.
a Unix munkaállomások eredetileg gyártóspecifikus ROM-alapú firmware-t tartalmaztak. A Sun Microsystems később kifejlesztette az OpenBoot-ot, később nyílt Firmware néven ismert, amely egy Forth tolmácsot tartalmazott, a firmware nagy része oda van írva. Az IEEE szabványosította IEEE szabványként 1275-1994; a szabványt megvalósító firmware-t PowerPC-alapú Mac-ekben és más PowerPC-alapú gépekben, valamint a Sun saját SPARC-alapú számítógépeiben használták. Az Advanced RISC Computing specifikáció egy másik firmware szabványt definiált, amelyet néhány MIPS-alapú és Alfa-alapú gépen, valamint az SGI Visual Workstation x86 alapú munkaállomásokon valósítottak meg.