는 많은 다른 사용할 수 있는 방법을 로드하는 짧은 프로그램으로 컴퓨터입니다. 이러한 방법은 단순한 물리적 입력에서보다 복잡한 프로그램을 보유 할 수있는 이동식 미디어에 이릅니다.
사전 통합락-ROM examplesEdit
초 computersEdit
이른 컴퓨터에 1940 년대와 1950 년대에 있었 one-of-a-kind 엔지니어링 노력할 수 있는 주간 프로그램 및 프로그램을 로드 중 하나는 많은 문제를 해결합니다. 초기 컴퓨터 인 ENIAC 은 메모리에 저장된 프로그램이 없었지만 상호 연결 케이블의 구성으로 각 문제에 대해 설정되었습니다. 부트 스트래핑은 전원이 적용 되 자마자 하드웨어 구성이 문제를 해결할 준비가 된 ENIAC 에는 적용되지 않았습니다.
EDSAC 시스템,두 번째 저장-프로그램을 컴퓨터의 내장,사용되는 스테핑 스위치를 전송하는 고정 프로그램으로 메모리 할 때 그 시작 버튼을 누른 것입니다. 프로그램에 저장된 이 장치는,데이비드 윌 완료에서 늦은 1948 년,로드 자세한 지침에서 구멍을 뚫은 테이프를 및 실행됩니다.
첫번째 상업적인 computersEdit
첫 번째 프로그래밍을 위한 컴퓨터 상업적인 판매 등 UNIVAC 나와 IBM701 기능을 포함하여 그들의 작업이 간단합니다. 일반적으로 완전한 입력 또는 출력 작업을 수행하는 지침이 포함되었습니다. 동일한 하드웨어 논리를 사용할 수 있습의 내용을 로드하는 펀치카드(가장 일반적인 것)또는 다른 입력 미디어 등의 자석 드럼 또는 마그네틱 테이프를 포함한 스트랩 프로그램에 의해 하나의 버튼을 눌러. 이 부팅 개념 라는 이름의 다양한 IBM 컴퓨터의 1950 년대와 1960 년대 초만,IBM 사용된 용어”초기 프로그램을 로드”IBM7030 스트레칭하고 나중에 그것을 사용해 그들의 메인프레임 라인으로 시작,시스템/360 1964.
IBM701 컴퓨터(1952-1956) 했다”로드”버튼을 시작한 읽기의 첫 번째 36-bit word 으로 메인 메모리에서 구멍을 뚫은 카드에 카드 판독기,자기 테이프에서 테이프 드라이브 또는 마그네틱 드럼,단위의 위치에 따라 로드 선택 스위치. 그런 다음 왼쪽 18 비트 반 단어가 명령어로 실행되어 일반적으로 추가 단어를 메모리로 읽습니다. 그런 다음로드 된 부팅 프로그램이 실행되어 차례로 인간 운영자의 추가 도움없이 해당 매체에서 더 큰 프로그램을 메모리에로드했습니다. “부팅”이라는 용어는 적어도 1958 년 이래로 이러한 의미에서 사용되었습니다.
그 시대의 다른 IBM 컴퓨터는 비슷한 기능을 가지고있었습니다. 예를 들어 IBM1401 시스템(c.1958)은 카드 판독기를 사용하여 펀치 카드에서 프로그램을로드했습니다. 80 캐릭터 저장에 구멍을 뚫은 카드 메모리로 읽어 위치 001 080,다음의 컴퓨터 지점을 메모리에 위치 001 을 읽고 첫 번째 저장된 명령입니다. 이 교육은 항상 같:이동 정보에서 이러한 첫 번째 80 메모리 위치를 어셈블리에 지역 정보에 구멍을 뚫은 카드를 2,3,4,그리고에,결합할 수 있습하는 형태로 저장된 프로그램입니다. 이 정보로 이동되었을 어셈블리,지역 기계 것입 지점을 명령 위치에 080(카드를 읽)및 다음 카드 읽기 및 그 정보를 처리합니다.
또 다른 예는 IBM650(1953),소수계했다는 그룹의 열 10-위치에 해당 운영자 위원회는 주소로 메모리 워드(주소 8000)및으로 실행할 수 있습니다. 따라서 설정하는 스위치 7004000400 및 해당 버튼을 누르면 읽을 것이 첫 번째 카드에 카드 판독으로 메모리(op code70)에서 시작,주소 400 그리고 그런 다음 이동을 400 시작하는 프로그램 실행에 있습니다 카드.
IBM 의 경쟁 업체는 또한 단일 버튼 프로그램로드를 제공했습니다.
- CDC6600(기음. 1964)했다 죽은 시작 패널 144 토글 스위치;죽음 시작하는 스위치 입력 12 단어에서 토글 스위치의 메모리 주변의 프로세서(PP)0 고 시작한 부하다. PP0 은 필요한 코드를 자체 메모리에로드 한 다음 다른 PPs 를 초기화했습니다.
- GE645(c. 1965)”가 있었 시스템 BOOTLOAD”버튼을 누르면,이 발생하는 하나의 I/O 컨트롤러드 64 단어 프로그램으로 메모리에서 다이오드 읽기만을 기억하고 전달 인터럽트를 발생하는 프로그램 실행을 시작합니다.
- 첫 번째의 모델 PDP-10 했다”읽”버튼을 누르면,리셋 및 프로세서 시작되는 I/O 작업 장치에서 지정한 스위치로 제어판에서 인기 36-비트 단어주는 대상 주소 및 계산에 대한 후속 말씀을 읽을 때 읽을 완료되면,프로세서를 실행하기 시작 코드를 읽에서 점프하여 마지막 말씀을 읽습니다.
burroughs B1700 에서 bootstrap ROM 이나 hardwired IPL 작업이 없다는 주목할만한 변형이 있습니다. 대신 이 시스템은 그것을 다시 설정을 읽고 실행하는 컴파일러가 순차적으로 테이프에서 드라이브에 장착된 전면 패널 이 설정은 부트로더에서 RAM 는 다음을 실행됩니다. 그러나,이후 이것은 몇 가정이 시스템에 대한 그것은 동일하게 할 수 있습을 로드하는 데 사용될 진단(관리 테스트 루틴)테이프는 전시는 이해할 수 있는 코드에서 전면 패널의 경우에도 총 CPU 실패입니다.
IBM System/360 및 successorsEdit
현재 z/아키텍처 머신을 포함한 IBM System/360 및 그 후계자에서 부팅 프로세스는 IPL(Initial Program Load)으로 알려져 있습니다.
IBM 은 7030(Stretch)에 대해이 용어를 만들어 내고 시스템/360 의 설계를 위해 부활 시켰으며 오늘날 이러한 환경에서 계속 사용합니다. 에서 시스템이/360 프로세서,IPL 의해 시작을 컴퓨터 사용자 선택하여 세 진수 숫자 장치 주소(CUU;C=I/O 채널,주소 UU=제어 장치 및 장치의 주소)를 눌러 다음 버튼을 누릅니다. 높은 끝에 시스템이/360 모델,대부분의 시스템/370 고 나중에 시스템의 기능 로드 스위치 및 버튼을 시뮬레이션을 사용하여 선택할 수 있는 지역에서 화면의 그래픽 콘솔,종종 IBM2250 같은 장치 또는 IBM3270 같은 장치입니다. 예를 들어,시스템/370 모델 158,키보드 시퀀스 0-7-X(영,일곱 X,에서는 주문)결과 IPL 장치에서 주소는 키가 입력 영역입니다. 의 암달 470V/6 과 관련된 Cpu 를 지원하는 네 개의 진수 자리에 Cpu 그는 선택적으로 두번째 채널을 단위 설치에 대한 총 32 개의 채널이 있습니다. 나중에 IBM 은 16 개 이상의 채널을 지원할 것입니다.
IPL 기능에서 시스템이/360 과 후계자와의 호환과 같은 암달의 읽기 24 바이트에서는 운전자 지정한 디바로 주기억에서 시작하는 실제 주소를니다. 두번째와 세번째 그룹은 여덟의 바이트로 처리된 채널 명령어(CCWs)을 계속해서 시작 프로그램(첫 번째 CCW 은 항상에 의해 시뮬레이션 CPU 로 구성되어 있으며 읽 IPL 명령,02h,명령을 체인 및 억제하는 잘못된 길이 표시되고 적용). When I/O 채널 명령어는 완전한 첫 번째 그룹 여덟의 바이트는 다음에로드 프로세서의 프로그램 상태를 말씀(PSW)고 시작 프로그램 실행을 시작한 위치에 지정하는 PSW. IPL 장치는 일반적으로 디스크 드라이브,따라서 특별한 의미의 02h 읽기 명령을 입력하지만,정확히 동일한 절차도 이용하 IPL 에서 다른 입력-입력 장치와 같은 테이프 드라이브 또는 카드 리더기,장치-독립적인 방식으로 허용,예를 들어,설치의 운영 체계에 새로운 컴퓨터에서는 OS 초기 배포 마그네틱 테이프입니다. 디스크 컨트롤러 02h 명령은 또한 원인이 선택한 장치를 추구하는 실린더 0000h,머리 0000h,시뮬레이션을 실린더 머리를 명령,07h 하고,검색 기록을 위한 01h 시뮬레이션 검색 ID 동일한 명령,시간이 31 시간;고,검색 엔지에 의해 시뮬레이션 테이프 및 카드 컨트롤러로서 이들 디바이스 클래스는 02h 명령이 단순히 순차적으로 읽기 명령하지 않을 읽 IPL 명령입니다.
디스크,테이프 또는 카드가 포함되어야 합 특별한 프로그램을 로드하는 실제 운영 시스템 또는 독립형 유틸리티로 주관하고,이를 위해 특정 목적을”IPL”텍스트를 배치 디스크에 독립 DASDI(직접 액세스 저장 장치는 초기화)프로그램 또는 이에 상응하는 프로그램에서 실행 되는 운영 체제 예를 들어,ICKDSF 지만,IPL-할 수 있는 테이프와 카드 데크는 일반적으로 와 함께 배포되이”IPL 텍스트”이 이미 존재한다.
MinicomputersEdit
미니 컴퓨터로 시작,디지털 장비 Corporation(월) PDP-5PDP-8 일(1965)간소화된 디자인으로 CPU 를 사용하여 도움을 입력 및 출력에는 작업입니다. 이로 인해 비용은 절약되었지만 단일 버튼을 누르는 것보다 부팅이 더 복잡해졌습니다. 미니 컴퓨터는 일반적으로 몇 가지 방법으로 전환하는 짧은 프로그램을 조작하여 배열의 스위치는 전면 패널에 있습니다. 초기 이후 미니 컴퓨터 사용되는 자기는 핵심은 메모리를 잃지 않았다 그 정보를 때의 전원이 꺼진이 부트스트랩더 것에 남아 있지 않는 한 그들이 지워집니다. 프로그램 버그로 인해 모든 메모리를 오버로크하는 루프가 발생했을 때 지우기가 실수로 발생했을 때가 있습니다.
기타 미니 컴퓨터와 같은 단순한 형태의 부팅이 포함 Hewlett-Packard 의 HP2100 시리즈(1960 년대 중반),원래의 데이터 일반적인 노바(1969),DEC 의 PDP-11 일(1970).
DEC 나중에 추가 옵션 다이오드 매트릭스를 읽기 전에 메모리 PDP-11 는 저장된 a 스트랩 프로그램의 최대 32 개의 말씀(64 바이트). 그것은 인쇄 회로 카드,M792,Unibus 에 연결 하 고 개최 32 16 반도체 다이오드의 배열. 모든 512 다이오드,장소에서 메모리를 포함된 모든”하나의”비트이며 카드가 프로그램 절단하여 각 다이오드의 비트 수”zero”. DEC 또한 판매의 버전 카드 BM792-Yx 시리즈,미리 프로그램를 위한 많은 표준 입력 장치에 의해 단순히 생략하고 불필요한 다이오드.
다음 더 오래된 방법 이전 PDP-1 하드웨어 장전기,등산이 필요 밀어 로드 스위치를 지시 종이 테이프 리더로드 프로그램으로 직접 코어 메모리에 저장됩니다. 데이터 일반신 사용한 전면 패널 스위치를 일으키는 컴퓨터를 자동으로 로드하 지침으로 메모리에서 지정된 장치로 전면 패널의 데이터 스위치 다음,이동 로드 코드 노바 800 1200 스위치를 가지고 있는 로드 프로그램으로 메인 메모리에서 특별한 읽기 전용 메모리고 뛰어 올랐습니다.
초기 소형 부트로더 examplesEdit
에서 소형으로 종이 테이프 리더기,첫 번째 실행할 프로그램에서는 부팅 프로세스,부트로더,읽을 것으로 핵심 메모리는 두 번째 단계 부트로더(종종 라는 이진로더)를 읽을 수 있는 종이 테이프 검사 또는 운영 체제에서 외부 저장 매체입니다. 부트 로더에 대한 의사 코드는 다음 8 가지 지침과 같이 간단 할 수 있습니다:
- 설정 P 등록을 9
- 체크인 종이 테이프 리더기 준비
- 준비가되지 않은 경우,동 2
- 읽 바이트에서 종이 테이프 리더기를 축
- 스토어 어큐뮬레이터를 주소에서 P 등록
- 경우 테이프의 끝, 이동 9
- 늘 P 등록
- 동 2
관련를 들어에 기초로더에 대한 니콜 기기 회사의 소형 컴퓨터의 1970 년대를 사용하여,종이 테이프 리더기-펀치 단위에서 텔레 모델 33ASR 텔레. 두 번째 단계 로더의 바이트는 역순으로 종이 테이프에서 읽습니다.
- 설정 P 등록 106
- 체크인 종이 테이프 리더기 준비
- 준비가되지 않은 경우, 동 2
- 읽 바이트에서 종이 테이프 리더기를 축
- 스토어 어큐뮬레이터를 주소에서 P 등록
- 줄 P 등록
- 동 2
길이의 두 번째 단계로더는 최종 바이트를 덮어쓰에 위치 7. 위치 6 의 명령어가 실행된 후,위치 7 은 제 2 단계 로더 실행을 시작한다. 그런 다음 두 번째 단계 로더는 운영 체제가 포함 된 훨씬 긴 테이프가 테이프 판독기에 배치 될 때까지 기다립니다. 의 차이는 부트로더와 두 번째 단계로더를 추가 확인하는 코드 트랩 종이 테이프 읽기 오류가 자주 발생을 상대적으로 낮은 비용,”part-time-“의무와 같은 하드웨어의 모델 레 33ASR. (Friden Flexowriters 는 훨씬 더 신뢰할 만했지만 비교적 비용이 많이 들었습니다.)
부팅 첫 번째 microcomputersEdit
최초의 마이크로 컴퓨터와 같은 Altair8800(출시에 첫 번째 1975)과 이와 유사한 기계(에 따라 인텔 8008CPU)가 아무 부트스트랩 하드웨어합니다. 시작할 때 CPU 는 2 진 0 만 포함하는 실행 코드를 포함하는 메모리를 볼 수 있습니다—전원을 켤 때 재설정하여 메모리를 지웠습니다. 전면 패널 이러한 컴퓨터의 실시 토글 스위치 입력하기 위한 주소와 데이터,스위치당 비트 컴퓨터의 메모리어와 주소 버스입니다. 간단한 추가 하드웨어는 허용되는 하나의 메모리 위치하는 시간에 로드할 수 있는 사람들 스위치에 저장할 스트랩 코드입니다. 한편 CPU 는 메모리 콘텐츠를 실행하려고 시도하지 않았습니다. 제대로로드되면 CPU 가 부트 스트래핑 코드를 실행할 수있게되었습니다. 이 과정은 지루했고 오류가 없어야했습니다.
통합 회로 읽기 전용 메모리 eraEdit
부팅 프로세스를 위한 미니 컴퓨터와 마이크로 컴퓨터었 혁명의 도입에 의해 통합 회로 읽기 전용 메모리(ROM),그것의 많은 변종을 포함하여,마스크 프로그램 Rom 프로그램 Rom(PROM),지울 수 있는 프로그램 Rom(EPROM),플래시 메모리. 이로 인해 펌웨어 부팅 프로그램이 컴퓨터의 일부로 포함될 수있었습니다. (외부)ROM 의 도입은 CSELT 의 연구원 인 Alberto Ciaramella 가 1975 년에 특허 한”Gruppi Speciali”라고 불리는 이탈리아의 전화 전환 정교기에있었습니다. Gruppi Speciali 는 1975 년부터 시작하여 페라이트 코어가 아닌 반도체로 구성된 ROM 메모리에서 운영 체제로 부팅하는 완전 단일 버튼 기계였습니다. 지만 ROM 장치지 않는 기본적으로 포함된 컴퓨터에서의 Gruppi 작은 라운지,인한 기계의 디자인,그것은 또한 허용한 단일-버튼 ROM 부팅에서 기계를 위해 설계되지 않는 것(따라서 이것을”스트랩”장치했 건축-독립)예를 들어,PDP-11. 저장 상태의 후 컴퓨터 스위치 떨어져도 있었다는 또 다른 중요한 기능을 전화위칭 대회입니다.
일반적으로,모든 것 마이크로프로세서,후 재설정 또는 power-on 상태를 수행하고 시작하는 프로세스는 대개는”의 시작 실행하는 코드를 찾을 시작하는 특정 주소에서”또는”보기를 위해 멀티 코드에서 특정 주소와 이동 표시 위치를 실행하려면”. 구축된 시스템을 사용하는 마이크로프로세서가 영원한 ROM 차지하는 이러한 특별한 위치에 있도록 항상 시스템 시작 운영자 없이 있습니다. 예를 들어,Intel x86 프로세서 시작하여 실행하는 지침에 시작 F000:FFF0,는 동안에 대한 MOS6502 프로세서 초기화를 시작으로 읽는 두 개의 바이트 벡터 주$FFFD(MS 바이트)및$FFFC(LS 바이트)및 점프하는 위치를 실행하는 부트스트랩 코드입니다.
애플 Inc 의.’의 첫 번째,컴퓨터 애플 1 도입,1976 년에스 파티 칩는 제거에 필요한 전면 패널 부팅 프로세스(의 경우와 같이 Altair8800)에서 상용 컴퓨터입니다. 그것을 발표 애플의 광고에 따르면”더 이상 스위치,더 이상 조명… PROMS 의 펌웨어를 사용하면 키보드에서 프로그램을 입력,표시 및 디버깅 할 수 있습니다(모두 16 진수).”
의 비용 때문에 읽기 전에 메모리는 시간,Apple II series 부팅 디스크를 사용하는 운영 체제리의 매우 작은 증분 단계는 각 전달하 제어 이후의 다음 단계는 점점 더 복잡한 부팅 프로세스. (Apple DOS:부트 로더 참조). 기 때문에 그래서 작은 디스크 운영 시스템에 의존 ROM,하드웨어도 매우 유연하고 지원하는 다양한 범위의 맞춤형 디스크 복사 방지 메커니즘이 있습니다. (소프트웨어 크래킹:히스토리를 참조하십시오.)
어떤 운영체 시스템,특히 전 1995 년 매킨토시스템 사용하시는 밀접하게 결합한 하드웨어는 것은 불가능하다는 기본적으로 부팅을 운영 체제가 다른 표준보다 하나입니다. 이것은 반대의 극한의 시나리오 스위치를 사용하여 위에 언급;그것은 매우 유연하지만 상대적으로 오류 증거하고 고장이 없는 한 모든 하드웨어가 정상적으로 작동됩니다. 일반적인 솔루션 같은 상황에서는 디자인으로 부트로더로 작동하는 프로그램에 속하는 표준 OS 는 것을 탈취 시스템을 로드하는 대체 OS. 이 기술은 A/UX Unix 구현을 위해 Apple 에서 사용되었으며 다양한 프리웨어 운영 체제 및 BeOS Personal Edition5 에 의해 복사되었습니다.
Atari st 마이크로 컴퓨터와 같은 일부 기계는 운영 체제가 ROM 에서 실행되는”instant-on”이었습니다. 따라서 2 차 또는 3 차 저장소에서 OS 를 검색하는 것은 부트 스트래핑을위한 특징적인 작업 중 하나로 제거되었습니다. 을 허용하는 시스템용 액세서리,그리고 기타 지원 소프트웨어는 자동으로 로드될,아타리의 드라이브가 플로피 읽기 위해 추가 구성 요소를 부팅하는 동안 프로세스. 시스템이 추가 구성 요소를 검색 할 때 플로피를 수동으로 삽입 할 시간을 제공하는 시간 초과 지연이있었습니다. 이것은 빈 디스크를 삽입하여 피할 수 있습니다. 아타리 ST 하드웨어 설계되었으므 카트리지 슬롯을 제공할 수 있는 기본 프로그램으로 실행한 게임 목적으로 취에서 아시를 만드는 전자식 게임기를 삽입하여 막대 GCR 카트리지와 Macintosh 시스템 ROM 게임에서의 슬롯과 돌 Atari 에,그것이”할 수있는 기본적으로”부팅 Macintosh 운영 체제보다는 아타리 자신의 TOS.
IBM 개인용 컴퓨터로 포함되어 있 ROM 기반의 펌웨어 라는 BIOS;의 기능 중 하나는 펌웨어를 수행하는 power-on self test 기계 전문가,그리고 다음을 읽는 소프트웨어에서 부팅 장치고 실행합니다. IBM 개인용 컴퓨터의 BIOS 와 호환되는 펌웨어는 IBM PC 호환 컴퓨터에서 사용됩니다. 확장 가능한 펌웨어 인터페이스에 의해 개발되었 Intel,원래 Itanium 기반 컴퓨터,나중에 또한 사용에 대한 대안으로 BIOS 에서 x86 기반으로 기계를 포함한 애플 맥을 사용하여 인텔 프로세서를 지원합니다.
Unix 워크 스테이션에는 원래 공급 업체 별 ROM 기반 펌웨어가있었습니다. Sun Microsystems 는 나중에 open Firmware 로 알려진 OpenBoot 를 개발했습니다.이 펌웨어는 forth 인터프리터를 통합하여 많은 펌웨어가 Forth 에 작성되었습니다. 그것에 의해 표준화된 IEEE IEEE 표준 1275-1994;펌웨어를 구현하는 표준에 사용되었 PowerPC 기반 Mac 고 일부는 다른 PowerPC 시스템뿐만 아니라,태양의 자신의 SPARC 기반 컴퓨터에 사용할 수 있습니다. Advanced RISC 컴퓨팅 사양을 정의 펌웨어 다른 표준을 구현되었에 MIPS-based 및 알파-기반으로 기계 및 SGI Visual 워크스테이션 x86 기반의 워크스테이션.