KR930007679B1 - 개인용 컴퓨터 시스템과, 이 시스템에 bios를 적재하기 위한장치 및 방법 - Google Patents
개인용 컴퓨터 시스템과, 이 시스템에 bios를 적재하기 위한장치 및 방법 Download PDFInfo
- Publication number
- KR930007679B1 KR930007679B1 KR1019900012418A KR900012418A KR930007679B1 KR 930007679 B1 KR930007679 B1 KR 930007679B1 KR 1019900012418 A KR1019900012418 A KR 1019900012418A KR 900012418 A KR900012418 A KR 900012418A KR 930007679 B1 KR930007679 B1 KR 930007679B1
- Authority
- KR
- South Korea
- Prior art keywords
- bios
- boot record
- master boot
- memory
- random access
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
- Charge And Discharge Circuits For Batteries Or The Like (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
- Bus Control (AREA)
Abstract
내용 없음.
Description
제1도는 다수의 직접 액세스 기억장치(direct access storge device)에 접속된 시스템 플레이너 보드(system planar board)를 도시하는 개인용 컴퓨터 시스템의 단면도.
제2도는 제1도의 개인용 컴퓨터 시스템의 시스템 블럭도.
제3도는 시스템 플레이너 보드상에 포함된 ROM BIOS의 메모리 맵.
제4도는 직접 액세스 기억 장치로부터 BIOS이미지(image)를 적재하기 위한 전체적인 프로세스(process)를 설명하는 흐름도.
제5도는 마스터 부트 레코드(master boot record)의 레코드 포맷(format)을 도시한 도면.
제6a도는 IBL루틴의 동작을 설명하는 흐름도.
제6b도는 BIOS이미지를 고정 디스크(fixed disk)로부터 적재하기 위한 단계를 설명하는 흐름도.
제6c도는 BIOS이미지를 디스켓(diskette)으로부터 적재하기 위한 단계를 설명하는 흐름도.
제6d도는 마스터 부트 레코드와 플레이너/프로세서간의 적합성(compatibility)을 검사(checking)하는 상세흐름도.
제7도는 마스터 부트 레코드의 실행 가능 코드 세그먼트(executable code segment) 동작을 설명하는 상세흐름도.
* 도면의 주요부분에 대한 부호의 설명
10 : 개인용 컴퓨터 시스템 26 : 시스템 프로세서
32 : 랜덤 액세스 메모리 36 : 판독 전용 메모리
62, 66 : 직접 액세스 기억장치
관련출원
본 출원에 관련된 출원은 다음과 같다.
(1) 발명의 명칭이 "개인용 컴퓨터 시스템에 BIOS를 적재하기 위한 장치 및 방법"인 한국출원 제 90-12419호
(2) 발명의 명칭이 "개인용 컴퓨터 시스템의 BIOS에 대한 인증되지 않은 액세스를 방지하는 장치 및 방법"인 한국출원 제 90-12416호
(3) 발명의 명칭이 "개인용 컴퓨터 시스템에 BIOS에 대한 메모리 요건을 감소시키는 장치 및 방법"인 한국출원 제 90-12417호
발명의 분야
본 발명은 개인용(personal) 컴퓨터 시스템에 관한 것으로, 특히 개인용 컴퓨터 시스템에 기본적 입출력 시스템(BIOS)을 적재(loading)하기 위한 방법 및 장치에 관한 것이다.
기술배경
일반적인 개인용 컴퓨터 시스템 및 특히 IBM 개인용 컴퓨터가 현대 사회의 여러 분야에 컴퓨터 능력(power)을 제공하기 위해 폭넓게 사용되어 있다. 개인용 컴퓨터 시스템은 데스크 탑(desk top)형, 바닥설치형(floor standing), 또는 휴대형(portable) 마이크로 컴퓨터로 통상 구분될 수 있으며, 이들 마이크로 컴퓨터는 단일 시스템 프로세서(single system processor), 표시용 모니터(display monitor), 키보드, 하나 또는 그이상의 디스켓 드라이브(diskette drives), 고정 디스크 기억장치(fixed disk storage), 선택 사양(optional)인 프린터 등을 갖춘 시스템 유닛(system unit)으로 구성된다. 상기 개인용 컴퓨터 시스템의 특이한 특징중 하나가 상기 부품을 전기적으로 상호 접속시키기 위해 마더보드(motherboard) 또는, 시스템 플레이너(system planar)를 사용한다는 것이다. 상기 개인용 컴퓨터 시스템은 우선적으로 단일 사용자에게 독립적인 계산 능력을 제공하도록 설계되어 있으므로 개인 또는 소규모 사업체에서 구입하기에 가격이 비싼 것은 아니다. 이러한 개인용 컴퓨터 시스템의 예로는 IBM의 개인용 컴퓨터 AT 및 IBM의 개인용 시스템/2모델 25, 30, 50, 60, 70, 80 등이 있다.
상기 개인용 컴퓨터 시스템은 일반적으로 두개의 패밀리(family)로 분류될 수 있다. 제 1 패밀리는 통상적으로 패밀리 I 모델로 참조되는 것으로서, IBM 개인용 컴퓨터 AT 및 다른 "IBM호환(compatible)"기종으로 구현된 버스 아키텍쳐(bus architecture)를 사용한다. 제 2 패밀리는 패밀리 Ⅱ모델로 참조되는 것으로서, IBM개인용 시스템/2모델 50 내지 80으로, 구현된 IBM마이크로채널(Microchannel)버스 아키텍쳐를 사용한다.
IBM개인용 컴퓨터와 같은 패밀리 I 모델의 초기 개인용 컴퓨터 시스템에서는 소프트웨어 호환성(compatibility)이 가장 중요한 것으로 인식되었었다. 이러한 목적을 달성하기 위해, "마이크로 코드(microcode)"라고도 참조되는 시스템 상주 코드(system resident code)를 하드웨어와 소프트웨어 사이에 격리층(insulation layer)으로서 제공하였다. 이러한 코드는 사용자의 응용 프로그램(application program)/오퍼레이팅 시스템(operating system)과 컴퓨터 장치간에 오퍼레이셔널 인터페이스(operational interface)를 제공하여 사용자가 느끼고 있는 하드웨어 장치 사용에 대한 염려를 경감시키고 있다. 결국에는, 상기 코드는 기본적 입출력 시스템(BIOS)으로 발전(develop)하였으며 상기 시스템에는 새로운 장치(devices)가 부가되어 하드웨어의 특수성(peculiarities)에서 응용 프로그램을 분리시킬 수 있게 되었다.
BIOS의 중요성은 즉시 증명되었는데, 이것은 BIOS에 의해 장치 드라이버(driver)는 특수한 장치의 하드웨어 특성에 구속되지 않고도 장치에 대한 중간 인터페이스를 제공할 수 있기 때문이다. BIOS는 컴퓨터 시스템의 일체부로서 시스템 프로세서로의 데이타 입출력 이동(movement)을 제어하기 때문에, 시스템 플레이너의 판독 잔용 메모리(ROM)에 상주시켜 사용자에게 판매되어졌다. 예를들어, 초기 IBM퍼스널 컴퓨터의 BIOS는 플레이너 보드의 8K의 ROM에 상주되었다. 새로운 모델의 개인용 컴퓨터 패밀리가 도입됨에 따라, 새로운 하드웨어 및 I/O장치를 포함하기 위해 BIOS를 갱신(update)하고 확장(expand)할 필요가 생겼다. 예기된 바와같이, BIOS의 메모리 크기(memory size)도 증가하였다. 예컨대, IBM개인용 컴퓨터 AT의 도입에 따라, BIOS는 32K바이트의 ROM를 필요로하게 되었다.
오늘날, 새로운 기술의 발전에 의해서, 패밀리 Ⅱ모델의 개인용 컴퓨터 시스템은 더욱 정교해지고(sophisticated) 사용자가 보다 친숙하게 이용할 수 있게 되어가고 있다. 기술이 급속히 변화하여 새로운 I/O장치들이 개인용 컴퓨터 시스템에 부가됨에 따라, 개인용 컴퓨터 시스템의 개발 사이클(development cycle)에 있어 BIOS에 대한 변형(modification)이 중요한 문제로 대두되었다.
예컨대, 마이크로채널 아키텍쳐를 IBM개인용 시스템/2의 도입에 따라, 진보된(advanced) BIOS 즉 ABIOS로 알려진 새로운 BIOS가 개발되었다. 그러나, 소프트웨어 호환성을 유지하기 위해서는, 패밀리 I 모델의 BIOS가 패밀리 Ⅱ모델에 포함시킬 필요가 있었다. 패밀리 I BIOS 는 호환성 BIOS 즉 CBIOS로 알려져 있다. 그러나, IBM개인용 컴퓨터 AT에 관해 상술한 바와같이, 단지 32K 바이트의 ROM만이 플레이너 보드에 상주되어 있다. 다행히도, 시스템은 96K바이트의 ROM으로 확장될 수 있지만, 불행히도, 시스템의 제한요건 때문에, 이것이 BIOS가 이용할 수 있는 최대용량인 것으로 판명되었다. ABIOS가 부가되더라도, ABIOS와 CBIOS는 여전지 96K ROM으로 제한된다. 그러나, 96K의 ROM중 일부만이 확장용으로 이용될 수 있다. 미정(future)의 I/O장치가 부감됨으로써 결국에는 CBIOS와 ABIOS는 ROM영역(space)을 고갈시키게 된다. 그러므로, 새로운 I/O기술은 CBIOS와 ABIOS내에서 손쉽게 통합(integrated)될 수 없을 것이다.
이러한 문제점 때문에, 또한 개바 사이클에 있어 패밀리 Ⅱ BIOS에 대한 가장 최근에 행해진 변형에 의하면 ROM에서 BIOS의 적재부를 제거하는 것이 필요하였다. 개인용 컴퓨터 시스템의 시장성 및 사용자 성향에 따르면 새로운 I/O장치의 부가를 요구하면서도 가격은 최소화되기를 원하고 있기 때문에, 패밀리 Ⅱ모델의 BIOS를 손쉽게 변형하는 것이, 본 발명을 달성함에 있어서, 중요한 요인이라는 것에 주목해야 한다. 그러므로 고정 디스크와 직접 액세스(access) 기억장치 또는 디스켓 드라이브상에 BIOS부분을 저장할 수 있는 방법 및 장치를 개발할 필요가 있다. 따라서 상기 BIOS부분은 손쉽게 변형될 수 있으며 요구될 때 개인용 컴퓨터 시스템내로 적재될 수 있다. 또한 패닐리 Ⅱ기종에서 BIOS가 필요로 하는 코드공간을 감소시키는 방법 및 장치를 개발할 필요가 있다.
발명의 개요
본 발명은 상술한 문제점들을 해결하려는 목적으로 개발되었다. 따라서, 본 발명의 한 목적은, 직접 액세스 기억 장치상에 BIOS의 일부분을 저장시킴으로서 BIOS를 지원하는 장치의 수를 증가시키기 위한 장치 및 방법을 제공하는데 있다.
본 발명의 다른 목적은, 직접 액세스 기억장치로부터 주 메모리내로 BIOS를 적재하기 위한 장치 및 방법을 제공하는데 있다.
본 발명의 또 다른 목적은 BIOS와 개인용 컴퓨터 시스템간의 적합상(compatibility)을 확인(confirm)하는 장치 및 방법을 제공하는데 있다. 본 발명의 다른 목적은 BIOS의 일부분을 직접 액세스 기억장치에 기억함으로써 BIOS의 오퍼레이팅 크기를 감소시키는 장치 및 방법을 제공하는데 있다.
본 발명의 다른 목적은, 직접 액세스 기억장치로부터 BIOS를 적재하기 전에 시스템 구성을 검증하는 능력을 제공하는데 있다.
대체적으로, 본 발명에 따른 개인용 컴퓨터 시스템은, 시스템 프로세서, 랜덤 액세스 주 메모리, 판독전용 메모리 및 적어도 하나의 직접 액세스 기억 장치를 구비하고 있다. 판독 전용 메모리에는 랜덤 액세스 메모리에 복사된 후의 BIOS의 제1부분이 포함되어 있다. 상기 BIOS의 제 1 부분에 의해 시스템 프로세서 및 직접 액세스 기억 장치가 초기화되어 직접 액세스 기억장치로부터 마스터부트 레코드(master boot reord)가 랜덤 액세스 메모리내로 적재된다.
마스터 부트 레코드는 데이타 세그먼트와 실행가능 코드 세그먼트를 포함하고 있다. 상기 데이타 세그먼트는 시스템 하드웨어와, 마스터 부트 레코드에 지원되는 시스템 구성을 표시하는 데이타를 포함하고 있다. 제1 BIOS부분은, 마스터 부트 레코드의 데이타 세그먼트에서 나온 데이타가 제1 BIOS부분에 포함되어 시스템 프로세서, 시스템 플레이너, 시스템 플레이너 I/O구성을 표시하는 데이타와 일치하는가를 검증하여 마스터 부트 레코드가 시스템 하드웨어 적합한가를 확인한다.
마스터 부트 레코드가 시스템 하드웨어에 적합하면, 제1 BIOS부분에 의해 시스템 프로세서가 벡터(vector)되어 실행가능 코드 세그먼트가 실행된다. 실행 가능 코드 세그먼트에 의해 시스템 구성이 변경되지 않았음이 확인되어 BIOS의 나머지 부분이 직접 액세스 기억 장치로부터 랜덤 액세스 메모리에 적재된다. 다음에 실행가능 코드 세그먼트에 의해 나머지 BIOS부분의 신빙성(authenticity)이 검증되어, 시스템 프로세서가 벡터되어 랜덤 액세스 메모리에 현존하고 있는 BIOS가 실행되기 시작한다. 그 다음에, 랜덤 액세스 메모리에서 실행되는 BIOS의 나머지 부분에 의해 오퍼레이팅 시스템이 부트 업(boot up)되어 개인용 컴퓨터 시스템이 동작하기 시작한다. 랜덤 액세스 메모리에서 더이상 어드레스될 수 없어 BIOS의 나머지 부분으로 대체되는 제 1 BIOS부분은 방치(abandon)되어진다.
양호한 실시예의 설명
본 발명의 이하의 적합 실시예에서 도면을 참조 후술하기도 하며, 이 실시예에만 국한되는 것은 아니다.
다수의 I/O슬롯(18)을 통해 시스템 플레이너 보드(24)와 접속되어 있는 다수의 DASD[Direct Access Storage Device(직접 액세스 기억장치)](12 내지 16)를 갖는 개인용 컴퓨터 시스템(10)의 단면도를 제1도에서 도시하고 있다. 전원장치(22)는 공지된 방법으로 시스템(10)에 전력을 공급한다. 시스템 플레이너 보드(24)는 시스템 프로세서를 포함하며, 이 시스템 프로세서는 컴퓨터 명령어(instructions)의 제어하에서 동작하여 정보를 입력하고, 처리(process)하며, 출력시킨다.
개인용 컴퓨터 시스템(10)은 우선적으로 소집단의 사용자 또는 단일 사용자에게 독립적인 계산 능력을 제공하도록 설계되어 있어, 개인 또는 작은 소규모 사업체에서 구입하기에 비싸지 않은 가격으로 되어 있다. 동작시, 시스템 프로세서는 IBM의 OS/2 오퍼레이팅 시스템 또는 PC-DOS와 같은 오퍼레이팅 시스템에 의해 동작된다. 이러한 종류의 오퍼레이팅 시스템은 DASD(12 내지 16)와 오퍼레이팅 시스템 사이에 BIOS 인터페이스를 포함하고 있다. 기능상 모듈(module)로 분할되는 BIOS의 일부분이 시스템 플레이너(24)상의 ROM에 기억되면 이를 이하에서는 ROM-BIOS로 기술한 것이다. BIOS는 하드웨어와 오퍼레이팅 시스템간에 인터페이스를 제공하여 프로그래머 또는 사용자는 특정 장치의 오퍼레이팅에 대한 상세한 지식이 없이도 자신들의 기계를 프로그램할 수 있다. 예를들면, BIOS디스켓 모듈에 의해, 프로그래머는 디스켓 드라이브 하드웨어에 관한 상세한 지식 없이도 디스켓 드라이브를 프로그램할 수 있다. 따라서, 컴퓨터 시스템에는 여러 회사에서 설계 제조된 다수의 디스켓 드라이브를 사용할 수 있다. 이와같이 함으로써 시스템(10)의 가격이 저렴해질 뿐만 아니라, 사용자는 다수의 디스켓 드라이브중에서 선택할 수 있다.
본원에서는, 상기 구조에 관하여 설명하기 이전에, 개인용 컴퓨터 시스템(10)의 일반적인 동작에 관해 요약해 보는 것이 적합하다. 제2도에서는 개인용 컴퓨터 시스템(10)의 블럭도가 도시되어 있다. 제2도는 플레이너(24)의 소자와 플레이너(24)와 I/O슬롯(18)과의 접속 관계(connection)와, 개인용 컴퓨터 시스템의 다른 하드웨어가 도시되어 있다. 플레이너(24)상에는 시스템 프로세서(26)가 배치되어 있으며, 이 프로세서(26)는 로컬 버스(28)에 의해 메모리 제어기(30)에 접속되는 마이크로 프로세서로 구성되며, 이 제어기(30)는 또한 랜덤 액세스 메모리[ROM](32)에 접속되어 있다. 임의의 적절한 마이크로 프로세서를 사용할 수 있지만, 적합한 마이크로 프로세서중 하나는 인텔(Intel)에서 판매하는 80368이다.
비록 본 발명이 이하에서 제 2 도의 시스템 블럭도를 참조하여 설명하고 있지만, 상술한 바로부터 본 발명에 따른 장치 및 방법은 다른 하드웨어 구성의 플레이너 보드에서도 사용할 수 있다는 점에 주목한다. 예를들어, 시스템 프로세서는 인텔 80286 또는 80486마이크로 프로세서를 사용할 수 있다.
프로세서에 의해 플레이너 식별 번호(indentification number)[플레이너 ID]를 액세스할 수 있다. 플레이너 ID는 하드와이어되어(hardwired), 시스템/프로세서(26)의 I/O포트(port)를 통하여 스위치를 사용하여 판독될 수 있다.
로컬 버스(28)는 또한 버스 제어기(34)를 통해 플레이너(24)상의 판독 전용 메모리[ROM](36)에 접속되어 있다.
마이크로 프로세서(26)는 버스제어기(34)에 접속된 직렬/병렬 포트 인터페이스(40)를 통해 추가의 비휘발성 메모리(NVRAM)(58)에 접속되어 있다. 상기 비휘발성 메모리는 시스템으로의 전력 공급이 중단될때마다 정보를 유지하기 위해 배터리를 예비(backup)하고 있는 CMOS로 구성될 수 있다. 통상적으로 ROM이 플레이너상 보드에 상주 하고 잇으므로, ROM에 기억된 모델 값 및 서브 모델 값을 이용하여 시스템 프로세서 및 시스템 플레이너 I/O구성을 식별한다. 따라서, 이들의 값에 의해 시스템 프로세서 및 플레이너 I/O구성을 물리적으로 식별할 수 있다. NVRAM은 시스템 구성 데이타를 기억하는데 이용된다. 즉, NVRAM에는 시스템의 현재 구성을 나타내는 값이 포함되어 있다. 예를들어, NVRAM에는 고정 디스크 또는 디스켓의 용량, 표시형태, 메모리의 크기, 시간, 일자 등등을 표시하는 정보가 포함되어 있다. 또한, ROM에 기억된 모델값 및 서브 모델값들은 SET구성과 같은 특정 구성 프로그램이 실행될 때마다 NVRAM에 복사(copy)된다. SET구성 프로그램의 목적은 시스템의 구성을 특징짓는 값을 NVRAM에 기억시키려는데 있다. 그러므로, 시스템을 적절히 구성하면 NVRAM에 기억된 모델값 및 서브 모델값은 ROM에 기억된 모델값 및 서브 모델값과 각각 동일하게 된다. 이들 값이 동일하지 않다면, 시스템의 구성이 변경도었다는 것을 나타낸다. 제6d도에서는 이렇란 특징이 BIOS의 적재와 함께 상세히 설명되어 있다.
계속해서, 제2도를 설명하면, 버스 제어기(34)는 I/O플레이너 버스(43)를 통해 I/O슬롯(18), 직렬/병렬 인터페이스(40), 주변 장치(peripheral) 제어기(42)에 접속된다. 주변 장치 제어기(42)는 또한 키보드(44), 마우스[mouse](46), 진단용 패널(diagnostic panel)(47), 디스켓 제어기(64)에 접속된다. 직렬/병렬 인터페이스(40)는 NVRAM(58)과의 접속 이외에도 직렬 포트(48) 및 병렬 포트(50)에 접속되어 정보를 프린터, 하드 카피 장치(hard copy device) 등으로 입출력시킨다. 본 기술 분야에서 공지된 바와같이, 로컬 버스(28)는 또한 캐쉬(cache) 제어기(52), 캐쉬 메모리(68), 코(co)-프로레서(54), DMA제어기(56)에도 접속될 수 있다.
시스템 프로세서(26)는 자신의 내부(internal) 동작뿐 아니라 개인용 컴퓨터 시스템(10)의 다른 부품들과의 인터페이싱도 제어한다. 예를들면, 시스템 프로세서(26)는 소형 컴퓨터 시스템 인터페이스(SCSI) I/O카드(60)에 접속되어 이 카드(60)는 고정 디스크 드라이브(62)와 같은 DASA에 접속되어 진다. 본 발명에 따르면 다른 SCSI디스크 드라이브 이외의 것을 고정 디스크 드라이브로서 이용할 수 있다는 것에 주목한다. 시스템 프로세서(26)는 고정 디스크 드라이브(62)외에도 디스켓 드라이브(66)를 제어하는 디스켑 제어기(64)와 인터페이스할 수 있다. "하드화일(hardfile)"이란, 고정디스크 드라이브(62)를 나타내고, "플로피(floppy)"란, 디스켓 드라이브(66)를 나타내는 용어를 의미한다.
본 발명이전에는 ROM(36)은 오퍼레이팅 시스템과 하드웨어 주변 장치를 인터페이스시키는 BIOS코드를 전부 포함하였다. 그러나, 본 발명의 한 특징에 따르면, ROM(36)은 BIOS중 단지 일부만을 기억하도록 되어 있다. 시스템 프로세서(26)에 의해 이 부분이 실행되었을 때 고정 디스크 또는 디스켓으로부터 BIOS의 제2 즉 나머지 부분(이하, BIOS이미지(image)라고도 참조됨)이 적재되어진다. 이러한 BIOS이미지는 제1 BIOS부분을 대신하여 시스템의 일체부가 되어 RAM(32)와 같은 주 메모리에 상주한다. ROM(36)에 기억된 BIOS의 제1부분(ROM-BIOS)에 대해서는, 제3도 및 4도에서 일반적으로 설명하고 제6a도 내지 6d도에서 상세히 설명하고자 한다. BIOS의 제2부분(BIOS이미지)에 대해서는 제5도에서 설명하고자 하며, BIOS이미지의 적재에 관해서는 제7도에서 설명하고자 한다. DASD로부터 BIOS이미지를 적재하는 것에 따른 다른 장점은, 시스템 프로세서의 RAM(32)에 BIOS를 직접 적재할 수 있다는 것이다. RAM을 액세스하는 것이 ROM을 액세스하는 것보다 훨씬 빠르므로, 컴퓨터 시스템의 처리속도가 상당히 향상된다.
지금부터 ROM(36)내의 BIOS의 동작 및 고정 디스크 또는 디스켓 드라이브로부터의 BIOS이미지 적재동작에 대해 설명하기로 한다. 일반적으로, ROM-BIOS는 시스템을 사전 검사하고 BIOS마스터 부트 레코드를 RAM에 적재한다. 이 마스터 부트 레코드는 확인(validation) 정보를 갖는 데이타 세그먼트와, 실행가능 코드를 갖는 코드 세그먼트가 포함되어 있다. 이 실행가능 코드는 데이타 정보를 이용하여 하드웨어 적합성 및 시스템 구성을 검증한다. 하드웨어 적합성 및 적합한 시스템 구성에 관해 테스트(test)한후, 실행가능 코드에 의해 BIOS이미지는 RAM에 적재되어진다. BIOS이미지가 ROM-BIOS를 대신하여 오퍼레이팅 시스템에 적재되어 기계가 동작을 개시한다. 명료히 하기 위해, 마스터 부트 레코드의 실행가능 코드 세그먼트를 MBR코드로 기술하며, 데이타 세그먼트를 MBR데이타로 기술하고자 한다.
제3도를 참조해보면, ROM-BIOS를 구비하는 여러 코드 모듈을 도시하는 메모리 맵(memory map)이 도시되어 있다. ROM-BIOS는 파워 온 셀프 테스트(power on self test ; post) 스테이지(stage) I모듈(70)과, 초기 BIOS적재(IBL)루틴 모듈(72)과, 디스켓 모듈(74)과, 하드 화일 모듈(76)과, 비디오 모듈(78)과, 진단용 패널 모듈(80) 및, 하드웨어 적합성 데이타(82)를 포함하고 있다. 간략히 말하면, POST 스테이지 I(170)은 시스템의 사전-초기화(pre-initialization) 및 테스트를 행한다. IBL루틴(72)은 BIOS이미지가 디스크로부터 적재될 것인지 또는 디스켓으로부터 적재될 것인지 판단하고, 적합성을 검사하여, 마스터 부트 레코드를 적재한다. 디스켓 모듈(74)은 디스켓 드라이브 입/출력 기능을 제공한다. 하드 화일 모듈(76)은 고정 디스크에 대한 I/O를 제어한다. 비디오 모듈(78)은 비디오 표시기에 접속되어 있는 비디오 I/O제어기의 출력 기능을 제어한다. 진단용 패널 모듈(80)은 시스템의 진단 표시 장치에 대한 제어를 제공한다. 하드웨어 적합성 데이타(82)는 제5도를 참조하여 후술되는 시스템 모델값 서브 모델값등의 값을 포함하고 있다.
지금부터 제4도를 참조해 보면, 고정 디스크 또는 디스켓 드라이브로부터 BIOS이미지를 시스템 적재하기 위한 개략적인 프로세서가 도시되어 있다. 시스템에 전력이 공급될 때, 시스템 프로세서는 POST스테이지 I 의 입력점(entry point)으로 백터(vector)된다[단계(100)]. POST스테이지 I는 시스템을 초기화하고, 선택된 DASD로부터 BIOS이미지를 적재하는데 필요한 시스템 기능만을 테스트한다[단계(102)]. 특히, POST스테이지 I는 프로세서/플레이너 기능, 진단용 패널, 메모리 서브시스템, 인터럽트 제어기, 타이머, DMA서브시스템, 고정 디스크 BIOS 루틴[하드 화일 모듈(76)] 및 디스켓 BIOS루틴[디스켓 모듈(74)]을 필요에 따라 초기화 시킨다.
POST스테이지 I에 의해 시스템이 사전-초기화된 후, POST스테이지 I 에 의해 시스템 프로세서가 초기 BIOS적재 모듈(72)에 포함된 초기 BIOS적재(IBL) 루틴으로 벡터된다. IBL루틴은 먼저, BIOS이미지가 고정 디스크로부터 적재될 수 있는지 또는 디스켓으로부터 적재될 수 있는지 판단하여, 다음에, 선택된 매체(디스크 또는 디스켓)로부터 마스터 부트 레코드를 RAM에 적재한다[단계(104)]. 마스터 부트 레코드에는 MBR데이타와 MBR코드가 포함되어 있다. MBR데이타를 이용하여 검증을 행하며, MBR코드를 이용하여 BIOS이미지를 적재한다. IBL루틴의 동작에 대해서는 제 6a 도 내지 6d 도에서 상세히 설명되어 있다.
계속하여 제4도를 참고하면, IBL루틴에 의해 마스터 부트 레코드가 RAM에 적재된 후, 시스템 프로세서는 MBR코드의 개시 어드레스로 벡터되어 실행을 시작한다[단계(106)]. MBR일련의 유효성(Validity) 테스트를 행하여 코드는 BIOS이미지의 신빙성을 판단하고, 시스템의 구성을 검증한다. MBR코드의 동작을 보다 상세히 이해하기 위해, MBR코드에 대해 상세히 설명되어 있는 제7도를 참조한다.
상기 유효성 테스트에 근거하여, MBR코드에 의해 BIOS이미지가 RAM에 적재되고, 주 메모리에 새로이 적재된 BIOS이미지로 제어가 이동된다[단계(108)]. 특히, BIOS이미지는 ROM-BIOS가 이전에 점유하고 있던 어드레스 공간내에 적재된다. 즉, ROM-BIOS가 EOOOOH에서 FFFFFH로 어드레스 되면, BIOS이미지가 상기 RAM어드레스 공간내로 적재되어 ROM-BIOS를 대신한다. 다음에 새로이 적재된 BIOS이미지에 포함된 POST스테이지 Ⅱ로 제어가 이동되어짐으로써 ROM-BIOS는 방치된다. 현재 RAM안에 있는 POST스테이지 II는 시스템의 나머지부를 초기화하고 테스트하여 오퍼레이팅 시스템 부트(boot)를 적재한다[단계(110)]. 시스템중 나머지부가 초기화 및 테스트된 후 POST스테이지 II에 의해 오퍼레이팅 시스템 부트로 제어가 이동되어 POST스테이지 II는 오퍼레이팅 시스템을 적재한다[단계(112 내지 114)]. 윔(warm) 출발동안, 프로세서는 단계(100 내지 106)를 통하지 않고 단계(108)로 직접 벡터된다.
명료히 하기 위해, 현 시점에서는 마스터 부트 레코드의 포매(format)에 관한 설명을 하는 것이 적절하겠다. 제5도를 보면, 마스터 부트 레코드가 도시되어 있다. 마스터 부트 레코드는 실행가능 코드 세그먼트(120)와 데이타 세그먼트(122 내지 138)를 포함하고 있다. MBR코드(120)는 DASD종속(dependent)코드를 포함하며, ROM-BIOS의 식별(identity)을 검증하고, IBL부트 레코드가 시스템에 적합한가를 검사하고, 시스템 구성을 검증하여 선택된 DASD(디스크 또는 디스켓)으로부터 BIOS이미지를 적재한다. 데이타 세그먼트(122 내지 138)는 매체(media)를 규정하고, 마스터 부트 레코드를 식별, 검증하고, BIOS이미지의 위치를 정하여, BIOS이미지를 적재하는데 사용되는 정보를 포함하고 있다.
마스터 부트 레코드는 마스터 부트 레코드 기호(122)에 의해 식별된다. 마스터부터 레코드 기호(122)중 레코드의 처음 3바이트는 캐릭터 스트링(character string) "ABC"와 같은 고유 비트 패턴으로 될 수 있다.
마스터 부트 레코드의 무결성(integrity)은 체크성 값[checksum value](132)에 의해 테스트되며 이 값은 부트 레코드가 적재될 때 계산된 체크섬 값과 비교된다. 데이타 세그먼트는 또한 적어도 하나의 적합한 플레이너 ID값(134)과, 적합한 모델값 및 서브 모델값(136)을 포함하고 있다. 마스터 부트 레코드의 플레이너 ID값에 의해서 마스터 부트 레코드의 적합한 플레이너가 규정된다. 동일하게, 마스터 부트 레코드의 모델값 및 서브 모델값에 의해서 마스터 부트 레코드에 적합한 프로세서 및 플레이너 I/O구성이 각각 규정된다. 부트 레코드의 기호 및 체크섬은 적합한 마스터 부트 레코드를 식별하는 반면, 부트 레코드의 플레이너 ID, 부트 레코드의 모델값 및 서브 모델값 비교치는 시스템에 적합한 부트 레코드를 식별하고 시스템 구성이 적합한지를 판단하는데 이용된다는 것에 주목한다. 또 다른 값의 부트 레코드 패턴(124)은 ROM-BIOS의 적합성을 판단하는데 이용된다. 이 부트 레코드 패턴(124)은 ROM에 기억된 대응하는 패턴 값과 비교된다. 비교결과 값이 일치한다면, 적합한 ROM-BIOS가 선택된 매체로부터 BIOS이미지의 적재를 개시한다는 것을 의미한다.
이하에서는 마스터 부트 레코드내의 각각의 값과 그들의 기능에 대해서 상세히 설명하고자 한다.
MBR 식별자(indentifier)(122) : IBL부트 레코드의 처음 3바이트는 "ABC"와 같은 캐릭터로 구성될 수 있다. 이 기호는 부트 레코드를 식별하는데 이용된다.
MBR 코드 세그먼트(120) : 이 코드는 부트 레코드가 대응하는 플레이너 ID 및 모델/서브 모델 값을 비교하여 플레이너 및 프로세서에 적합한지를 검증한다. 비교결과 이들 값이 일치하면, 선택된 매체로 BIOS이미지를 시스템 RAM에 적재한다. 시스템 이미지(메모리내로 적재된 BIOS 이미지) 체크섬이 일치하고 매체의 적재 에러가 발생되지 않으면, MBR 코드에 의해 시스템 이미지의 POST 스테이지 II 루틴으로 제어가 이동된다.
MBR 패턴(124) : 부트 레코드 데이타 세그먼트의 첫번째 필드(field)는 캐릭터스트링 "ROM-BIOS 1989"와 같은 패턴을 포함한다. 이 캐릭터스트링을 부트 패턴 값과 ROM에 기억된 대응값(ROM-패턴)과 비교함으로서 ROM-BIOS를 확인한다.
MBR 버젼 일자(Version Date)(126) : 마스터 부트 레코드는 갱신 유틸리티(updute utility)에 의해 사용을 위한 버젼 일자(version date)를 포함한다.
시스템 파티션 포인터(System Partition Pointer)(128) : 데이타 세그먼트는 POST 스테이지 II가 사용하기 위한 매체 시스템 파티션 영역의 개시를 지시하는 매체 포인터(pointer)를 갖고 있다. IBL 디스켓에서는, 포인터 트랙-헤드-섹터(track-head-sector) 포맷으로 되어 있으며, 디스크에서는 상대 블럭 어드레스(RBA) 포맷으로 되어 있다.
시스템 파티션 형태(130) : 시스템 파티션 형태는 매체 시스템 파티션의 구조를 가리킨다. 세가지 형태의 시스템 파티션 구조, 즉 완전(full), 최소(mininal), 비존재(not present) 구조가 있다. 완전 시스템 파티선은 BIOS 이미지 및 마스터 부트 레코드 이외에도 셋업 유틸리티(set up utility) 및 진단용 프로그램을 포함하고 있다. 최소 시스템 파티션을 BIOS 이미지와 마스터 부트 레코드만을 포함한다. 시스템이 IBL 이미지를 가진 하드 화일을 액세스하지 않을 경우에는 시스템 파티션 형태는 존재치 않는 것을 나타낸다. 이때 IBL은 디스켓으로부터 이루어질 것이다. 이들 세가 시스템 파티션 형태에 의해 매체에서 얼마나 많은 공간을 시스템 파티션이 차지할 것인지가 유동적으로 된다.
체크섬 값(132) : 데이타 세그먼트의 체크섬 값을 초기화시켜 마스터 부트 레코드 코드의 레코드 길이 값(1.5K 바이트)의 적합한 체크섬을 발생한다.
MBR 플레이너 ID값(134) : 데이타 세그먼트는 적합한 플레이너 ID를 규정하는 워드스트링(word string)과 같은 값을 포함한다. 각각의 워드는 16비트의 플레이너 ID로 구성되며 워드스트링은 0값의 워드로 종결된다. 시스템의 플레이너 ID가 워드스트링중 한 워드와 같은 마스터 부트 레코드내의 플레이너 ID값과 일치한다면, IBL 매체 이미지는 시스템 플레이너에 적합하다. 시스템의 플레이너 ID가 워드스트링중의 어떤 워드와도 일치하지 않으면, IBL 매체 이미지는 시스템 플레이너에 적합하지 않다.
MBR 모델 값 및 서브 모델 값(136) : 데이타 세그먼트는 적합한 프로세스를 규정하는 워드스트링과 같은 값을 포함한다. 각각의 워드는 모델 값 및 서브 모델 값으로 이루어지며 워드스트링은 0값의 워드에 의해 종결된다. ROM에 기억되어 있는 시스템의 모델 값 및 서브 모델 값이 한 워드와 일치하면, IBL 매체 이미지는 시스템 프로세서에 적합하다. ROM의 모델 값 및 ROM 서브 모델 값이 워드스트링중 어느 워드와도 일치하지 않으면, IBL 매체 이미지는 시스템 프로세서에 적합하지 않다.
MBR 맵 길이(138) : IBL 맵 길이는 매체 이미지 블럭의 수로 초기화된다. 환언하면, BIOS 이미지가 4블럭으로 나누어지면, 맵 길이는 4개의 블럭의 포인터/길이 필드를 나타내는 4가 된다. 통상적으로, 매체 이미지는 연속적인 128K의 한 블럭으로 되어 있기 때문에, 맵 길이는 1로 세트된다.
MBR 매체 섹터 크기(138) : 이 워드 값은 섹터당 바이트 단위의 매체 섹터 크기로 초기화된다.
매체 이미지 블럭 포인트(138) : 매체 이미지 블럭 포인터는 매체상의 시스템 이미지 블럭에 위치된다. 통상적으로, 매체 이미지는 연속적인 한 블럭으로서 기억되어 있기 때문에, 단지 1개의 포인터만이 존재한다. IBL 디스켓에서 포인터는 트랙-헤드-섹터 포맷으로 되어 있으며 디스크에서 포인터는 상대 블럭 어드레스 포맷으로 되어 있다.
매체 이미지 블럭 길이(138) : 매체 이미지 블럭 길이는 이미지 블럭 포인터에 위치한 대응하는 블럭의 크기를(섹터로) 나타낸다. BASIC을 위한 공간을 포함하는 128K의 연속적인 매체 이미지의 경우에, 필드는 256으로 셋트되며, 이것은 BIOS 이미지 블럭이 매체 이미지 블럭 포인터 위치에서 시작되는 256섹터(512바이트/섹터)를 차지한다는 것을 의미한다.
지금부터 제 6a 도 내지 6d 도를 참조해 보면, IBL 루틴 동작의 상세한 흐름도가 도시되어 있다. 통상의 경우에는 IBL 루틴에 의해 시스템 고정 디스크로부터 마스터 부트 레코드다 특정 어드레스의 RAM에 적재된 다음, 시스템 프로세서가 벡터되어 마스터 부트 레코드의 코드 세그먼트가 실행되기 시작한다. IBL 루틴은 또한 마스터 부트 레코드가 디스켓으로부터 적재될 수 있는 디스켓 디폴트(default) 모드에 대해서도 준비되어 있다. 그러나, IBL 루틴은, 시스템이 시스템 고정 디스크상에 IBL 매체를 포함하고 유효한 패스워드(pass word)가 NVRAM에 존재하면 디스켓 디폴트 모드가 실행되는 것을 허용치 않는다. 사용자는 NVRAM에 패스워드를 설정하는 선택권(option)을 갖는다. 디스켓 디폴트 모드가 실행되는 것을 방지하는 목적은, 디스켓으로부터 인증되지 않은(unathorized) BIOS 이미지가 적재되는 것을 방지하려는 것이다. 환언하자면, 디스켓 디폴트 모드는 시스템 고정 디스크가 동작하지 않고 사용자가(패스워드를 설정하지 않음으로써) 디스켓으로부터 적재되기를 원하고 있을 때만 사용된다. IBL 루틴이 어느 매체로부터도 마스터부트 레코드를 적재할 수 없다면, 에러 메시지(error message)가 발생되어 시스템은 정지(halt)된다.
이제 제 6a 도를 참조하면, 통상의 경우에는 시스템은 IBL 루틴이 초기화시키는 시스템 고정 디스크를 포함한다[단계(150)]. 설명하기 위한 목적으로, 개인용 컴퓨터 시스템의 고정 디스크는 드라이브 C를 표시하는 것으로 가정한다. 동일하게, 드라이브 A는 디스켓 드라이브를 표시하는 것으로 가정한다. IBL 루틴은 드라이브 C를 검사하여 IBL 매체를 포함하는지 판단한다[단계(152)]. 제 6b 도에서는 이러한 프로세스에 대해 상세히 기술되어 있다. IBL 루틴은 최종 세개 섹터에서 고정 디스크로부터 판독을 시작하고 99개 섹터에 대해 또는 적합한 마스터 부트 레코드가 발견될 때까지 판독을 계속하여 매체 포인터를 감소시킨다. 마스터 부트 레코드가 발견되면, 시스템 플레이너 및 프로세서가 적합한지를 검사한다[단계(156)]. 플레이너 또는 프로세서가 적합하지 않으면 에러가 보고된다[단계(158)]. 단계(152)로 복귀하여, 마스터 부트 레코드가 고정 디스크(1차 하드화일)의 최종 99섹터에서 발견되지 않으면, 에러가 보고된다[단계(154)].
단계(156)로 복귀하여, 마스터 부트 레코드가 발견되면 일련의 유효성 검사를 행하여 마스터 부트 레코드가 컴퓨터 시스템에 적합한지를 판단한다. 또한, 시스템의 구성도 검사한다. 이러한 프로세스에 대해서는 제 6d 도에 상세히 기술되어 있다. 마스터 부트 레코드가 플레이너 ID, 모델 및 서브 모델과 일치하며, 또한 시스템 구성이 변경되지 않았으면, 마스터 부트 레코드가 적재되어 마스터 부트 레코드의 코드 세그먼트가 실행된다[단계(160)].
단계(154 및 158)로 복귀하여, 고정 디스크로부터 마스터 부트 레코드를 적재할시 에러가 발생하거나, 고정 디스크의 이용이 불가능하면, IBL 루틴은 유효한 패스워드가 NVRAM내에 포함되어 있는지 판단한다[단계(162)]. 이 패스워드에 의해 BIOS 이미지가 디스켓으로부터 적재될 수 있는지 판단되어진다. 패스워드는 셋업 유틸리티를 실행하는 사용자에 의한 설정에 의해서만 존재한다는 것에 주목한다. 패스워드가 NVRAM에 설정되면, 디스켓으로부터 BIOS 이미지가 적재되는 것이 방지된다[단계(164)]. 이것에 의해 시스템은 고정 디스크상의 BIOS 이미지만 적재할 수 있으므로 사용자는 시스템의 동작을 완전하게 행할수 있다. 패스워드는 NVRAM에 기억된 캐릭터 스트링의 형태를 취할 수 있다.
단계(162)로 복귀하여, NVRAM내에 유효한 패스워드가 존재하지 않아 BIOS 이미지가 디스켓으로부터 적재하게 되면, IBL 루틴은 디스켓 서브 시스템을 초기화시킨다[단계(166)]. 다음에 IBL 루틴은 드라이브 A가 디스켓상에 IBL 매체를 포함하는지 판단한다[단계(168)]. 드라이브 A가 IBL 매체를 포함하지 않으면, 에러가 발생되어 사용자에게 무효 디스켓이 드라이브에 삽입되었음을 통지한다[단계(170)]. 그때 시스템은 정지된다[단계(172)]. 제 6c 도에서는 단계(168)에 대해 보다 상세히 기술되어 있다.
단계(168)로 복귀하여, 드라이브 A가 IBL 매체를 검가한후, 마스터 부트 레코드가 RAM에 적재되고 마스터 부트 레코드에 포함된 코드 세그먼트가 실행된다[단계(160)]. 디스켓에 있어서는 IBL 루틴이 고정 디스크 시스템에서 이용되었던 유효성 검사를 포함하지 않는다는 것이 중요한 사항이다. 유효성 검사를 포함하고 있지 않는 이유는 디스켓으로부터 바람직한 IBL 이미지를 적재하기 위한 것이다. 예를들어, 새로운 프로세서가 시스템에 부가되었다면 새로운 BIOS 이미지가 디스켓에 포함될 것이다. 따라서, 새로운 프로세서는 고정 디스크로부터 적재될때 유효성 에러를 발생할 것이기 때문에, IBL 루틴은 디스켓으로부터 BIOS 이미지를 적재함으로서 이러한 테스트를 피하는 능력을 제공한다.
되풀이하자면, 마스터 부트 레코드는, 시스템 플레이너 ID 및 프로세서 모델 값/서브 모델 값이 부트 레코드 값과 일치함에 의하여 시스템에 적합한가가 검사된다. 디스크에 있어서, 이러한 검사는 IBL 루틴(72)에서 먼저 행해진 다음, IBL 부트 레코드에서 다시 행해진다. (IBL 루틴에서의)제 1 검사를 행함에 의해 부트 레코드가 확실하게 시스템에 적합하게 되며, (부트 레코드에서의) 제 2 검사에 의해서 적합한 ROM이 제어를 확실하게 부트 레코드로 이동시킨다. IBL 루틴이 이미 적합성에 대해 검사하였으므로 디스크 부트 레코드에서 행해진 검사는 적합한 ROM에 대해서는 실패하지 않을 것이다. 대조적으로, 첫번째 디스켓에 대해서는 적합성 검사가 행해지지 않는다. 플레이너/프로세서 적합성은 디스켓 부트 레코드가 실행되는 동안에만 검사된다. 이러한 방법에 의해 참조(reference) 디스켓으로부터 새로운 BIOS 이미지를 적재할시에 변형이 가능하게 한다.
제6a도의 IBL 루틴에서는 상술한 유효성 테스트를 완전히 이해할 수 있도록 설명되어 있다. 제6b도는 제6a도의 단계(152)에 대한 상세한 흐름도로서, 유효한 마스터 부트 레코드가 드라이브 C에 있는지 판단한다. 이 프로세스는 드라이브 파라미터(parameter)의 획득에 의해 시작되어 IBL 루틴이 드라이브 C를 액세스하게 된다[단계(200)]. IBL 적재 위치는 디스크로부터 최종 3개 섹터(최종 3개 섹터는 마스터 부트 레코드를 통상 포함함)에 셋트되어 있다[단계(202)]. 디스크로부터 마스터 부트 레코드를 판독하는 시도 회수를 나타내는 적재 카운트(load count)는 I 로 셋트되어 있다[단계(204)]. 세개의 섹터는 IBL 적재 위치에서 디스크로부터 판독된다[단계(206)]. 임의 디스크 드라이브 에러가 검출되고 디스크 드라이브 판독 에러가 발생하면 이것이 보고된다[단계(208 내지 210)]. 다음에 프로세서는 에러 표시에 의해 복귀한다[단계(212 내지 214)].
단계(208)로 복귀하여, 드라이브 에러가 발생치 않으면, 디스크 레코드는 마스터 부트 레코드 기호를 검사한다. 캐릭터 "ABC"와 같은 부트 레코드 기호는 디스크 레코드의 처음 3바이트와 비교된다. 디스크 레코드가 유효한 부트 레코드 기호(캐릭터 "ABC")를 갖고, 메모리에 적재된 디스크 레코드로부터 게산된 체크섬이 부트 레코드 체크섬과 같다면, 디스크 레코드는 에러를 갖지 않은 유효한 부트 레코드로서 표시된다[단계(218)]. 이후에 리세스는 단계(214)로 복귀한다.
단계(216)로 돌아가서, 부트 레코드 기호 또는 체크섬이 무효이면, 적재 카운트는 1만큼 증가된다[단계(220)]. 다음에 적재 카운트는 99와 같은 소정의 상수와 비교된다[단계(222)]. 부트 레코드를 판독하려는 99번의 시도가 실패로 돌아가면, 에러가 표시되고 프로세스는 복귀한다[단계(224), (212), (214)]. 부트 레코드를 판독하려는 시도가 99번 이하로 발생되었다면, IBL 적재 위치로 1만큼 감소되고 3개의 새로운 섹터가 새로운 적재 위치로부터 판독된다[단계(226 및 206)]. 그러므로, 유효한 IBL 부트 레코드가 최종 99섹터[33 복사(copy)와 등가임]로부터 적재될 수 없다면, 에러 상태가 설정되어 IBL 루틴으로 제어가 복귀한다.
지금부터 제6c도를 참조해 보면, 드라이브 A상의 디스켓으로부터 마스터 부트 레코드를 적재하기 위한 상세한 흐름도가 도시되어 있다. 먼저 드라이브 A를 액세스하기 위한 디스켓 드라이브 파라미터가 검색된다[단계(230)]. IBL 적재 위치는 디스켓(실린더, 헤드 및 섹터 포맷)상의 최종 3개 섹터에 설정된다[단계(232)]. 최종 3개 섹터는 판독된다[단계(234)]. 디스켓 드라이브 에러가 검출되면, 에러가 표시된다[단계(236 내지 238)]. 에러 상태가 설정되어 IBL 루틴으로 제어가 복귀한다[단계(240 내지 242)].
단계(236)로 복귀하여, 드라이브 에러가 검출되지 않으면, 디스켓 레코드는 부트 레코드 기호를 검사하고, 체크섬이 계산된다[단계(244)]. 부트 레코드 기호가 부재(missing)이거나 체크섬이 무효이면, 에러가 표시되어 IBL 루틴으로 제어가 복귀한다[단계(244, 246, 240, 242)]. 유효한 부트 레코드 기호 및 유효한 체크섬이 검출되면 표시가 셋트되어, IBL 루틴으로 제어가 복귀한다[단계(248 및 242)]. 디스켓 적재에 있어서, IBL 루틴은 고정 디스크 적재에서와 같이 매체를 통하여 탐색하지 않는다는 것에 주목된다. 그러므로, 디스켓 적재에 있어서는 IBL 매체는 디스켓의 특정 위치에 기억되어야 한다.
마지막으로, 제6d도는 시스템 플레이너 및 프로세서 적합성에 관해 또는 적당한 시스템 구성에 관해 IBL 루틴이 어떻게 테스트하는지를 도시한다. 마스터 부트 레코드는, 부트 레코드 플레이너 ID값 시스템 프로세서에 의해 판독된 시스템 플레이너 ID와 비교함으로써 시스템 플레이너에 적합한지 검사된다[단계(260)]. 시스템 플레이너 ID가 부트 레코드 플레이너 ID값과 일치하지 않으면, 상기 마스터 부트 레코드가 상기 시스템 플레이너에 적합하지 않다는 것을 의미한다. 따라서 에러가 표시되어 IBL 루틴으로 제어가 복귀한다[단계(262, 264, 266)].
마스터 부트 레코드가 플레이너에 적합하면 마스터 부트 레코드는 프로세서와의 적합에 대해 검사된다[단계(268)]. 부트 레코드 모델 값 및 서브 모델 값은 ROM에 각각 기억된 모델 값 및 서브 모델 값과 각각 비교된다. 비교결과 일치하지 않으면 새로운 프로세서가 삽입되었음을 나타낸다. 이 부트 레코드는 새로운 프로세서에 적합하지 않음을 나타낸다. 따라서, 에러가 표시되어 IBL 루틴으로 제어가 복귀된다[단계(270, 264, 266)]. 마스터 부트 레코드가 플레이너 및 프로세서에 적합하면 프로세스는 NVRAM이 신뢰성이 있는지를 판단한다[단계(272)]. NVRAM이 신뢰성이 없다면 에러가 표시되어 IBL 루틴으로 제어가 복귀한다[단계(274, 266)]. NVRAM이 신뢰성이 있다면, 시스템 구성을 검사한다[단계(276)]. NVRAM에 기억된 모델 값 및 서브 모델 값이 ROM에 기억된 모델 값 및 서브 모델 값과 일치하지 않으면 시스템 구성이 변경된 것을 의미한다. 상기 이러한 최종 비교에 의해서는 구성 에러만을 표시한다는 것에 주목한다. 구성 에러가 표시되면, 사용자에게 에러가 발생된다. 이러한 에러에 의해 사용자는 최종 SET 구성을 시스템의 구성이 변경되었음을 알게 된다. 사용자에게 변경된 구성이 알려지게 되어 IBL 루틴으로 제어가 복귀한다[단계(278, 264, 266)]. 이 에러 자체가 치명적인 것은 아니며, 사용자에게 SET 구성(구성 프로그램)이 실행되어야 함을 알려준다. 단계(276)에서 시스템 모델/서브 모델 값이 일치하면, 적합성이 표시되어 루틴은 복귀한다[단계(276, 274, 266)]. 그러므로, 마스터 부트 레코드와 시스템간의 적합성은 시스템 구성이 변경되었는지의 판단과 함께 테스트된다.
IBL 루틴에 의해 마스터 부트 레코드가 RAM에 적재된후, MBR 코드 개시 어드레스로 제어가 이동된다. 제7도를 참조해 보면, 마스터 부트 레코드의 실행 가능 코드 세그먼트에 의해 부트 레코드 패턴과 ROM 패턴이 검증된다[단계(300)]. 마스터 부트 레코드의 패턴이 ROM의 패턴과 일치하지 않으면, 에러가 발생되어 시스템은 정지한다[단계(302 및 305)]. ROM과 부트 레코드 패턴간의 일치성 검사에 의해서 디스크 또는 디스켓으로부터 적재되는 마스터 부트 레코드가 플레이너 보드상의 ROM과 적합한 것이 확실해진다. 단계(300)로 복귀하여 ROM의 패턴과 마스터 부트 레코드의 패턴이 일치하면, MBR 로드에 의해 시스템 플레이너 ID값, 모델 값 서브 모델 값이 대응하는 마스터 부트 레코드 값과 비교된다[단계(304)]. 이러한 프로세스에 대해서는 제 6d 도에서 상세히 설명되어 있다. 비교 값이 일치하지 않으면, 마스터 부트 레코드가 시스템 플레이너 및 프로세서에 적합하지 않거나, 시스템 구성이 변경된 것으로서 에러가 발생된다[단계(306)]. 따라서 시스템은 정지한다[단계(305)].
단계(304)로 복귀하여, 시스템 플레이너 ID값, 모델 값 및 서브 모델 값이 대응하는 마스터 부트 레코드 값과 일치하면, MBR 코드에 의해 선택된 매체로부터 BIOS 이미지가 시스템 RAM에 적재된다[단계(308)]. 데이타 판독시 매체 적재 에러가 발생하면[단계(310)], 에러가 발생되어 시스템은 정지한다[단계(312 및 305)]. 단계(310)에서 매체 적재 에러가 발생하지 않으면, 체크섬을 메모리내의 BIOS 이미지에 대해 계산한다[단계(314)]. 체크섬이 무효이면, 에러가 발생되어 시스템은 정지한다[단계(318 및 305)]. 단계(316)에서, 체크섬이 유효하면, 시스템 파티션 포인터가 세이브(save)되고[단계(320)]. 시스템 프로세스는 POST 스테이지 II로 벡터되어 시스템 적재를 시작한다[단계(322)].
상술한 바와같이, 직접 액세스 기억 장치로부터 BIOS를 적재하기 위한 방법 및 장치를 설명하였다.
BIOS가 적재되기 이전에, 직접 액세스 기억 장치상의 BIOS 이미지는 시스템과의 적합성에 대해 검사된다. 또다른 테스트에 의해 시스템 구성이 적절한가가 검사된다. 이러한 테스트에 근거하여 BIOS 이미지는 RAM에 적재되어 실행된다.
비록 본 발명이 적합한 실시예에 대해서만 성명하였지만, 본 기술 분야에서 통상의 지식을 가진 사람에게는 첨부된 청구범위의 사상 및 범주를 벗어나지 않는한 여러 변형이 가능하다는 것을 주지의 사실이다.
Claims (5)
- 전기적으로 접속되어 있는 시스템 프로세서(system processor)와, 랜덤 액세스 메모리(random access memory)를 포함하는 개인용 컴퓨터 시스템에 BIOS를 적재(loading)하기 위한 장치에 있어서, 상기 시스템 프로세서에 전기적으로 접속되어 있으며 다수의 데이타 레코드(a plurality of data records)를 기억할 수 있는 직접 액세스 기억 장치(direct access storoge device)와, 실행 가능 코드 세그먼트(executable code segment)를 포함하여 상기 직접 액세스 기억 장치에 기억되어 있는 마스터 부트 레코드(master boot record)와, 상기 시스템 프로세서에 전기적으로 접속되어 있는 판독 전용 메모리(read only memory)와, 상기 판독 전용 메로리내에 기억되어 있는 BIOS의 제 1 부분으로서, 특정의 어드레스에서 시작하는 상기 랜덤 액세스 메모리에 복사(copy)되어, 상기 시스템 및 상기 직접 액세스 기억 장치를 초기화시켜 상기 마스터 부트 레코드를 상기 랜덤 액세스 메모리내로 적재시키는 수단을 포함하는 BIOS의 제 1 부분과, 상기 직접 액세스 기억 장치에 기억되어 있는 BIOS의 나머지 부분으로서, 상기 BIOS의 제 1 부분이 상기 마스터 부트 레코드의 실행 가능 코드 세그먼트로 제어를 이동시켜 랜덤 액세스 메모리내로 상기 BIOS의 나머지 부분을 적재하고, 상기 특정 어드레스에서 시작하여 기억되어 제 1 BIOS 부분을 대신하여 상기 개인용 컴퓨터 시스템의 나머지 부분을 초기화시켜 오퍼레이팅 시스템(operating system)을 적재함으로써 상기 개인용 컴퓨터 시스템의 동작을 개시시키는 BIOS의 나머지 부분을 포함하는 것을 특징으로 하는 개인용 컴퓨터 시스템의 BIOS 적재 장치.
- 제 1 항에 있어서, 상기 마스터 부트 레코드는 또한 데이타 세그먼트를 포함하고, 이 데이타 세그먼트는 상기 마스터 부트 레코드에 적합한 개인용 컴퓨터 시스템의 하드웨어 구성(hardware configuration)을 나타내며, 상기 판독 전용 메모리는 상기 시스템 프로세서의 하드웨어 구성을 나타내는 데이타를 포함하며, 상기 BIOS의 나머지 부분이 랜덤 액세스 메모리내로 적재되기 전에, 상기 BIOS의 제 1 부분은 상기 마스터 부트 레코드로부터의 하드웨어 구성 데이타를 상기 판독 전용 메모리로부터의 하드웨어 구성 데이타와 비교하여 상기 마스터 부트 레코드가 상기 시스템 프로세서에 적합한지 검증(verlfy)하도록 구성되어 있는 것을 특징으로 하는 BIOS 적재 장치.
- 개인용 컴퓨터 시스템에 있어서, 시스템 프로세서와, 주(main) 메모리이며 상기 시스템 프로세서와 전기적으로 접속되어 있는 랜덤 액세스 메모리와, 상기 시스템 프로세서와 전기적으로 접속되어 있는 다수의 I/O 슬롯(a plurality of I/O slots)을 갖는 시스템 플레이너 보드(system planar board)와, 상기 시스템 프로세서와 전기적으로 접속되어 있으며, 다수의 데이타 레코드를 기억할 수 있는 직접 액세스 기억 장치와, 상기 직접 액세스 기억 장치에 기억되어 있으며, 실행 가능 코드 세그먼트와 상기 마스터 부트 레코드에 적합한 상기 개인용 컴퓨터 시스템의 하드웨어 구성을 나타내는 데이타 세그먼트를 포함하는 마스터 부트 레코드와, 상기 시스템 프로세서와 전기적으로 접속되어 있으며, 상기 시스템의 하드웨어 구성을 나타내는 데이타를 기억하고 있는 판독 전용 메모리와, 상기 판독 전용 메모리에 기억되어 있는 BIOS의 제 1 부분으로서, 상기 특정 어드레스에서 시작하는 상기 랜덤 액세스 메모리에 복사되어 BIOS 상기 시스템 및 상기 직접 액세스 기억 장치를 초기화시켜 상기 마스터 부트 레코드를 적재하며, 또한 상기 마스터 부트 레코드로부터의 하드웨어 구성 데이타를 상기 판독 전용 메모리의 하드웨어 구성 데이타와 비교하여 상기 마스터 부트 레코드가 상기 시스템 프로세서에 적합한지를 검증하기 위한 BIOS의 제 1 부분과, 상기 액세스 기억 장치에 기억되어 있는 BIOS의 나머지 부분으로서, 상기 마스터 부트 레코드가 상기 시스템 프로세서에 적합한지를 검증한후, 상기 BIOS의 제 1 부분이 상기 마스터 부트 레코드의 실행 가능 코드 세그먼트로 제어를 이동시켜 상기 BIOS의 나머지 부분이 랜덤 액세스 메모리내로 적재되어지며, 상기 특정 어드레스에 기억되어 상기 제 1 BIOS 부분을 대신하는 BIOS의 나머지 부분을 포함하는 것을 특징으로 하는 개인용 컴퓨터 시스템.
- 랜덤 액세스 메모리와 전기적으로 접속되어 있는 시스템 프로세서를 갖는 개인용 컴퓨터 시스템에 BIOS를 적재하기 위한 장치에 있어서, 상기 시스템 프로세서와 전기적으로 접속되어 있으며, 다수의 데이타 레코드를 기억할 수 있는 직접 액세스 기억 장치와, 상기 시스템 프로세서와 전기적으로 접속되어 있는 판독 전용 메모리와, 상기 판독 전용 메모리내에 기억되어 있으며 특정 어드레스에서 시작하는 상기 랜덤 액세스 메모리에 복사되어지는 BIOS의 제1 부분과, 상기 직접 액세스 기억 장치에 기억되어 있는 BIOS의 나머지 부분으로서 상기 BIOS의 제 1 부분이 상기 시스템 프로세서 및 상기 직접 액세스 장치를 초기화하여 상기 BIOS의 나머지 부분을 상기 랜덤 액세스 메모리내로 적재시키고, 상기 특정 어드레스에서 시작하여 기억되어 상기 BIOS의 제 1 부분을 사실상 대신하여 상기 시스템의 동작을 지원(assist)하는 BIOS의 나머지 부분을 포함하는 것을 특징으로 하는 개인용 컴퓨터 시스템의 BIOS 적재 장치.
- 랜덤 액세스 메모리에 전기 접속된 시스템 플레이너와 전기적으로 접속되어 있는 시스템 프로세서와, 판독 전용 메모리와, 직접 액세스 기억 장치를 포함하는 개인용 컴퓨터 시스템의 상기 직접 액세스 기억 장치로부터 BIOS를 적재하는 방법에 있어서, (a) 상기 시스템을 상기 판독 전용 메모리에 상주하며, 특정 어드레스에서 시작하는 상기 랜덤 액세스 메모리에 복사되어지는 BIOS의 제 1 부분에 의해 초기화하는 단계와, (b) 상기 액세스 마스터 부트 레코드 및 BIOS의 나머지 부분을 기억하고 있는 상기 직접 액세스 기억 장치를 상기 BIOS의 제 1 부분에 의해 초기화하는 단계와, (c) 실행가능한 코드 세그먼트와, 상기 시스템의 하드웨어에 대해 상기 BIOS의 나머지 부분이 적합한가를 나타내는 데이타를 갖는 데이타 세그먼트를 포함하고 있는 마스터 부트 레코드를 상기 BIOS의 제 1 부분에 의해 상기 랜덤 액세스 메모리내로 적재하는 단계와 (d) 상기 시스템 하드웨어를 나타내는 데이타를 상기 판독 전용 메모리에 기억된 대응하는 적합성 데이타와 비교하여 상기 마스터 부트 레코드가 상기 시스템 하드웨어에 적합한가를 검증하는 단계와, (e) 상기 BIOS의 나머지 부분이 상기 특정 어드레스에서 시작하는 상기 랜덤 액세스 메모리내로 적재되도록 상기 마스터 부트 레코드의 상기 실행 가능 코드 세그먼트를 실행하는 단계와 (f) 상기 BIOS의 나머지 부분이 일단 상기 랜덤 액세스 메모리내로 적재되면 상기 BIOS의 나머지 부분으로 제어를 이동시키는 단계를 포함하는 것을 특징으로 하는 BIOS 적재 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US398,865 | 1989-08-25 | ||
US07/398,865 US5210875A (en) | 1989-08-25 | 1989-08-25 | Initial bios load for a personal computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR910005170A KR910005170A (ko) | 1991-03-30 |
KR930007679B1 true KR930007679B1 (ko) | 1993-08-18 |
Family
ID=23577103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019900012418A KR930007679B1 (ko) | 1989-08-25 | 1990-08-11 | 개인용 컴퓨터 시스템과, 이 시스템에 bios를 적재하기 위한장치 및 방법 |
Country Status (15)
Country | Link |
---|---|
US (1) | US5210875A (ko) |
EP (1) | EP0419005B1 (ko) |
JP (1) | JPH0812605B2 (ko) |
KR (1) | KR930007679B1 (ko) |
CN (1) | CN1017838B (ko) |
AT (1) | ATE136667T1 (ko) |
AU (1) | AU637123B2 (ko) |
CA (1) | CA2020523C (ko) |
DE (2) | DE69026451T2 (ko) |
GB (1) | GB9012945D0 (ko) |
MY (1) | MY105935A (ko) |
NZ (1) | NZ234710A (ko) |
PE (1) | PE19491A1 (ko) |
PT (1) | PT95080A (ko) |
SG (1) | SG44401A1 (ko) |
Families Citing this family (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5361365A (en) * | 1989-11-06 | 1994-11-01 | Sharp Kabushiki Kaisha | Microprocessor for selectively performing cold and warm starts |
EP0483865A3 (en) * | 1990-11-02 | 1992-09-02 | Kabushiki Kaisha Toshiba | Personal computer capable of changing boot priority |
EP0489227B1 (en) * | 1990-12-06 | 1998-12-23 | Tandberg Data Asa | Data storage system having removable media and equipped to download a control program from the removable media |
EP0510244A1 (en) * | 1991-04-22 | 1992-10-28 | Acer Incorporated | Method and apparatus for protecting a computer system from computer viruses |
IT1254937B (it) * | 1991-05-06 | 1995-10-11 | Aggiornamento dinamico di memoria non volatile in un sistema informatico | |
DE4215063C2 (de) * | 1991-05-10 | 1999-11-25 | Intel Corp | Einrichtung und Verfahren zum Seitenwechsel bei einem nicht-flüchtigen Speicher |
US5388267A (en) * | 1991-05-29 | 1995-02-07 | Dell Usa, L.P. | Method and apparatus for updating and restoring system BIOS functions while maintaining BIOS integrity |
JP4086083B2 (ja) * | 1991-11-28 | 2008-05-14 | 株式会社日立製作所 | フラッシュメモリを備えた情報機器 |
JPH05158664A (ja) * | 1991-12-03 | 1993-06-25 | Canon Inc | 情報処理装置 |
US5319751A (en) * | 1991-12-27 | 1994-06-07 | Intel Corporation | Device driver configuration in a computer system |
US5410713A (en) * | 1992-01-02 | 1995-04-25 | Smith Corona/Acer | Power-management system for a computer |
US5446898A (en) * | 1992-06-22 | 1995-08-29 | International Business Machines Corporation | Method and apparatus for configuring and installing a loadable ABIOS device support layer in a computer system |
US5495611A (en) * | 1992-06-22 | 1996-02-27 | International Business Machines Corporation | Method and apparatus for dynamic load of an ABIOS device support layer in a computer system |
US5481709A (en) * | 1992-06-22 | 1996-01-02 | International Business Machines Corporation | Method and apparatus for providing a modular ABIOS device support layer in a computer system |
US5465357A (en) * | 1992-06-22 | 1995-11-07 | International Business Machines Corporation | Method and apparatus for an automated dynamic load of an ABIOS device support layer in a computer system |
US6438683B1 (en) * | 1992-07-28 | 2002-08-20 | Eastman Kodak Company | Technique using FIFO memory for booting a programmable microprocessor from a host computer |
US5870520A (en) * | 1992-12-23 | 1999-02-09 | Packard Bell Nec | Flash disaster recovery ROM and utility to reprogram multiple ROMS |
US5774742A (en) * | 1993-01-11 | 1998-06-30 | Hitachi, Ltd. | Peripheral device using two microprocessors and two buses for automatically updating program after judging that update data is stored in a portable recording medium |
US6357000B1 (en) | 1993-01-29 | 2002-03-12 | Microsoft Corporation | Method and system for specified loading of an operating system |
US5537596A (en) * | 1993-02-19 | 1996-07-16 | Apple Computer, Inc. | Method and apparatus for overriding resource maps in a computer system |
US5469573A (en) * | 1993-02-26 | 1995-11-21 | Sytron Corporation | Disk operating system backup and recovery system |
US5519843A (en) * | 1993-03-15 | 1996-05-21 | M-Systems | Flash memory system providing both BIOS and user storage capability |
SE515082C2 (sv) * | 1993-03-19 | 2001-06-05 | Icl Systems Ab | Förfarande och arrangemang vid ett datorsystem |
US5418918A (en) * | 1993-09-10 | 1995-05-23 | Compaq Computer Corp. | Scanning initial CD-ROM sectors for a boot record and executing said boot record to load and execute floppy disk image corresponding to the existing floppy drive |
US5526503A (en) * | 1993-10-06 | 1996-06-11 | Ast Research, Inc. | Virtual addressing buffer circuit |
US6453363B1 (en) | 1993-10-21 | 2002-09-17 | Microsoft Corporation | Method and computer system for integrating a compression system with an operating system |
US5379431A (en) * | 1993-12-21 | 1995-01-03 | Taligent, Inc. | Boot framework architecture for dynamic staged initial program load |
JP2812189B2 (ja) * | 1994-02-10 | 1998-10-22 | 日本電気株式会社 | プログラムダウンロード方法 |
US5768568A (en) * | 1994-04-29 | 1998-06-16 | International Business Machines Corp. | System and method for initializing an information processing system |
US5673385A (en) * | 1994-06-15 | 1997-09-30 | Hewlett-Packard Company | Method for downloading special code from a computer to a hard copy apparatus |
GB2290890B (en) * | 1994-06-29 | 1999-03-24 | Mitsubishi Electric Corp | Information processing system |
US5564054A (en) * | 1994-08-25 | 1996-10-08 | International Business Machines Corporation | Fail-safe computer boot apparatus and method |
US5652868A (en) * | 1994-09-27 | 1997-07-29 | International Business Machines Corporation | Data processor having BIOS decryption of emulated media images |
US5586327A (en) * | 1994-09-27 | 1996-12-17 | International Business Machines Corporation | Extended initialization for personal data processing systems |
US5694583A (en) * | 1994-09-27 | 1997-12-02 | International Business Machines Corporation | BIOS emulation parameter preservation across computer bootstrapping |
US6421776B1 (en) * | 1994-10-14 | 2002-07-16 | International Business Machines Corporation | Data processor having BIOS packing compression/decompression architecture |
EP0789951B1 (en) * | 1994-11-04 | 2006-03-29 | Intel Corporation | Pcmcia autoconfigure pc card |
US5642506A (en) * | 1994-12-14 | 1997-06-24 | International Business Machines Corporation | Method and apparatus for initializing a multiprocessor system |
US5701477A (en) * | 1995-03-30 | 1997-12-23 | Cirrus Logic, Inc. | Method and apparatus for master boot record shadowing |
GB2300497B (en) * | 1995-05-03 | 1999-12-15 | Brasil International | Computer control device for use with a TV game machine |
US5822581A (en) * | 1995-09-29 | 1998-10-13 | Intel Corporation | Method for CMOS configuration information storage and retrieval in flash |
US5835760A (en) * | 1995-10-13 | 1998-11-10 | Texas Instruments Incorporated | Method and arrangement for providing BIOS to a host computer |
GB2309104B (en) * | 1996-01-11 | 2000-06-07 | Ibm | Preloading software onto a computer system |
EP0880840A4 (en) * | 1996-01-11 | 2002-10-23 | Mrj Inc | DEVICE FOR CONTROLLING ACCESS AND DISTRIBUTION OF DIGITAL PROPERTY |
US5822582A (en) * | 1996-07-19 | 1998-10-13 | Compaq Computer Corporation | Boot drive selection and hibernation file detection |
US5930504A (en) * | 1996-07-22 | 1999-07-27 | Intel Corporation | Dynamic nonvolatile memory update in a computer system |
US6073232A (en) * | 1997-02-25 | 2000-06-06 | International Business Machines Corporation | Method for minimizing a computer's initial program load time after a system reset or a power-on using non-volatile storage |
US5978912A (en) * | 1997-03-20 | 1999-11-02 | Phoenix Technologies Limited | Network enhanced BIOS enabling remote management of a computer without a functioning operating system |
US5987536A (en) * | 1997-05-22 | 1999-11-16 | International Business Machines Corporation | Computer system having flash memory bios which can be accessed while protected mode operating system is running |
KR100216870B1 (ko) | 1997-05-28 | 1999-09-01 | 윤종용 | 컴퓨터의 바이오스 공용 장치 및 공용 방법 |
US6523112B1 (en) * | 1997-06-30 | 2003-02-18 | Emc Corporation | Operating system software boot program execution method |
US6282643B1 (en) | 1998-11-20 | 2001-08-28 | International Business Machines Corporation | Computer system having flash memory BIOS which can be accessed remotely while protected mode operating system is running |
US6401198B1 (en) * | 1999-03-09 | 2002-06-04 | Texas Instruments Incorporated | Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use |
US6405309B1 (en) * | 1999-06-18 | 2002-06-11 | Phoenix Technologies Ltd. | Method and apparatus for creating and deploying smaller Microsoft Windows applications for automatic configuration of a computing device |
AU1958701A (en) | 1999-12-08 | 2001-06-18 | Insyde Software, Inc. | A system and method for the delivery, retrieval and display of content prior to operating system loading |
US20080256352A1 (en) * | 2000-01-06 | 2008-10-16 | Super Talent Electronics, Inc. | Methods and systems of booting of an intelligent non-volatile memory microcontroller from various sources |
US6711675B1 (en) * | 2000-02-11 | 2004-03-23 | Intel Corporation | Protected boot flow |
GB2360370B (en) * | 2000-03-14 | 2002-04-24 | Inventec Corp | Software driver installation method |
US7117376B2 (en) * | 2000-12-28 | 2006-10-03 | Intel Corporation | Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations |
JP2002366504A (ja) * | 2001-06-08 | 2002-12-20 | Teac Corp | 情報処理装置 |
US20040064457A1 (en) * | 2002-09-27 | 2004-04-01 | Zimmer Vincent J. | Mechanism for providing both a secure and attested boot |
US8805981B2 (en) * | 2003-03-25 | 2014-08-12 | Advanced Micro Devices, Inc. | Computing system fabric and routing configuration and description |
US20050057125A1 (en) * | 2003-08-08 | 2005-03-17 | Duke Manufacturing Company | Graphics display |
US7340593B2 (en) * | 2004-04-09 | 2008-03-04 | Dell Products L.P. | Hard drive reset cache |
US7296143B2 (en) * | 2004-06-22 | 2007-11-13 | Lenovo (Singapore) Pte. Ltd. | Method and system for loading processor boot code from serial flash memory |
US7694121B2 (en) * | 2004-06-30 | 2010-04-06 | Microsoft Corporation | System and method for protected operating system boot using state validation |
CN1331050C (zh) * | 2004-11-29 | 2007-08-08 | 华为技术有限公司 | 一种基本输入输出系统启动的方法 |
US8250296B2 (en) * | 2004-12-01 | 2012-08-21 | Dell Products L.P. | System and method for information handling system memory page mapping optimization |
US8554686B2 (en) * | 2005-06-30 | 2013-10-08 | Advanced Micro Devices, Inc. | Anti-hack protection to restrict installation of operating systems and other software |
US8037291B2 (en) * | 2007-01-29 | 2011-10-11 | Hewlett-Packard Development Company, L.P. | Master boot record management |
US8583908B2 (en) * | 2007-12-31 | 2013-11-12 | Intel Corporation | Enhanced network and local boot of Unified Extensible Firmware Interface images |
US20100023740A1 (en) * | 2008-07-23 | 2010-01-28 | Seagate Technology Llc | Diagnostic utility and method for a data storage device |
KR101078289B1 (ko) * | 2009-08-25 | 2011-10-31 | 한국전자통신연구원 | 파티션 복구 방법 및 장치 |
US8464038B2 (en) | 2009-10-13 | 2013-06-11 | Google Inc. | Computing device with developer mode |
US8929391B2 (en) | 2011-06-22 | 2015-01-06 | Schweitzer Engineering Laboratories, Inc. | Systems and methods for communications devices having multiple interfaces |
KR101579746B1 (ko) * | 2013-11-07 | 2015-12-23 | 이영호 | 초음파 융착을 이용한 다중 색상을 갖는 안경다리 및 그 제조방법 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3931504A (en) * | 1972-02-07 | 1976-01-06 | Basic Computing Arts, Inc. | Electronic data processing security system and method |
US3996449A (en) * | 1975-08-25 | 1976-12-07 | International Business Machines Corporation | Operating system authenticator |
US4446519A (en) * | 1981-05-26 | 1984-05-01 | Corban International, Ltd. | Method and apparatus for providing security for computer software |
US4593353A (en) * | 1981-10-26 | 1986-06-03 | Telecommunications Associates, Inc. | Software protection method and apparatus |
JPS5897724A (ja) * | 1981-12-04 | 1983-06-10 | Mitsubishi Electric Corp | 初期プログラムロ−ド方法 |
US4525599A (en) * | 1982-05-21 | 1985-06-25 | General Computer Corporation | Software protection methods and apparatus |
US4654783A (en) * | 1982-07-26 | 1987-03-31 | Data General Corporation | Unique process for loading a microcode control store in a data processing system |
US4785361A (en) * | 1982-11-08 | 1988-11-15 | Vault Corporation | Method and apparatus for frustrating the unauthorized copying of recorded data |
JPS59188719A (ja) * | 1983-04-11 | 1984-10-26 | Hitachi Micro Comput Eng Ltd | システム起動方式 |
US4562306A (en) * | 1983-09-14 | 1985-12-31 | Chou Wayne W | Method and apparatus for protecting computer software utilizing an active coded hardware device |
US4649514A (en) * | 1983-11-30 | 1987-03-10 | Tandy Corporation | Computer revision port |
US4577289A (en) * | 1983-12-30 | 1986-03-18 | International Business Machines Corporation | Hardware key-on-disk system for copy-protecting magnetic storage media |
US4748561A (en) * | 1984-05-14 | 1988-05-31 | Mark Brown | Method of protecting computer software |
US4663707A (en) * | 1984-05-25 | 1987-05-05 | Scientific Micro Systems, Inc. | Multilevel bootstrap apparatus |
US4747139A (en) * | 1984-08-27 | 1988-05-24 | Taaffe James L | Software security method and systems |
CA1238427A (en) * | 1984-12-18 | 1988-06-21 | Jonathan Oseas | Code protection using cryptography |
JPS61201357A (ja) * | 1985-03-02 | 1986-09-06 | Nec Corp | 情報処理装置 |
US4688169A (en) * | 1985-05-30 | 1987-08-18 | Joshi Bhagirath S | Computer software security system |
US4685056A (en) * | 1985-06-11 | 1987-08-04 | Pueblo Technologies, Inc. | Computer security device |
US4685055A (en) * | 1985-07-01 | 1987-08-04 | Thomas Richard B | Method and system for controlling use of protected software |
US4817140A (en) * | 1986-11-05 | 1989-03-28 | International Business Machines Corp. | Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor |
US4796220A (en) * | 1986-12-15 | 1989-01-03 | Pride Software Development Corp. | Method of controlling the copying of software |
JPH01154226A (ja) * | 1987-12-10 | 1989-06-16 | Nec Corp | Bios内蔵ハードディスク装置システム |
JPH0223427A (ja) * | 1988-07-13 | 1990-01-25 | Toshiba Corp | パーソナルコンピュータ |
US5022077A (en) * | 1989-08-25 | 1991-06-04 | International Business Machines Corp. | Apparatus and method for preventing unauthorized access to BIOS in a personal computer system |
-
1989
- 1989-08-25 US US07/398,865 patent/US5210875A/en not_active Expired - Lifetime
-
1990
- 1990-06-11 GB GB909012945A patent/GB9012945D0/en active Pending
- 1990-07-04 AT AT90307307T patent/ATE136667T1/de not_active IP Right Cessation
- 1990-07-04 EP EP90307307A patent/EP0419005B1/en not_active Expired - Lifetime
- 1990-07-04 DE DE69026451T patent/DE69026451T2/de not_active Expired - Fee Related
- 1990-07-04 SG SG1996000186A patent/SG44401A1/en unknown
- 1990-07-05 CA CA002020523A patent/CA2020523C/en not_active Expired - Fee Related
- 1990-07-25 JP JP2197599A patent/JPH0812605B2/ja not_active Expired - Lifetime
- 1990-07-25 MY MYPI90001245A patent/MY105935A/en unknown
- 1990-07-30 AU AU60000/90A patent/AU637123B2/en not_active Ceased
- 1990-07-30 NZ NZ234710A patent/NZ234710A/xx unknown
- 1990-08-11 KR KR1019900012418A patent/KR930007679B1/ko not_active IP Right Cessation
- 1990-08-11 CN CN90106930A patent/CN1017838B/zh not_active Expired
- 1990-08-17 PE PE1990173715A patent/PE19491A1/es not_active Application Discontinuation
- 1990-08-23 PT PT95080A patent/PT95080A/pt not_active Application Discontinuation
- 1990-08-25 DE DE4026911A patent/DE4026911A1/de not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
PT95080A (pt) | 1992-05-29 |
JPH0812605B2 (ja) | 1996-02-07 |
DE69026451T2 (de) | 1996-10-10 |
CA2020523A1 (en) | 1991-02-26 |
US5210875A (en) | 1993-05-11 |
CN1050453A (zh) | 1991-04-03 |
PE19491A1 (es) | 1991-03-30 |
EP0419005B1 (en) | 1996-04-10 |
KR910005170A (ko) | 1991-03-30 |
AU6000090A (en) | 1991-02-28 |
SG44401A1 (en) | 1997-12-19 |
DE69026451D1 (de) | 1996-05-15 |
CN1017838B (zh) | 1992-08-12 |
ATE136667T1 (de) | 1996-04-15 |
JPH0391033A (ja) | 1991-04-16 |
GB9012945D0 (en) | 1990-08-01 |
AU637123B2 (en) | 1993-05-20 |
CA2020523C (en) | 1993-11-09 |
DE4026911A1 (de) | 1991-02-28 |
NZ234710A (en) | 1993-04-28 |
EP0419005A2 (en) | 1991-03-27 |
EP0419005A3 (en) | 1992-01-29 |
MY105935A (en) | 1995-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR930007679B1 (ko) | 개인용 컴퓨터 시스템과, 이 시스템에 bios를 적재하기 위한장치 및 방법 | |
KR930007680B1 (ko) | 개인용 컴퓨터 시스템에 bios를 적재하기 위한 장치 및 방법 | |
KR920008445B1 (ko) | 퍼스널 컴퓨터 시스템에서 bios용 메모리를 감축시키기 위한 장치 및 방법 | |
KR930004902B1 (ko) | 퍼스널 컴퓨터 시스템에서 bios로의 비승인 액세스를 방지하기 위한 장치 및 방법 | |
KR950002945B1 (ko) | 퍼스널 컴퓨터 시스템내의 시스템 유틸리티 보호 장치 | |
US5214695A (en) | Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system | |
US5509120A (en) | Method and system for detecting computer viruses during power on self test | |
US5768568A (en) | System and method for initializing an information processing system | |
JPS6336019B2 (ko) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20020608 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |