2014-04-04 1 views
0

처음에는 부팅 전문가가 아니지만 더 나은 방법으로 이해하고 싶습니다.Bios는 항상 첫 번째 섹터 (512B)에서 점프합니다. 왜? BIOS 제한 사항입니까?

1) 시스템 부팅이 BIOS로 이동하고 BIOS가 처음 512 바이트 인 첫 번째 부팅 섹터로 이동하고 거기에서 처음 440 바이트를 읽습니다. 이것은 부트 로더 또는 부트 스트랩으로 불리며,이 코드는 우리를 위해 모든 것을 수행하고, 다음 단계를 위해 점프하고, 파티션 테이블을 읽고, 필요한 경우 fdisk 서명 (부트 플래그)을 따른다. 나는 매우 기본적인 질문을 염두에두고있다. (BIOS가 첫 번째 섹터 (512 바이트) 만 읽을 수있는 이유는 무엇입니까?)이 작은 공간 때문에 부팅 로더가 들어 가지 않아서 무대로 뛰어 올라야하는 이유는 무엇입니까? 왜 BIOS가 512 바이트 이상을 읽지 못합니까? 당분간 BIOS는 처음으로 100MB를 읽을 수 있습니다. 100MB는 부팅 로더에 맞을만큼 충분히 뛰어나며 뛰어 넘을 필요가 없습니다. 최종 사용자에게 멋진 GUI를 제공 할 수있는 멋진 부트 로더를 작성할 수 있습니다. (UEFI는 별도의 파티션을 만들어 동일하게 동일하게 사용합니다)

3) 왜 512Bytes입니까? 왜 BIOS가 그걸 넘어서는가?

4) BIOS가 8 비트 프로세서 용으로 설계되었다고 들었습니다. (아마 완전히 잘못되었습니다). 이거 설명해 주시겠습니까?

죄송합니다. 긴 설명을 드려 죄송합니다. 그러나 나는 stackoverflow를 처음 사용합니다. 좋은 디스크 레이아웃 다이어그램을 추가하고 싶지만 적어도 10 개의 평판이 있어야한다고 말합니다. 미리 감사드립니다.

+0

"역사적인 이유". 지적했듯이, 새로운 접근법은 공간을 늘릴 필요성을 대신했습니다. – user2864740

+0

역사적인 이유는 무엇입니까? 나는 이것을 정말로 이해할 필요가있다. 미리 감사드립니다. – user1702193

+0

이 부팅 방법은 16KB RAM이 표준으로 제공된 원래 1982 IBM PC에서 작동해야했습니다. 이 16KB는 BIOS 데이터, OS (MS-DOS), 응용 프로그램 및 모든 것을 저장합니다. RAM이 거의 없기 때문에 엔지니어는이를 보수적으로 사용해야했습니다. – ScottD

답변

1

PC가 처음 등장했을 때 그들은 640k 램을 가지고 있지 않았고 그 모델들은 호화로운 모델이었습니다.

최초의 IBM XT (가벼운 군용 녹색 이었기 때문에 애정 어린 이름 인 'The Tank')에는 호환 가능한 전쟁이 시작될 때 512k (절반 메가 바이트)가되는 8k BIOS 칩 만있었습니다. .

이 첫 번째 PC에는 하드 디스크의 개념이 없었습니다. 하드 디스크는 하드 디스크로 유리를 덮은 케이크 선반처럼 보였던 대형 멀티 플래터 (커피 숍에서 보셨 듯)가 일반적으로 너무 무거웠습니다 그 (것)들을 들기 위하여 2 3 명의 사람들을 데려 갔다.

종종 이러한 대형 플래터 케이스는 당시에 만 메인 프레임에 연결되어 있었고 데스크탑 PC에 제공되는 것을 고려하기에는 너무 커서 플로피 디스크가 대신 사용되었습니다.

최초의 플로피 디스크는 약 300k 이상을 저장할 수 없으며 두께는 5.25 인치이고 두께는 약 2.5mm이며 이중 일부는 양면이므로 600k를 저장할 수 있습니다. 서로 다른 밀도를 읽고 쓸 수있는 다양한 유형의 소프트웨어 및 디스크 인코더 칩이 있었지만 핵심은 공간이 매우 제한적이었습니다.

실제로 크기가 약 16k ~ 32k에 불과한 대부분의 BIOS는 시스템을 가동시키고 실행하는 데 가능한 한 많이 적응해야했으며 IBM 적합성 롬 기반의 기본 인터프리터가있어서 외부 운영 체제가 없기 때문에 컴퓨터는 일반적인 컴퓨팅 작업에 여전히 사용할 수있었습니다.

이 제한 사항은 모두 크기가 작을수록 좋습니다.

큰 모노 리식 로더가있는 평평한 디스크 크기를 사용하는 대신 이러한 플로피 디스크를 포맷하여 대부분의 공간이 사용자 공간이되도록하고 최종 사용자가 효과적으로 부팅 소프트웨어를 사용자 지정할 수 있도록하는 것이 좋습니다 EG : 사용하지 않는 OS의 일부를 제거하십시오.) 그래서 모든 것을 시작한 초기 로더는 디스크의 처음 512 바이트로 제한되었습니다.

또 다른 주된 이유는 당시에 사용 가능한 여러 디스크 시스템의 진실성이었습니다 (업계가 표준화되기 이전의 방식 이었음을 기억하십시오). 그래서 디스크의 시작 부분에 무엇인가 놓는 것이 어떻게 이루어 졌는지 보장되었습니다. 이상하게도 실행중인 OS는 나머지 디스크를 자체 용도로 설정합니다. 검색을 필요로하지 않기 때문에 형식 표시를보고 이상한 디렉토리 형식을 이해하지 않아도됩니다. 당신은 단순히 드라이브 위치를 휴지 위치로 옮긴 다음 512 바이트를 읽습니다.

일단 Phoenix가 IBM Bios의 첫 번째 클론을 제작하고 회사가 지적 재산권을 도용하려고 시도했을 때 법정에서 IBM을 제치고 우승하면 홍수의 문이 열렸습니다. 거의 밤새 모든 사람이 BIOS 시스템을 만들기 시작했습니다. 우리가 알게 된 PC 시장은 모든 다른 유형의 인터페이스에서 표준을 엉망으로 만들었습니다.

IEE/ANSI/ISO 및 기타 표준기구가 모든 사람과 어떻게 호환되어야하는지에 대한 사양을 작성하기 시작하자마자 벤더에 대한 잠금이 시작되었습니다. 오늘날의 현대적인 컴퓨팅 시대를 통해 바로 실현되었습니다.

장면과 부팅 가능한 CD, USB 및 그 밖의 모든 방식으로 방대한 하드 드라이브를 사용할 무렵에는 이러한 표준 (512b 부트 섹터가 포함되어 있음)이 사물의 더 큰 계획에 깊이 자리 잡고 있으며, 그것들을 바꾸는 것은 불가능했다.

예를 들어, 몇 가지 용감한 회사 만이 그 영역에 대한 벤처를 감히하지 못했고 제한적인 성공을 거두었습니다. Sun Micro Systems는 예를 들어 용감한 소수 중 하나였습니다. 만약 당신이 Sun Raq3을 보았다면 (당신은 Ebay에서 아무것도 쓸 수 없다) 그들은 PC 디스크 기반의 로더가하는 것을 정확히 모방 한 부트 로더를 가지고 있지만, 두번째 단계까지 ROM에서 부팅된다. 표준 Linux 기반 디스크 레이아웃에서/boot 파티션을 즉시 찾습니다. 따라서이 시스템의 디스크에 여전히 표준 512 바이트 부트 블록이 있더라도 실제로는 사용되지 않습니다.

당신이 원하는 통찰력을주기를 바랍니다. 많은 것을 통해 살았 기 때문에 512 바이트 부트 블록을 사용하지 않은 기계를 포함하여 많은 것을 기억할 수 있습니다.

+0

"하드 디스크의 개념이 없다"는 것은 사실이 아닙니다. 고화질의 5.25 인치 하드 드라이브는 PC와 XT 시대에 가격이 내려 갔을 때 가격이 내려 가기 전까지는 표준 장비가 아니기 때문에 값 비싼 대가를 치렀음에도 불구하고 확실히 사용 가능했습니다 . –

+0

허용되었지만 일반인과 내가 아는 모든 사람들이 이용할 수 없었습니다. 이 '새로운'물건을 실제로 사용하는 하드 코어 엔지니어를 제외하고는 아무도 단서가 없었습니다. 진실한 진술 인 평균 소비자에게. – shawty

+0

[ST-506] (http : // en.wikipedia.org/wiki/ST-506)은 1980 년에 출시 된 5MB 5.25 인치 하드 드라이브였으며 매우 높은 가격 임에도 불구하고 공개 시장에서 일반인에게 공개되었습니다. PC/XT 시대의 유일한 하드 드라이브가 케이크 박스 크기의 물건이라고 말하는 것은 정확하지 않습니다. –

관련 문제