KR930007680B1 - 개인용 컴퓨터 시스템에 bios를 적재하기 위한 장치 및 방법 - Google Patents

개인용 컴퓨터 시스템에 bios를 적재하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR930007680B1
KR930007680B1 KR1019900012419A KR900012419A KR930007680B1 KR 930007680 B1 KR930007680 B1 KR 930007680B1 KR 1019900012419 A KR1019900012419 A KR 1019900012419A KR 900012419 A KR900012419 A KR 900012419A KR 930007680 B1 KR930007680 B1 KR 930007680B1
Authority
KR
South Korea
Prior art keywords
bios
boot record
diskette
master boot
memory
Prior art date
Application number
KR1019900012419A
Other languages
English (en)
Other versions
KR910005171A (ko
Inventor
비일코브스키 리챠드
윌리 블랙릿지 2세 죤
스탠필 크롱크 도일
앨런 다이언 리챠드
제라드 킨니어 스코트
디·코바크 죠지
스티븐 팔카 2세 매튜
삭센마이어 로버트
마샬 자이보로스키 케빈
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
하워드 지 · 피거로아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션, 하워드 지 · 피거로아 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR910005171A publication Critical patent/KR910005171A/ko
Application granted granted Critical
Publication of KR930007680B1 publication Critical patent/KR930007680B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Secondary Cells (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

내용 없음.

Description

개인용 컴퓨터 시스템에 BIOS를 적재하기 위한 장치 및 방법
제1도는 다수의 직접 액세스 기억장치(direct access storage device)에 접속된 시스템 플레이너 보드(system planar board)를 도시하는 개인용 컴퓨터 시스템의 단면도.
제2도는 제1도의 개인용 컴퓨는 시스템의 블럭도.
제3도는 시스템 플레이너 보드상에 포함된 ROM BIOS의 메모리 맵.
제4도는 직접 액세스 기억장치로부터 BIOS 이미지(image)를 적재하기 위한 전체적인 프로세스(process)를 설명하는 흐름도.
제5도는 마스터 부트 레코드(master boot record)의 레코드 포맷(format)을 도시한 도면.
제6a도는 IBL루틴의 동작을 설명하는 흐름도.
제6b도는 마스터 부트 레크드를 고정 디스크(fixed disk)로부터 적재하기 위한 단계를 설명하는 흐름도.
제6c도는 BIOS 이미지를 디스켓(diskette)으로부터 적재하기 위한 단계를 설명하는 흐름도.
제6d도는 마스터 부트 레코드와 플레이너/프로세서간의 적합성(compatibility)을 검사(checking)하는 상세흐름도.
제7도는 BIOS 이미지를 직접 액세스 기억장치로부터 적재하기 위한 마스터 부트 레코드의 실행을 도시한 상세흐름도.
* 도면의 주요부분에 대한 부호의 설명
10 : 개인용 컴퓨터 시스템 26 : 시스템 프로세서
32 : 랜덤 액세스 메모리 36 : 판독 전용 메모리
62, 66 : 직접 액세스 기억장치
관련출원
본 출원에 관련된 출원은 다음과 같다.
(1) 발명의 명칭이 "개인용 컴퓨터 시스템과, 이 시스템과 BIOS를 적재하기 위한 방법 및 장치"인 한국출원 제90-12418호
(2) 발명의 명칭이 "개인용 컴퓨터 시스템의 BIOS에 대한 인증되지 않은 액세스를 방지하는 장치 및 방법"인 한국출원 제90-12416호
(3) 발명의 명칭이 "개인용 컴퓨터 시스템의 BIOS에 대한 메모리 요건을 감소시키는 장치 및 방법"인 한국출원 제90-12417호.
발명의 분야
본 발명은 개인용(personal) 컴퓨터 시스템에 관한 것으로, 특히 개인용 컴퓨터 시스템에 디스켓(diskette) 기본적 입출력 시스템(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패밀리는 패밀리 II모델로 참조되는 것으로서, 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을 필요로하게 되었다.
오늘날, 새로운 기술의 발전에 의해서, 패밀리 II모델의 개인용 컴퓨터 시스템은 더욱 정교해지고 (sophisticated) 사용자가 보다 친숙하게 이용할 수 있게 되어가고 있다. 기술이 급속히 변화하여 새로운 I/O장치들이 개인용 컴퓨터 시스템에 부가됨에 따라, 개인용 컴퓨터 시스템의 개발 사이클(development cycle)에 있어 BIOS에 대한 변형(modification)이 중요한 문제로 대두되었다.
예컨대, 마이크로패널 아키텍쳐를 갖는 IBM 개인용 시스템/2의 도입에 따라, 진보된(advanced) BIOS 즉 ABIOS로 알려진 새로운 BIOS가 개발되었다. 그러나, 소프트웨어 호환성을 유지하기 위해서는, 패밀리 I모델의 BIOS가 패밀리 II모델에 포함시킬 필요가 있었다. 패밀리 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)될 수 없을 것이다.
이러한 문제점 때문에, 또한 개발 사이클에 있어서 패밀리 IIBIOS에 대한 가장 최근에 행해진 변형에 의하면 ROM에서 BIOS의 적재부를 제거하는 것이 필요하였다. 이러한 것을 달성하기 위해서는 BIOS부분을 고정 디스크에 기억시켜 이 고정 디스크로부터 적재를 행하였다. 그러나, 고정 디스크로부터만 적재를 행하는 것에는 몇가지 제한을 갖는다는 것이 발견되었다. 주로, 디스크를 사용할 수 없게 되면, 시스템을 사용할 수 없었다. 또한, 시스템에 대한 갱신은 BIOS와 새로운 시스템 구성간의 적합성 문제를 유발시켰다. 따라서, 고정 디스크 이외에 직접 액세스 기억장치로부터 BIOS를 적재할 필요성이 대두되었다. 또한, BIOS가 적재된 디스켓에 우선순위(priority) 및 회복 모드(recovery mode)를 제공하는 것이 매우 바람직하다. 우선순위 모드에서는 BIOS는 디스켓으로부터 직접 적재되어진다. 회복 모드에서는, BIOS는 디스크로부터의 적재가 실패한 경우에만 디스켓으로부터 적재된다.
본 발명은 상술한 문제점들을 해결하려는 목적으로 개발되었다. 따라서, 본 발명의 한 목적은, BIOS의 일부를 디스켓에 저장하여 이것으로부터 적재를 행하는 장치 및 방법을 제공하는데 있다.
본 발명의 다른 목적은, 통상 BIOS를 고정 디스크 드라이브(fixed disk drive)로부터 적재하는 개인용 컴퓨터 시스템의 디스켓 드라이브로부터 BIOS를 적재하기 위한 방법 및 장치를 제공하는데 있다.
본 발명의 또다른 목적은 디스켓 드라이브에 기억된 BIOS와 개인용 컴퓨터 시스템의 하드웨어 구성간의 적합성(compatibility)을 확인(confirm)하는 장치 및 방법을 제공하는데 있다.
본 발명의 개인용 컴퓨터 시스템은 시스템 프로세서(system processor), 랜덤 액세스 메모리(random access memory), 판독 전용 메모리, 디스켓 드라이브, 스위칭 수단(switching means) 및 통상 디스크 드라이브를 구비하고 있다. 판독 전용 메모리는 동작중 BIOS의 제1부분을 포함하며 시스템을 초기화시켜 시스템 프로세서에 전기 접속된 스위칭 수단의 상태를 검출한다. 스위칭 수단이 우선순위 위치에 있으면, 고정 디스크 드라이브에 대해 테스팅을 하지 않고 직접 디스켓 드라이브로부터 마스터 부트 레코드를 적재한다(우선순위 모드). 스위칭 수단이 회복 위치에 있으면 BIOS의 제1부분은 고정 디스크로부터 마스터 부트 레코드(master boot record)를 적재하려고 시도한다. 고정 디스크가 이용불가의 비동작이거나 또는 디스크상의 마스터 부트 레코드가 무효(invalid)이면, BIOS의 제1부분의 디스켓 드라이브로부터의 마스터 부트 레코드를 판독한다(회복 모드).
마스터 부트 레코드가 고정 디스크 또는 디스켓으로부터 적재되든지간에 이것은 데이타 세그먼트(data segment)와 실행가능 코드 세그먼트(executable code segment)를 포함하고 있다. 이 데이타 세그먼트는 시스템 하드웨어와 이 마스터 부트 레코드에 적합한 시스템 구성을 나타내는 데이타를 포함하고 있다. 제1 BIOS에 의해 실행 코드 세그먼트로 제어가 이동되며, 마스터 부트 레코드의 데이타 세그먼트로부터의 데이타가 판독 전용 메모리에 기억되어 시스템 프로세서, 시스템 플레이너, 및 시스템 플레이너 I/O구성을 나타내는 데이타와 일치하는가를 검증함으로써 마스터 부트 레코드가 시스템 하드웨어에 적합한가를 확인한다.
마스터 부트 레코드가 시스템 하드웨어에 적합하면, 실행가능 코드 세그먼트에 의해 시스템 구성이 변경되지 않았음이 확인되어 BIOS의 나머지 부분이 디스크 드리이브 또는 디스켓 드리이브로터 랜덤 액세스 메모리에 적재된다. 다음에 실행가능 코드 세그먼트에 의해 나머지 BIOS부분의 신빙성(authenticity)이 검증되어, 시스템 프로세서가 벡터되어 랜덤 액세스 메모리에 현존하고 있는 BIOS가 실행되기 시작한다. 그 다음에 메모리에서 실행되는 BIOS에 의해 오퍼레이팅 시스템이 부트 업(boot up)되어 개인용 컴퓨터 시스템이 동작하기 시작한다. 더이상 어드레스될 수 없어 BIOS의 나머지 부분으로 대체되는 제1 BIOS부분은 방치(abandon)되어진다.
대체로, BIOS를 디스켓 매체로부터 적재하는 장치 및 방법은 신호 생성(signal producing)수단, 제1 BIOS부분, 마스터 부트 레코드, 신호 응답(responding)수단 및 BIOS의 나머지 부분을 포함한다. 스위칭 수단과 같은 신호 생성 수단은 디스켓 적재 모드를 표시하는 신호를 생성한다. 제1 BIOS부분에 포함된 신호 응답 수단은 상기 신호에 응답하여 BIOS가 디스켓으로부터 적재되는가를 판단한다. 제1 BIOS부분은 시스템을 초기화시켜 필요한 경우 디스켓을 초기화시켜, 마스터 부트 레크드를 랜덤 액세스 메모리내로 적재시킨다. 마스터 부트 레코드는 제1 BIOS부분에 의해 작동되어 BIOS의 나머지 부분을 랜덤 액세스 메모리내로 실행 적재하는 코드를 포함한다.
본 발명의 이하의 적합실시예에서 도면을 참조 후술하기로 하며, 이 실시예에만 국한되는 것은 아니다.
다수의 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)는 또한 랜덤 액세스 메모리[RAM](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플레이너 버스(34)를 통해 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)에도 접속될 수 있다.
신호 생성 수단은 스위치(29)의 위치에 따라 프로세서(26)에 신호를 공급한다. 예를들어, 스위치(29)는 라인(33)상에 신호를 발생하도록 위치되어 시스템에서 디스켓 회복 모드를 실행한다. 동일하게, 스위치(29)는 라인(35)상에 신호를 발생하도록 위치되어 디스켓 우선순위 모드를 실행한다. 또한 스위치(29)는 하드웨어 점퍼(jumper)로 대체될 수 있어 라인(33 또는 35)은 하나의 라인으로 결합되어 우선순위 모드 및 회복모드의 특정기능을 실행할 수 있다. 스위치(29)가 라인(33 또는 35)상에 신호를 발생하지 않도록 위치될 수 있다는 것에 주목한다.
시스템 프로세서(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(26)내의 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(70)은 시스템 사전-초기화(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스테이지 II로 제어가 이동되어짐으로써 ROM-BIOS는 방치된다. 현재 RAM 안에 있는 POST스테이지 II는 시스템의 나머지부를 초기화하고 테스트하여 오퍼레이팅 시스템 부트(boot)를 적재한다[단계(110)]. 시스템중 나머지부가 초기화 및 테스트된 후 POST스테이지 II에 의해 오퍼레이팅 시스템 부트로 제어가 이동되어 스테이지 II POST는 오퍼레이팅 시스템에 적재된다[단계(112 내지 114)].
명료히 하기 위해, 현시점에서는 마스터 부트 레코드의 포맷(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 루틴은 또한 마스터부트 레코드가 디스켓으로부터 적재되는 디스켓 우선순위 모드 및 회복 모드에 대한 수단을 포함하고 있다. 우선순위 모드시에, 마스터 부트 레코드는 고정 디스크로부터 적재를 시도하기 이전에 디스켓으로부터 직접 적재된다. 우선순위 모드의 목적은 디스크 BIOS 적재 프로세스의 에러 검사 절차를 바이패스하려는데 있다. 디스켓 BIOS 적재 프로세스는 고정 디스크 BIOS 적재 프로세스에서 사옹되는 유효성 검사를 포함하지 않는다. 이것에 의해 디스켓으로부터 시스템에 적재되도록 시스템이 갱신되어진다. 예를들어, 새로운 프로세서가 시스템에 부가되면, 새로운 BIOS 이미지가 필요해진다. 다른 프로세서에 의해 고정 디스크로부터의 적재시 유효성 에러가 유발될 수 있으므로 IBL 루틴은 디스켓으로부터 BIOS 이미지를 적재함으로써 이러한 테스트를 바이패스하는 능력을 제공한다. 그러므로 디스켓에 포함된 새로운 BIOS 이미지에 의해 사용자는 고정 디스켓상의 BIOS 이미지를 갱신할 수 있다.
회복 모드시에, 시스템은 NVRAM에 기억된 패스워드(password) 테스트를 바이패스할 수 있다. 패스워드의 목적은 디스켓으로부터의 인증되지 않은 적재를 방지하려는 것이지만, 시스템에 회복 모드가 포함되어 커스티머 엔지니어(CE) 등은 진단 테스트를 위해 디스켓으로부터의 적재를 행할 수 있다. 우선순위 모드 및 회복 모드는 단일 스위치에 의해 동작되어 동일한 결과를 달성할 수 있다. 이러한 구성에 있어서, 우선순위 모드시에 디스켓 매체를 이용할 수 없으면, 사용자에게는 디스켓을 삽입하기 위한(회복 모드 검사를 위한) 여분의 시간이 제공되어 디스켓으로부터의 BIOS 적재를 행한다. 이것은 사용자에게는 우선순위 모드 적재로서 보이지만 실제로는 회복 모드 동작이다. IBL 루틴이 고정 디스크 또는 디스켓으로 부터 마스터 부트 레코드를 적재할 수 없다면, 에러 메시지(error message)가 발생되어 시스템은 정지(halt)한다.
지금부터 제6a도를 보면, 스위칭 수단을 테스트하여 우선순위 모드의 활성을 검출한다[단계(151)]. 우선순위 모드가 디스켓 서브 시스템이 초기화된다[단계(153)]. 설명하기 위한 목적으로, 고정 디스크는 개인용 컴퓨터 시스템의 드라이브 C로서 규정한다. 동일하게, 드라이브 A는 디스켓 드라이브로서 규정한다. IBL루틴은 드라이브 A를 검사하여 IBL 매체를 포함하는지 아닌지를 판단한다[단계(155)]. 이 프로세스에 대해서는 제6c도에서 상세히 기술되어 있다. 드라이브 A가 IBL 매체를 포함하지 않으면, 시스템은 고정 디스크로부터 IBL 매체를 적재하려 시도한다[단계(150))]. 단계(155)로 가서, 드라이브 A가 IBL 매체를 포함하면, 마스터 부트 레코드가 RAM에 적재된다[단계(160)].
단계(151)로 되돌아가서, 우선순위 모드가 활성되지 않으면, 고정 디스크 서브 시스템이 초기화되고, IBL 루틴은 드라이브 C를 검사하여 IBL 매체를 포함하는가를 판단한다[단계(152)]. 이 프로세스에 대해 제6b도에서 상세히 기술되어 있다. 드라이브 C가 IBL 매체를 포함하지 않으면, 에러가 보고된다[단계(154)].
단계(152)로 가서, 드라이브 C가 IBL 매체를 포함하면, IBL 루틴은 최종 세개 섹터에서 고정 디스크로 부터 판독을 시작하고 99섹터에 대해 또는 유효 마스터 부트 레코드가 발견될 때까지 판독을 계속 행하며, 매체 포인터(media pointer)를 감소시킨다. 마스터 부트 레코드가 발견되면, 시스템 플레이너 및 프로세서 적합성에 대해 검사한다[단계(156)]. 마스터 부트 레코드가 고정 디스크(1차 하드화일)의 최종99섹터에서 발견되지 않거나 또는 시스템 플레이너 또는 프로세서에 적합하지 않으면, 에러가 보고된다[단계(158)].
단계(156)으로 돌아가서, 마스터 부트 레코드가 발견되면, 일련의 유효성 검사가 행해져 마스터 부트 레코드가 컴퓨터 시스템에 적합한지 또한, 시스템의 구성도 검사된다. 이 프로세스에 대해 제6d도에서 상세히 기술되어 있다. 마스터 부트 레코드가 플레이너 ID, 모델 및 서브 모델에 적합하고, 또한 시스템 구성이 변경되지 않았으면, 마스터 부트 레코드는 적재되고 마스터 부트 레코드의 코드 세그먼트가 실행된다[단계(160)].
단계(154 및 158)로 돌아가서, 고정 디스크로부터 마스터 부트 레코드 적재시 에러가 발생하거나, 고정 디스크가 사용가능하지 않으면, 시스템은 회복 모드가 활성인지를 판단한다[단계(157)]. 회복 모드가 활성이면 NVRAM의 유효한 패스워드에 대한 테스트는 바이패스되고 디스켓 서브 시스템은 초기화된다[단계(166)]. 회복 모드가 활성이 아니면, 시스템은 NMRAM에 유효한 패스워드가 포함되어 있는지 판단한다[단계(162)]. 이 패스워드에 의해 BIOS 이미지가 인증되지 않은 사용자가 디스켓으로부터 적재될 수 있는가가 판단된다. 패스워드는 사용자가 그렇게 행할때만 NVRAM에 존재하게 된다. 패스워드가 NVRAM에 기억되면, (커스터머 엔지니어 이외의) 모든 사용자가 BIOS 이미지를 디스켓으로부터 적재하는 것을 방지할 수 있다[단계(164)]. 이것에 의해 시스템은 정확한 구성에 대해서만 고정 디스크상의 BIOS 이미지의 적재를 실행함으로써 시스템의 동작은 완전 무결하게 된다. 패스워드가 존재하면, 디스켓 서브 시스템을 액세스할 수 없어 시스템은 정지된다[단계(172)]. SETUP 프로그램이 실행중인 것과 같은 시스템 구성동안 이러한 패스워드는 NVRAM에 적재될 수 있다.
단계(162)에 복귀하여, NVRAM내에 유효한 패스워드가 존재하지 않아 BIOS 이미지가 디스켓으로부터 적재하게 되면, IBL 루틴은 디스켓 서브 시스템을 초기화시킨다[단계(166)]. 다음에 IBL 루틴은 드라이브 A가 디스켓상에 IBL 매체를 포함하는지 판단한다[단계(168)]. 드라이브 A가 IBL 매체를 포함하지 않으면, 에러가 발생되어 사용자에게 무효 디스켓이 드라이브에 삽입되었음을 통지한다[단계(170)]. 그때 시스템은 정지된다[단계(172)]. 제6c도에서는 단계(168)에 대해 보다 상세히 기술되어 있다.
단계(168)로 복귀하여, 드라이브 A가 IBL 매체를 검사한후, 마스터 부트 레코드가 RAM에 적재되고 마스터 부트 레코드에 포함된 코드 세그먼트가 실행된다[단계(160)]. 디스켓에 있어서는, IBL 루틴이 고정 디스크 시스템에서 이용되었던 유효성 검사를 포함하지 않는다는 것이 중요한 사항이다. 상술한 바와 같이, 유효성 검사를 행하지 않는 이유는, 새로운 IBL 이미지가 디스켓으로부터 적재될 시에 미정의 변경을 행하기 위한 것이다.
되풀이하자면, 먼저 우선순위 모드가 테스트된다. 우선순위 모드시에 디스켓 드라이브가 IBL 매체를 포함하지 않으면 시스템은 고정 디스크를 테스트한다. 고정 디스크가 IBL 매체를 포함하면, 마스터 부트 레코드는, 시스템 플레이너 ID 및 프로세서 모델 값/서브 모델 값이 부트 레코드 값과 일치함에 의하여 시스템에 적합한가가 검사된다. 디스크에 있어서, 이러한 검사는 IBL 루틴(72)에서 먼저 행해진 다음, IBL 부트 레코드에서 다시 행해진다. (IBL 루틴에서의) 제1검사를 행함에 의해 부트 레코드가 확실하게 시스템에 적합하게 되며, (부트 레코드에서의) 제2검사에 의해서 적합한 ROM 이 제어를 확실하게 부트 레코드로 이동시킨다. IBL 루틴이 이미 적합성에 대해 검사하였으므로 디스크 부트 레코드에서 행해진 검사는 적합한 ROM에 대해서는 실패하지 않을 것이다. 대조적으로, 첫번째 디스켓에 대해서는 적합성 검사가 행해지지 않는다. 플레이너/프로세서 적합성은 디스켓 부트 레코드가 실행되는 동안에만 검사된다. 이러한 방법에 의해 참조(reference) 디스켓으로부터 새로운 BIOS 이미지를 적재할시에 변형이 가능하게 한다. 디스크가 IBL 매체를 포함하지 않으면, 회복 모드 및 패스워드가 테스되어된다. 회복 모드가 활성이거나 패스워드가 부재이면, IBL 매체는 디스켓으로부터 적재되어진다. 회복 모두가 활성이 아니고 패스워드가 존재하면, 에러가 발생되어 시스템이 정지된다.
제6a도의 IBL 루틴에서는 상술한 유효성 테스트를 완전히 이해할 수 있도록 설명되어 있다. 제6b도는 제6a도의 단계(152)에 대한 상세한 흐름도로서, 유효한 마스터 부트 레코드가 드라이브 C에 이는지 판단한다. 이 프로세스는 드라이브 파라미터(parameter)의 획득에 의해 시작되어 IBL 루틴이 드라이브 C를 액세스하게 된다[단계(200)]. IBL 적재 위치는 디스크로부터 최종 3개 섹터(최종 3개 섹터는 마스터 부트 레코드를 통상 포함함)에 셋트되어 있다[단계(202)]. 디스크로부터 마스터 부트 레코드를 판독하는 시도 회수를 나타내는 적재 카운트(load count)는 1로 셋트되어 있다[단계(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는 고정 디스크 드라이브를 테스트한 후에 디스켓으로부터 적재되어진다. 디폴트 모드시에 BIOS는 고정 디스크를 테스트한 후와 의도적으로 설정한 패스워드 존재에 대해서 테스트한 후 적재되어진다.
비록 본 발명이 적합한 실시예에 대해서만 설명하였지만, 본 기술 분야에서 통상의 지식을 가진 사람에게는 첨부된 청구범위의 사상 및 범주를 벗어나지 않는한 여러 변형이 가능하다는 것을 주지의 사실이다.

Claims (5)

  1. 시스템 프로세서(system processor)와, 판독 전용 메모리와, 랜덤 액세스 메모리 및 디스켓 드라이브(diskette drive)를 포함하며, 통상 하드 화일(hardfile)에 접속되어 있는 개인용 컴퓨터 시스템의 상기디스켓 드라이브에 포함되어 있는 디스켓 매체로부터 BIOS를 적재하기 위한 장치에 있어서, 상기 판독 전용 메모리내에 상주하며, 상기 시스템을 초기화시키는 수단을 포함하는 제1BIOS 부분과, 상기 디스켓 매체내에 기억되어 있으며 실행 가능 코드세그먼트(executable code segment)를 포함하는 마스터 부트 레코드(master boot record)와, BIOS가 디스켓 드라이브로부터 적재되어 있는 것을 표시하는 신호를 생성하는 수단과, 상기 신호에 응답하여 BIOS가 디스켓 드라이브 또는 하드 화일로부터 적재되어지는가를 판단하며, BIOS가 디스켓 매체로부터 적재되어지면 상기 제1BIOS 부분내의 수단에 의해 상기 디스켓 드라이브를 초기화시켜 상기 마스터 부트 레코드를 상기 랜덤 액세스 메모리내로 적재하는 수단과, 상기 디스켓 매체내에 기억되어 있으며, 상기 제1BIOS 부분에 의해 상기 마스터 부트 레코드의 실행 가능 코드 세그먼트로 제어가 이동되어 상기 랜덤 액세스 메모리내로 적재되어지는 BIOS의 나머지 부분을 포함하는 것을 특징으로 하는 BIOS 적재 장치.
  2. 제1항에 있어서, 상기 신호 생성 수단은 우선순위 신호(priority signal)를 발생하며, 상기 우선순위 신호는, 상기 마스터 부트 레코드 및 상기 BIOS의 나머지 부분이 하드 화일을 액세스하기 전에 랜덤 액세스 메모리내로 적재되어지는 모드(mode)를 나타내는 것을 특징으로 하는 BIOS 적재 장치.
  3. 제2항에 있어서, 상기 신호 생성 수단은 회복 신호(recovery signal)를 발생하며, 상기 회복 신호는 BIOS를 하드 화일로부터 적재한 후에 상기 마스터 부트 레코드 및 상기 BIOS의 나머지 부분이 랜덤 액세스 메모리내로 적재되어지는 모드를 나타내는 특징으로 하는 BIOS 적재 장치.
  4. 판독 전용 메모리, 랜덤 액세스 메모리 및 비휘발성 메모리에 전기 접속되어진 시스템 프로세서를 포함하며, 통상하드 화일에 접속되어 있는 개인용 컴퓨터 시스템의 디스켓드라이브에 포함된 디스켓 매체로부터 BIOS를 적재하기 위한 장치에 있어서, 상기 판독 전용 메모리내에 상주하며, 상기 시스템을 초기화시키는 수단과 상기 하드 화일이 동작중인지를 판단하는 수단을 포함하는 제1BIOS 부분과, 상기 디스켓 매체에 기억되어 있으며, 실행 가능 코드 세그먼트를 포함하는 마스터 부트 레코드와, 통상 상기 비휘발성 메모리에 기억되어 있는 패스워드(password)로서, 하드 화일이 비동작인 것으로 판단하고 이 패스워드가 검출되지 않으면 상기 제1BIOS 부분내의 수단에 의해 상기 디스켓 드라이브가 초기화되어 상기 마스터 부트 레코드를 판독하는 패스워드와, 상기 디스켓 매체내에 기억되어 있으며, 상기 제1BIOS 부분에 의해 상기 마스터 부트 레코드의 실행 가능 코드 세그먼트로 제어가 이동되어 랜덤 액세스 메모리내로 적재되어지는 BIOS의 나머지 부분을 포함하는 것을 특징으로 하는 BIOS 적재 장치.
  5. 판독 전용 메모리, 랜덤 액세스 메모리 및 비휘발성 메모리에 전기 접속된 시스템 플레이너에 전기 접속되어 있는 시스템 프로세서를 포함하며 통상 하드 화일에 접속되어 있는 개인용 컴퓨터 시스템의 디스켓 드라이브로부터 BIOS를 적재하기 위한 방법에 있어서, (a) 상기 판독 전용 메모리에 상주하는 제1BIOS 부분에 의해 상기 시스템을 초기화하는 단계와, (b) 상기 하드 화일이 존재하는가를 판단하는 단계와, (c) 상기 하드화일이 부재이면 패스워드에 대해 상기 비휘발성 메모리를 탐색하는 단계와, (d) 상기 패스워드의 부재를 검출하면, 상기 제1BIOS 부분에 의해 마스터 부트 레코드와 BIOS의 나머지 부분을 갖고 있는 상기 디스켓 드라이브를 초기화하는 단계와, (e) 상기 제1BIOS 부분에 의해 실행 가능 코드 세그먼트 및, 상기 BIOS의 나머지 부분의 적합성에 대해 상기 시스템의 하드웨어 구성을 나타내는 데이타를 갖는 데이타 세그먼트를 포함하는 마스터 부트 레코드를 랜덤 액세스 메모리내로 적재하는 단계와, (f) 하드웨어 구성 레코드를 나타내는 데이타 세그먼트의 데이타와 판독 전용 메모리에 기억된 대응하는 데이타를 비교함으로써 상기 마스터 부트 레코드가 상기 시스템 하드웨어에 적합한가를 검증하는 단계와, (g) BIOS의 나머지 부분을 주 메모리(main memory)내로 적재하기 위해 마스터 부트 레코드의 코드 세그먼트를 실행하는 단계와, (h) BIOS의 나머지 부분이 일단 주 메모리내로 적재되면 제어가 상기 BIOS의 나머지 부분으로 이동하는 단계를 포함하는 것을 특징으로 하는 BIOS 적재방법.
KR1019900012419A 1989-08-25 1990-08-11 개인용 컴퓨터 시스템에 bios를 적재하기 위한 장치 및 방법 KR930007680B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US39963189A 1989-08-25 1989-08-25
US399,631 1989-08-25

Publications (2)

Publication Number Publication Date
KR910005171A KR910005171A (ko) 1991-03-30
KR930007680B1 true KR930007680B1 (ko) 1993-08-18

Family

ID=23580310

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900012419A KR930007680B1 (ko) 1989-08-25 1990-08-11 개인용 컴퓨터 시스템에 bios를 적재하기 위한 장치 및 방법

Country Status (10)

Country Link
US (1) US5410699A (ko)
EP (1) EP0419004B1 (ko)
JP (1) JPH0754462B2 (ko)
KR (1) KR930007680B1 (ko)
CN (1) CN1018392B (ko)
AT (1) ATE138749T1 (ko)
CA (1) CA2020522C (ko)
DE (1) DE69027167T2 (ko)
GB (1) GB9012949D0 (ko)
PT (1) PT95081A (ko)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5634079A (en) * 1992-05-15 1997-05-27 Zenith Data Systems Corporation System for providing for a parallel port with standard signals and a flash recovery mode with second predetermined signals redefining parallel port with alternate functions
EP0576126A3 (en) * 1992-06-22 1994-01-12 International Business Machines Corporation A method and apparatus for providing a modular ABIOS device support layer in a computer system
DE4229266A1 (de) * 1992-09-02 1994-03-03 Roland Man Druckmasch Rechner für den Leitstand einer Maschine, insbesondere einer Druckmaschine
US6357000B1 (en) 1993-01-29 2002-03-12 Microsoft Corporation Method and system for specified loading of an operating system
CA2126950A1 (en) * 1993-07-30 1995-01-31 Bryan M. Willman Booting a computer system using a last known good set of configuration data
US6453363B1 (en) * 1993-10-21 2002-09-17 Microsoft Corporation Method and computer system for integrating a compression system with an operating system
US5754852A (en) * 1993-12-29 1998-05-19 International Business Machines Corporation Apparatus for combining cellular telephone ring signals and PSTN ring signals
GB2290890B (en) * 1994-06-29 1999-03-24 Mitsubishi Electric Corp Information processing system
US5864698A (en) * 1994-08-24 1999-01-26 Packard Bell Nec Disk based bios
US5564054A (en) * 1994-08-25 1996-10-08 International Business Machines Corporation Fail-safe computer boot apparatus and method
US5586327A (en) * 1994-09-27 1996-12-17 International Business Machines Corporation Extended initialization for personal data processing systems
US5701477A (en) * 1995-03-30 1997-12-23 Cirrus Logic, Inc. Method and apparatus for master boot record shadowing
US5734900A (en) * 1995-09-29 1998-03-31 International Business Machines Corporation Information handling system including efficient power on initialization
US5835760A (en) * 1995-10-13 1998-11-10 Texas Instruments Incorporated Method and arrangement for providing BIOS to a host computer
US5822614A (en) * 1996-05-31 1998-10-13 Unisys Corporation Self-identifying peripheral device
US5892906A (en) * 1996-07-19 1999-04-06 Chou; Wayne W. Apparatus and method for preventing theft of computer devices
US5938764A (en) * 1996-10-23 1999-08-17 Micron Electronics, Inc. Apparatus for improved storage of computer system configuration information
KR100242416B1 (ko) * 1996-12-30 2000-02-01 윤종용 교환시스템의 디스크 포맷 방법
US6009518A (en) * 1997-01-15 1999-12-28 Shiakallis; Peter Paul Computer system for providing improved security for stored information
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
US6748524B1 (en) 1997-04-30 2004-06-08 Gateway, Inc. Display and recordation of non-volatile memory changes
JP3104646B2 (ja) * 1997-06-04 2000-10-30 ソニー株式会社 外部記憶装置
US5991841A (en) * 1997-09-24 1999-11-23 Intel Corporation Memory transactions on a low pin count bus
US6185678B1 (en) * 1997-10-02 2001-02-06 Trustees Of The University Of Pennsylvania Secure and reliable bootstrap architecture
US6438687B2 (en) 1997-10-30 2002-08-20 Micron Technology, Inc. Method and apparatus for improved storage of computer system configuration information
KR100248757B1 (ko) * 1997-12-20 2000-03-15 윤종용 손상된 롬 바이오스 복구 방법
US6549963B1 (en) * 1999-02-11 2003-04-15 Micron Technology, Inc. Method of configuring devices on a communications channel
US6507879B1 (en) 1999-02-11 2003-01-14 Micron Technology, Inc. Apparatus for configuration devices on a communications channel
US6880107B1 (en) * 1999-07-29 2005-04-12 International Business Machines Corporation Software configuration monitor
TW452733B (en) * 1999-11-26 2001-09-01 Inventec Corp Method for preventing BIOS from viruses infection
US6931522B1 (en) * 1999-11-30 2005-08-16 Microsoft Corporation Method for a computer using the system image on one of the partitions to boot itself to a known state in the event of a failure
US8612553B2 (en) * 2000-01-14 2013-12-17 Microsoft Corporation Method and system for dynamically purposing a computing device
US7668938B1 (en) 2000-01-14 2010-02-23 Microsoft Corporation Method and system for dynamically purposing a computing device
DE10113256A1 (de) * 2001-03-19 2002-10-02 Siemens Ag Verfahren und Vorrichtung zur Wiederherstellung von Daten in einem Datenverarbeitungssystem
US7103641B2 (en) * 2001-06-18 2006-09-05 Intel Corporation Method and apparatus for distributing computer platform firmware across a network
US7069431B2 (en) * 2001-07-31 2006-06-27 Lenovo ( Singapore) Pte Ltd. Recovery of a BIOS image
US7165137B2 (en) * 2001-08-06 2007-01-16 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
US7500238B2 (en) * 2001-08-22 2009-03-03 International Business Machines Corporation Method and system for installing a software platform onto a computer system
US7013384B2 (en) * 2002-01-15 2006-03-14 Lenovo (Singapore) Pte. Ltd. Computer system with selectively available immutable boot block code
US7299346B1 (en) 2002-06-27 2007-11-20 William K. Hollis Method and apparatus to minimize computer apparatus initial program load and exit/shut down processing
US6889341B2 (en) * 2002-06-28 2005-05-03 Hewlett-Packard Development Company, L.P. Method and apparatus for maintaining data integrity using a system management processor
US7082525B2 (en) * 2002-10-02 2006-07-25 Sandisk Corporation Booting from non-linear memory
US20040123093A1 (en) * 2002-12-20 2004-06-24 Rothman Michael A. Method and apparatus for loading BIOS and option ROM's from alternate locations
US7487345B2 (en) * 2003-10-10 2009-02-03 Dell Products L.P. Method of comparing build capability flags of replacement BIOS with boot capability flags of current BIOS to determine compatibility between BIOS revisions and installed hardware during flash update
CN1317650C (zh) * 2003-10-27 2007-05-23 联想(北京)有限公司 基于硬盘保护空间自动恢复bios的方法
US20060041738A1 (en) * 2004-08-17 2006-02-23 Yu-Chen Lai Recovery method for master boot record of hard disk drive
US7725929B2 (en) * 2005-02-22 2010-05-25 Microsoft Corporation Systems and methods for free demonstration of online premium content prior to purchase
US7467304B2 (en) * 2005-06-22 2008-12-16 Discretix Technologies Ltd. System, device, and method of selectively allowing a host processor to access host-executable code
US7827376B2 (en) * 2005-06-27 2010-11-02 Lenovo (Singapore) Pte. Ltd. System and method for protecting hidden protected area of HDD during operation
CN102193804B (zh) * 2010-03-03 2013-11-06 华为技术有限公司 一种单板驱动的加载方法和通信设备
JP5459270B2 (ja) * 2011-06-22 2014-04-02 コニカミノルタ株式会社 情報処理装置、情報処理装置の起動方法および起動プログラム
CN112698782A (zh) * 2019-10-22 2021-04-23 中电智能科技有限公司 基于存储器数据加载的实现装置及方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3427593A (en) * 1966-03-24 1969-02-11 Burroughs Corp Data processor with improved program loading operation
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
US4785361A (en) * 1982-11-08 1988-11-15 Vault Corporation Method and apparatus for frustrating the unauthorized copying of recorded data
US4478094A (en) * 1983-01-21 1984-10-23 Cetus Corporation Liquid sample handling system
US4562306A (en) * 1983-09-14 1985-12-31 Chou Wayne W Method and apparatus for protecting computer software utilizing an active coded hardware device
JPS60116054A (ja) * 1983-11-29 1985-06-22 Usac Electronics Ind Co Ltd 初期プログラム・ロ−ドの制御方式
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
CA1252173A (en) * 1984-07-19 1989-04-04 Thomas C. Jessop Apparatus and method for detecting liquid penetration by a container used for aspirating and dispensing the liquid
US4794085A (en) * 1984-07-19 1988-12-27 Eastman Kodak Company Apparatus and method for detecting liquid penetration by a container used for aspirating and dispensing the liquid
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
JPS61272852A (ja) * 1985-05-29 1986-12-03 Canon Inc プログラム読込み方法
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
JPS6264912A (ja) * 1985-09-17 1987-03-24 Minoru Atake 分注方式
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
JPH01140230A (ja) * 1987-11-26 1989-06-01 Nec Corp プログラムロード制御方式
JPH01154226A (ja) * 1987-12-10 1989-06-16 Nec Corp Bios内蔵ハードディスク装置システム
EP0341438A3 (en) * 1988-05-13 1990-11-28 Abbott Laboratories Pneumatic sensing system
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
ATE154981T1 (de) * 1990-04-06 1997-07-15 Perkin Elmer Corp Automatisiertes labor für molekularbiologie

Also Published As

Publication number Publication date
EP0419004A2 (en) 1991-03-27
KR910005171A (ko) 1991-03-30
DE69027167D1 (de) 1996-07-04
DE69027167T2 (de) 1996-12-12
CN1018392B (zh) 1992-09-23
CN1049730A (zh) 1991-03-06
PT95081A (pt) 1992-05-29
ATE138749T1 (de) 1996-06-15
EP0419004A3 (en) 1992-01-29
GB9012949D0 (en) 1990-08-01
JPH0391034A (ja) 1991-04-16
CA2020522C (en) 1993-11-09
JPH0754462B2 (ja) 1995-06-07
CA2020522A1 (en) 1991-02-26
EP0419004B1 (en) 1996-05-29
US5410699A (en) 1995-04-25

Similar Documents

Publication Publication Date Title
KR930007680B1 (ko) 개인용 컴퓨터 시스템에 bios를 적재하기 위한 장치 및 방법
KR930007679B1 (ko) 개인용 컴퓨터 시스템과, 이 시스템에 bios를 적재하기 위한장치 및 방법
KR920008445B1 (ko) 퍼스널 컴퓨터 시스템에서 bios용 메모리를 감축시키기 위한 장치 및 방법
KR950002945B1 (ko) 퍼스널 컴퓨터 시스템내의 시스템 유틸리티 보호 장치
KR930004902B1 (ko) 퍼스널 컴퓨터 시스템에서 bios로의 비승인 액세스를 방지하기 위한 장치 및 방법
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
JP2521020B2 (ja) 情報処理システム
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