Oppstart

Brytere og kabler som brukes til å programmere ENIAC (1946)

Det finnes mange forskjellige metoder tilgjengelig for å laste et kort innledende program inn i en datamaskin. Disse metodene strekker seg fra enkle, fysiske innspill til flyttbare medier som kan inneholde mer komplekse programmer.

pre-integrated-circuit-rom examplesEdit

Early computersEdit

Tidlige datamaskiner på 1940-og 1950-tallet var enestående ingeniørarbeid som kunne ta uker å programmere og programmere lasting var en av mange problemer som måtte løses. En tidlig datamaskin, ENIAC, hadde ikke noe program lagret i minnet, men ble satt opp for hvert problem ved en konfigurasjon av sammenkoblede kabler. Bootstrapping gjaldt ikke FOR ENIAC, hvis maskinvarekonfigurasjon var klar til å løse problemer så snart strømmen ble brukt.EDSAC-systemet, den andre lagrede programdatamaskinen som skal bygges, brukte trinnbrytere for å overføre et fast program til minnet når startknappen ble trykket. Programmet som Ble lagret på denne enheten, Som David Wheeler fullførte i slutten av 1948, lastet videre instruksjoner fra stansetape og utførte dem deretter.

Første kommersielle datamaskinerrediger

de første programmerbare datamaskinene for kommersielt salg, SOM UNIVAC i og IBM 701, inkluderte funksjoner for å gjøre driften enklere. De inkluderte vanligvis instruksjoner som utførte en fullstendig inngangs-eller utgangsoperasjon. Den samme maskinvarelogikken kunne brukes til å laste innholdet på et hullkort (de mest typiske) eller andre inndatamedier, for eksempel en magnetisk trommel eller magnetbånd, som inneholdt et bootstrap-program ved å trykke på en enkelt knapp. Dette oppstartskonseptet ble kalt EN rekke navn FOR IBM-datamaskiner på 1950-tallet og tidlig på 1960-tallet, MEN IBM brukte begrepet «Initial Program Load» med IBM 7030 Stretch og brukte det senere for deres mainframe linjer, som begynte Med System/360 i 1964.

innledende programbelastningskort for IBM 1130 (1965)

IBM 701-datamaskinen (1952-1956) hadde en «Last» – knapp det initierte lesing av det første 36-biters ordet i hovedminnet fra et stanset kort i en kortleser, et magnetbånd i en båndstasjon eller en magnetisk trommelenhet, avhengig av posisjonen til lastvelgerbryteren. Det venstre 18-biters halvordet ble deretter utført som en instruksjon, som vanligvis leser flere ord i minnet. Det lastede oppstartsprogrammet ble deretter utført, som igjen lastet et større program fra det mediet til minnet uten ytterligere hjelp fra den menneskelige operatøren. Begrepet «boot» har blitt brukt i denne forstand siden minst 1958.

IBM System / 3-konsoll fra 1970-tallet. programbelastningsbryter er nede til venstre; programbelastningsbryter er nede til høyre.

ANDRE IBM-datamaskiner i den tiden hadde lignende funksjoner. FOR EKSEMPEL BRUKTE IBM 1401-systemet (c. 1958) en kortleser til å laste et program fra et stanset kort. De 80 tegnene som er lagret i det stansede kortet, ble lest inn i minneplasseringer 001 til 080, da datamaskinen ville forgrene seg til minneplassering 001 for å lese sin første lagrede instruksjon. Denne instruksjonen var alltid den samme: flytt informasjonen i disse første 80 minneplassene til et samlingsområde der informasjonen i stansede kort 2, 3, 4 og så videre, kunne kombineres for å danne det lagrede programmet. Når denne informasjonen ble flyttet til monteringsområdet, ville maskinen forgrene seg til en instruksjon på sted 080 (les et kort) og neste kort ville bli lest og informasjonen behandlet.ET annet eksempel var IBM 650 (1953), en desimalmaskin, som hadde en gruppe på ti 10-posisjonsbrytere på operatørpanelet som kunne adresseres som et minneord (adresse 8000) og kunne utføres som en instruksjon. Ved å sette bryterne til 7004000400 og trykke på riktig knapp, leser du det første kortet i kortleseren inn i minnet (op-kode 70), starter på adresse 400 og hopper deretter til 400 for å begynne å utføre programmet på det kortet.

IBMS konkurrenter tilbød også enkeltknapp programbelastning.

  • CDC 6600 (ca. 1964) hadde et dødt startpanel med 144 vekslebrytere; den døde startbryteren skrev inn 12 ord fra vekslebryterne til minnet til peripheral processor (PP) 0 og startet lastsekvensen. PP 0 lastet den nødvendige koden inn i sitt eget minne og initialiserte deretter den andre PPs.
  • Ge 645 (c. 1965) hadde en» SYSTEM BOOTLOAD » – knapp som, når den ble trykket, førte til at en av i/O-kontrollerne lastet inn et 64-ords program i minnet fra et diode-skrivebeskyttet minne og leverte et avbrudd for å få det programmet til å begynne å kjøre.
  • DEN første MODELLEN AV PDP-10 hadde en» LES INN » – knapp som, når den trykkes, tilbakestiller prosessoren og startet en I/O-operasjon på en enhet spesifisert av brytere på kontrollpanelet, leser i et 36-biters ord som gir en måladresse og teller for påfølgende ordlesning; når lesingen ble fullført, begynte prosessoren å utføre koden som ble lest inn ved å hoppe til det siste ordet som ble lest inn.

En bemerkelsesverdig variant av Dette er funnet På Burroughs B1700 hvor det er verken en bootstrap ROM eller en hardwired IPL operasjon. I stedet, etter at systemet er tilbakestilt, leser og utfører det opcodes sekvensielt fra en båndstasjon montert på frontpanelet; dette setter opp en oppstartslaster I RAM som deretter utføres. Men siden dette gjør få antagelser om systemet, kan det like godt brukes til å laste inn diagnostiske (Vedlikeholdstestrutine) bånd som viser en forståelig kode på frontpanelet, selv i tilfeller av brutto CPU-feil.

IBM System / 360 og etterfølgererediger

I IBM System/360 og dets etterfølgere, inkludert de nåværende z / Architecture-maskinene, er oppstartsprosessen kjent som Initial Program Load (IPL).IBM laget dette begrepet for 7030 (Stretch), gjenopplivet Det for utformingen Av System/360, og fortsetter å bruke Det i disse miljøene i dag. I System / 360-prosessorene initieres en IPL av datamaskinoperatøren ved å velge de tre heksadesimale sifrene enhetsadresse (CUU; C=I/O Kanaladresse, UU=Kontrollenhet og Enhetsadresse) etterfulgt av å trykke PÅ LOAD-knappen. På High end System / 360-modellene, de Fleste System/370 og noen senere systemer, simuleres funksjonene til bryterne og LASTEKNAPPEN ved hjelp av valgbare områder på skjermen på en grafikkkonsoll, ofte EN IBM 2250-lignende enhet eller EN IBM 3270-lignende enhet. For Eksempel, På System/370 Modell 158, resulterer tastatursekvensen 0-7-X (null, syv og X, i den rekkefølgen) I EN IPL fra enhetens adresse som ble tastet inn i inngangsområdet. Amdahl 470V / 6 og relaterte Cpuer støttet fire heksadesimale siffer på De Cpuene som hadde den valgfrie andre kanalenheten installert, for totalt 32 kanaler. SENERE VIL IBM også støtte mer enn 16 kanaler.

IPL-funksjonen I System / 360 og dens etterfølgere, og dens kompatible Som Amdahls, leser 24 byte fra en operatørspesifisert enhet til hovedlagring som starter ved ekte adresse null. Den andre og tredje gruppen på åtte byte behandles Som Kanalkommandoord (CCWs) for å fortsette å laste oppstartsprogrammet (DEN første CCW simuleres alltid av CPU og består av En Les IPL-kommando, 02h, med kommandokobling og undertrykke feil lengdeindikasjon som håndheves). Når i / O-kanalkommandoene er fullført, lastes den første gruppen med åtte byte deretter inn i prosessorens Programstatusord (PSW), og oppstartsprogrammet begynner å kjøres på stedet som ER utpekt av DEN PSW. IPL-enheten er vanligvis en diskstasjon, derav den spesielle betydningen av 02h-lesetype-kommandoen, men nøyaktig samme prosedyre brukes også TIL IPL fra ANDRE inndatatype enheter, for eksempel båndstasjoner, eller til og med kortlesere, på en enhetsuavhengig måte, slik at for eksempel installasjon av et operativsystem på en helt ny datamaskin fra ET OS-innledende distribusjonsmagnetbånd. For diskkontrollere fører 02h-kommandoen også til at den valgte enheten søker å sylinder 0000h, hode 0000h, simulere En Søkesylinder og hodekommando, 07h, og å søke etter rekord 01h, simulere En Søk ID Lik kommando, 31h; søker OG søk simuleres ikke av tape-og kortkontrollere, som for disse enhetsklassene er en 02h-kommando ganske enkelt en sekvensiell lesekommando, ikke En LES IPL-kommando.

disken, båndet eller kortstokken må inneholde et spesielt program for å laste det faktiske operativsystemet eller frittstående verktøyet inn i hovedlagringen, og for dette spesifikke formålet blir» IPL-Tekst «plassert på disken av det frittstående Dasdi-Programmet (Direct Access Storage Device Initialization) eller et tilsvarende program som kjører under et operativsystem, for EKSEMPEL ICKDSF, men IPL-kompatible bånd og kortdekk distribueres vanligvis med denne «IPL-Teksten» som allerede er til stede.

MINICOMPUTERSEDIT

PDP-8/e frontpanel som viser bryterne som brukes til å laste bootstrap-programmet

equipment corporation (dec) pdp-5 og Pdp-8 (1965) forenklet design ved å bruke cpu til å bistå inngangs-og utgangsoperasjoner. Dette sparte kostnader, men gjorde oppstart mer komplisert enn å trykke på en enkelt knapp. Minidatamaskiner vanligvis hadde noen måte å veksle i korte programmer ved å manipulere en rekke brytere på frontpanelet. Siden de tidlige minidatamaskinene brukte magnetisk kjerneminne, som ikke mistet informasjonen når strømmen var slått av, ville disse bootstrap-lasterne forbli på plass med mindre de ble slettet. Sletting skjedde noen ganger ved et uhell når en programfeil forårsaket en sløyfe som overskrev alt minne.Andre minidatamaskiner med en slik enkel form for oppstart inkluderer HEWLETT-Packards HP 2100-serie (midten av 1960-tallet), de opprinnelige Dataene General Nova (1969) og DECS PDP-11 (1970).

DEC senere lagt til en valgfri diode matrise skrivebeskyttet minne FOR PDP-11 som lagret en bootstrap program på opptil 32 ord (64 byte). Den besto av et trykt kretskort, M792, som plugget Inn I Unibus og holdt en 32 av 16 rekke halvlederdioder. Med alle 512 dioder på plass inneholdt minnet alle » en «biter; kortet ble programmert ved å kutte av hver diode hvis bit skulle være «null». DEC solgte også versjoner AV KORTET, BM792-Yx-serien, forhåndsprogrammert for mange standard inngangsenheter ved ganske enkelt å utelate unødvendige dioder.

ETTER den eldre tilnærmingen har DEN tidligere PDP-1 en maskinvarelaster, slik at en operatør bare trenger å trykke på» load » – bryteren for å instruere papirbåndleseren til å laste et program direkte inn i kjerneminnet. Data General Supernova brukte frontpanelbrytere for å få datamaskinen til å automatisk laste instruksjoner inn i minnet fra en enhet som er spesifisert av frontpanelets databrytere, og deretter hoppe til lastet kode; Nova 800 og 1200 hadde En bryter som lastet et program inn i hovedminnet fra et spesielt skrivebeskyttet minne og hoppet til Det.

tidlig minicomputer boot loader eksempleredit

i en minicomputer med en papir tape leser, det første programmet til å kjøre i oppstartsprosessen, boot loader, ville lese inn i kjerneminnet enten den andre-trinns boot loader (ofte kalt En Binær Loader) som kunne lese papir tape med sjekksum eller operativsystemet fra en ekstern lagringsmedium. Pseudokode for boot loader kan være så enkelt som følgende åtte instruksjoner:

  1. Sett p-registeret til 9
  2. Sjekk papirbåndleseren klar
  3. hvis ikke klar, hopp til 2
  4. Les en byte fra papirbåndleseren til akkumulatoren
  5. Lagre akkumulatoren til adressen I p-registeret
  6. hvis slutten av båndet, hopp til 9
  7. Øk p-registeret
  8. Hopp til 2

et beslektet eksempel er basert på en laster for en nicolet instrument Corporation minidatamaskin fra 1970-tallet, Ved hjelp av papir tape reader-punch enhet på en teletype model 33 asr teleprinter. Byte av sin andre trinns laster leses fra papirbånd i omvendt rekkefølge.

  1. Sett p register til 106
  2. Sjekk papir tape reader klar
  3. hvis ikke klar, hoppe til 2
  4. Lese en byte fra papir tape reader til akkumulator
  5. Lagre akkumulator til adresse I p register
  6. Redusere p register
  7. Hoppe til 2

lengden på den andre fasen loader er slik at den endelige byte overskriver plassering 7. Etter at instruksjonen i plassering 6 utfører, starter plassering 7 den andre fasen loader utfører. Den andre fasen loader venter da på mye lengre tape som inneholder operativsystemet som skal plasseres i tapeleseren. Forskjellen mellom boot loader og andre trinn loader er tillegg av å sjekke kode for å fange papir tape lese feil, en hyppig forekomst med relativt lave kostnader,» deltid-duty » maskinvare, slik Som Teletype Model 33 ASR. (Friden Flexowriters var langt mer pålitelige, men også relativt kostbare.de tidligste mikrodatamaskinene, Som Altair 8800 (utgitt først i 1975) og en enda tidligere lignende maskin (basert På Intel 8008 CPU) hadde ingen bootstrapping maskinvare som sådan. NÅR startet, CPU ville se minne som ville inneholde kjørbar kode som inneholder bare binære nuller-minne ble slettet ved å tilbakestille når du slår opp. Frontpaneler av disse maskinene gjennomført vippebrytere for å legge inn adresser og data, en bryter per bit av datamaskinens minne ord og adresse buss. Enkle tillegg til maskinvaren tillot ett minnested om gangen å bli lastet fra disse bryterne til å lagre bootstrap-kode. I mellomtiden BLE CPUEN holdt fra å forsøke å utføre minneinnhold. Når riktig lastet, CPU ble aktivert for å utføre bootstrapping kode. Denne prosessen var kjedelig og måtte være feilfri.

integrert krets skrivebeskyttet minne eraEdit

En Intel 2708 EPROM «chip» på et kretskort.oppstartsprosessen for minidatamaskiner og mikrodatamaskiner ble revolusjonert ved innføring av integrert krets skrivebeskyttet minne (ROM), med sine mange varianter, inkludert maskeprogrammerte Rom, programmerbare Rom (PROM), slettbare programmerbare Rom (EPROM) og flashminne. Disse tillot firmware boot programmer som skal inkluderes som en del av datamaskinen. Innføringen av en (ekstern) ROM var i en italiensk telefonbryter, kalt «Gruppi Speciali», patentert i 1975 Av Alberto Ciaramella, en forsker ved CSELT. Gruppi Speciali var fra 1975 en fullt enkeltknapp maskin som startet opp i operativsystemet fra ET ROM-minne sammensatt av halvledere, ikke fra ferritkjerner. SELV OM ROM-enheten ikke var innebygd i Datamaskinen Til Gruppi Speciali, på grunn av maskinens design, tillot DET også ROM-oppstart med EN knapp i maskiner som ikke var designet for det (derfor var denne «bootstrap-enheten» arkitektuavhengig), for EKSEMPEL PDP-11. Lagring av maskinens tilstand etter utkobling var også på plass, noe som var en annen kritisk funksjon i telefonbryterkonkurransen.vanligvis vil hver mikroprosessor, etter en tilbakestilling eller oppstartstilstand, utføre en oppstartsprosess som vanligvis tar form av «begynn kjøring av koden som er funnet starter på en bestemt adresse «eller» se etter en multibyte-kode på en bestemt adresse og hoppe til den angitte plasseringen for å begynne kjøring». Et system bygget med at mikroprosessoren vil ha permanent ROM opptar disse spesielle steder slik at systemet alltid begynner å fungere uten operatør assistanse. For Eksempel Starter Intel x86-prosessorer alltid med å kjøre instruksjonene som begynner På F000: FFF0,mens FOR MOS 6502-prosessoren begynner initialiseringen ved å lese en to-byte vektoradresse på $FFFD (MS byte) og $FFFC (LS byte) og hoppe til det stedet for å kjøre bootstrap-koden.

Apple Inc.’s første datamaskin, Apple 1 introdusert i 1976, inneholdt PROM chips som eliminert behovet for et frontpanel for oppstartsprosessen (som det var tilfelle Med Altair 8800) i en kommersiell datamaskin. Ifølge apples annonse annonserer Det » Ingen Flere Brytere, Ingen Flere Lys … fastvaren I PROMS lar deg gå inn, vise og feilsøke programmer (alt i hex) fra tastaturet.»

På grunn av bekostning av skrivebeskyttet minne på den tiden, startet Apple II-serien sine diskoperativsystemer ved hjelp av en rekke svært små trinnvise trinn, som hver førte kontrollen videre til neste fase av den gradvis mer komplekse oppstartsprosessen. (Se Apple DOS: Boot loader). Fordi SÅ lite av diskoperativsystemet stod PÅ ROM, var maskinvaren også ekstremt fleksibel og støttet et bredt spekter av tilpassede diskkopibeskyttelsesmekanismer. (Se Programvare Cracking: Historie.Noen operativsystemer, spesielt før 1995 Macintosh-systemer Fra Apple, er så tett sammenvevd med maskinvaren at det er umulig å starte opp et annet operativsystem enn det vanlige. Dette er motsatt ekstreme av scenariet ved hjelp av brytere nevnt ovenfor; det er svært ufleksibelt, men relativt feilfritt og idiotsikkert så lenge all maskinvare fungerer normalt. En vanlig løsning i slike situasjoner er å designe en oppstartslaster som fungerer som et program som tilhører standard OS som kaprer systemet og laster det alternative OPERATIVSYSTEMET. Denne teknikken Ble brukt Av Apple for SIN A / UX Unix implementering og kopiert av ulike freeware operativsystemer Og BeOS Personal Edition 5.

noen maskiner, som atari ST mikrodatamaskin, var «instant-on», med operativsystemet kjøres fra EN ROM. Henting AV OS fra sekundær eller tertiær butikken ble dermed eliminert som en av de karakteristiske operasjoner for bootstrapping. For å tillate systemtilpasninger, tilbehør og annen støtteprogramvare som skal lastes automatisk, Ble Ataris diskettstasjon lest for ekstra komponenter under oppstartsprosessen. Det var en timeout forsinkelse som ga tid til å manuelt sette inn en diskett som systemet søkte etter de ekstra komponentene. Dette kan unngås ved å sette inn en tom disk. Atari ST hardware ble også designet slik at patronsporet kunne gi opprinnelig programutførelse for spillformål som et holdover fra Ataris arv som lager elektroniske spill; ved å sette Inn Spectre GCR-patronen med Macintosh-system-ROMEN i spillsporet og slå På Atari, kunne Den «starte opp» Macintosh-operativsystemet i stedet for Ataris EGNE TOS.IBM Personal Computer inkluderte ROM – basert firmware KALT BIOS; en av funksjonene til den fastvaren var å utføre en power-on selvtest når maskinen ble slått på, og deretter å lese programvare fra en oppstartsenhet og utføre den. Firmware kompatibel MED BIOS PÅ IBM Personal Computer brukes I IBM PC-kompatible datamaskiner. Det Utvidbare Fastvaregrensesnittet ble utviklet av Intel, opprinnelig For itanium-baserte maskiner, og senere også brukt som et alternativ TIL BIOS i x86-baserte maskiner, inkludert Apple Macs ved Hjelp Av Intel-prosessorer.Unix-arbeidsstasjoner hadde opprinnelig leverandørspesifikk rom-basert firmware. Sun Microsystems utviklet Senere OpenBoot, senere Kjent Som Open Firmware, som innlemmet En Forth tolk, med mye av fastvaren som ble skrevet I Forth. Den ble standardisert av Ieee som IEEE standard 1275-1994; firmware som implementerer denne standarden ble brukt I PowerPC-baserte Mac-Maskiner og noen Andre PowerPC-baserte maskiner, samt Suns EGNE SPARC-baserte datamaskiner. Den Avanserte RISC Computing-spesifikasjonen definerte en annen fastvarestandard, som ble implementert på NOEN MIPS-baserte og Alfa-baserte maskiner og SGI Visual Workstation x86-baserte arbeidsstasjoner.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *