KR100330532B1 - 동적부트파일시스템선택방법및장치 - Google Patents

동적부트파일시스템선택방법및장치 Download PDF

Info

Publication number
KR100330532B1
KR100330532B1 KR1019970054289A KR19970054289A KR100330532B1 KR 100330532 B1 KR100330532 B1 KR 100330532B1 KR 1019970054289 A KR1019970054289 A KR 1019970054289A KR 19970054289 A KR19970054289 A KR 19970054289A KR 100330532 B1 KR100330532 B1 KR 100330532B1
Authority
KR
South Korea
Prior art keywords
boot
file system
dynamic
operating system
boot file
Prior art date
Application number
KR1019970054289A
Other languages
English (en)
Other versions
KR19980079435A (ko
Inventor
부루스 제라드 밀레이
랜달 크래이그 스완버그
마이클 스테판 윌리엄즈
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 KR19980079435A publication Critical patent/KR19980079435A/ko
Application granted granted Critical
Publication of KR100330532B1 publication Critical patent/KR100330532B1/ko

Links

Images

Classifications

    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures

Abstract

본 발명은 기본적인 운영체제(basic operating system)를 더욱 이식성(portable)이 양호하도록 만들기 위하여 특정 하드웨어 플랫폼을 가진 컴퓨터에 대하여 부트 파일시스템(boot file system)과 같은 동적 추상화 계층(dynamic abstraction layer)을 제공하는 방법을 개시한다. 상기 방법은 정상적인 부트 시퀀스를 진행하기 전에 컴퓨터의 보호 영역(protected space)에 동적 부트 파일시스템을 저장하는 단계, 및 상기 저장 후에 부트 시퀀스 동안에 보호 영역으로부터 동적 부트 파일시스템을 검색하는 단계 및 상기 검색된 부트 파일시스템을 로딩하는 단계를 포함한다. 컴퓨터 펌웨어(firmware)는 동적 부트 파일시스템을 포함하는 시뮬레이트(simulated)된 부트 이미지(image)를 먼저 로딩하고, 그 후 운영 체제 및 동적 부트 파일 시스템을 검색하기 위한 인스트럭션들을 포함하고 있는 운영 체제 부트 이미지를 로드한다. 앞서 저장된 동적 부트 파일시스템이 발견되지 않으면, 디폴트(default) 부트 파일 시스템이 사용될 수 있다. UNIX 환경에서는, 상기 동적 부트 파일시스템은 하드웨어에 의존하는 PAL(Portable Assist Layer)을 포함한다. 두 개의 부트 이미지들은 두 번 스캐닝(scan)되는 단일 매체 상에 제공되거나, 또는 예를 들어 플로피 디스켓 및 CD-ROM 디스크와 같은 별개의 매체 상에 제공될 수 있다.

Description

동적 부트 파일시스템 선택 방법 및 장치
본 발명은 컴퓨터에 관한 것이다. 좀 더 구체적으로, 본 발명은 여러 가지 하드웨어 플랫폼들 중 하나의 플랫폼 상에 컴퓨터 운영 체제(operating system)를 인스톨링(install)하는 방법에 관한 것이다. 상기 방법은 컴퓨터 운영 체제(부트 이미지: boot image)를 로딩하기 전에 동적 부트 파일시스템을 로딩하고, 그 후 운영 체제를 인스톨하는 동안에 동적 부트 파일시스템을 검색(retrieve)하는 것을 포함한다.
통상적인 컴퓨터 시스템(10)의 기본적인 구조가 도 1에 도시되어 있다. 컴퓨터 시스템(10)의 핵심부는 CPU(프로세서(12))인데, CPU에는 유저 인터페이스(user interface)를 위한 (디스플레이 모니터 및 키보드와 같은) 입/출력(I/O) 장치(14), 컴퓨터의 운영 체제 및 유저 프로그램들을 저장하기 위한 (하드 디스크 또는 플로피 디스켓과 같은) 영구 메모리 장치(permanent memory device)(16) 및 프로그램 인스트럭션들을 실행하기 위해 프로세서(12)에 의해 사용되는 (RAM과 같은) 임시 메모리 장치(temporary memory device)(18)을 포함하는 여러개의 주변 장치들이 연결된다. 프로세서(12)는 버스(20) 또는 직접 채널(direct channel)(22)를 포함하는 여러 가지 수단에 의해 주변 장치들과 통신한다. 컴퓨터 시스템(10)은 예를 들어 모뎀 또는 프린터에 연결하기 위한 시리얼 및 패러렐(serial and parallel)포트와 같은 복수의 추가적인 요소(도시되지 않음)들을 가질 수 있다. 당업자는, 도 1의 블록도에 도시된 것들과 결합하여 사용될 수 있는 다른 요소들이 있음을 알 수 있는데, 예를 들면 비디오 디스플레이 모니터를 제어하기 위하여 프로세서(12)에 연결된 디스플레이 어댑터가 사용될 수 있다.
컴퓨터 시스템(10)은 컴퓨터가 처음 켜질 때(turned on)마다 주변 장치들(대개 영구 메모리 장치(16)) 중 하나로부터 운영 체제를 탐색하여 로드하는 것이 주 목적인 펌웨어(24)를 포함하고 있다. 운영 체제를 탐색하여 로딩하는 것을 컴퓨터를 "부팅(booting)"한다고 한다. 컴퓨터 시스템(10)은 컴퓨터를 끄고 다시 켜지 않고도 펌웨어(24)가 운영 체제를 재-초기화(re-initialize)("소프트(soft)" 부트)할 수 있도록 설계될 수 있다. 펌웨어(24)는 통상적으로 ROM과 같은 판독 전용 저장 장치(read only storage: ROS)에 저장되는 본질적으로 머신 인스트럭션(machine instructions)의 열(series)이다. 도 2의 플로우 차트에 도시된 바와 같이, 컴퓨터 시스템 (10)에 전원이 인가(26)된 후, 프로세서(12)는 펌웨어 인스트럭션을 실행하고 운영 체제를 탐색(28)하는 일을 시작한다. 운영 체제가 발견되면, 발견된 운영 체제는 임시 메모리(18)에 로드된다. 그 후, 상기 운영 체제는 다른 애플리케이션 계층(즉, 유저 소프트웨어 프로그램들(32))들이 추가되도록 한다. 부트 시퀀스는 본질적으로 단계(28) 및 단계(30)을 일컫는다. 이러한 방식으로, 주어진 컴퓨터 하드웨어 구성은 다양한 운영 체제를 수행시키기 위해 적응(adapt)될 수 있다.
상기에서 기술한 것은 MSDOS(Microsoft사의 상표임) 및 UNIX(UNIX System Laboratories사의 상표임)라고 하는 많이 사용되는 두 가지의 운영 체제를 포함하여 어떠한 타입의 운영 체제에도 일반적으로 적용되지만, 본 발명은 UNIX에 특정한 애플리케이션을 가진다. UNIX는 멀티-유저(multi-user), 멀티-태스킹(multi-tasking) 운영 체제인데, UNIX는 다른 버전들을 가진 각종 소스(source)로 시판되고 있다. 이러한 소스들의 예로는, System Ⅴ(American Telephone & Telegraph社: AT&T), AIX(International Business Machines社) 및 Mach(NeXT Computers社) 등이 있다. 도 3은 UNIX 운영 체제로서 로드되는 통상적인 부트 이미지(34)를 도시하고 있다. 부트 이미지(34)는 베이스 커널 부분(base kernel portion)(36) 및 부트 파일 시스템 부분(38)을 포함한다. 커널(36)은 유저 프로그램들과 하드웨어 장치들 간의 중개자(intermediary) 역할을 하며 디바이스 드라이버(device drivers) 등을 포함한다. 부트 파일 시스템(38)은 파일, 디렉토리 및 심볼 링크(symbolic links)와 같은 컴퓨터 오브젝트(objects)를 관리하기 위한 유저 커맨드(user command)를 제공하는 RAM-기반 파일 시스템(RAM-based file system)이다. 또한, 부트 파일시스템(38)은 로드 가능한 디바이스 드라이버 및 다른 플랫폼에 특정된 로드 가능한 커널 확장부(platform-specific loadable kernel extensions)을 포함할 수 있다. 펌웨어(24)가 (플로피 디스켓, 하드 디스크 또는 CD-ROM 디스크 상에서) 부트 이미지(34)를 발견하면, 부트 이미지(34)를 로딩한 후에는 그 운영 체제(커널 (36))로 제어를 넘긴다.
어떤 운영 체제는 다양한 타입의 하드웨어 플랫폼 상에서 실행하기 위해 적응(adapt)될 수 있다. MSDOS와 같은 몇 몇 운영 체제는, 하드웨어 플랫폼으로부터 상당히 독립적이다. 즉, 하드웨어 제조 업체가 달라져도 하드웨어 아키텍쳐 및 BIOS(basic input and output system) 함수(functions)가 변하지 않기 때문에 한 종류의 MSDOS를 사용하여 여러 종류의 업체에 의해 제조된 컴퓨터들을 부트시킬 수있다. UNIX와 같은 다른 운영 체제들은 UNIX를 실행시키기 위해 설계된 여러 가지 하드웨어 타입들 간에 상당한 차이가 있기 때문에 이식성(移植性)이 떨어진다. 이런 점 때문에, 부트 파일시스템(38)은 특정 제조업체의 특정 하드웨어 장치와 통신하기 위한 특정 인스트럭션들을 포함하는 PAL(Portability Assist Layer, 또는 Platform Abstraction Layer)등의 하드웨어에 종속되는 정보를 포함한다.
상기 하드웨어 종속성(hardware dependence)은 운영 체제의 마케팅을 더 어렵게 만드는데, 그 이유는 각 UNIX 워크스테이션 제조업체마다 서로 다른 버전들이 제공되어야 하기 때문이다. 이러한 문제점을 극복하는 하나의 종래 방법은 복수의 PAL(각 제조 업체마다 하나의 PAL)(즉, (40), (42)에 표시된 바와 같은 복수의 부트 파일시스템들)을 제공하는 것이다. 다른 방법으로는, 복수의 플랫폼들을 지원하는 것을 포함하는 단일의 커다란 부트 파일시스템이 제공된다. 이러한 접근 방법들은 모든 워크스테이션에서 사용되도록 단일의 부트 이미지를 배포하는 것을 가능하게 하지만, 이러한 접근 방법에서는 (사용되지 않은 모든 PAL을 포함하기 때문에) 부트 이미지가 필요 이상으로 훨씬 더 크므로, 그 결과 시스템 자원들을 더 많이 차지하게 되어 바람직스럽지 않다. 또한, 이러한 접근 방법들은 운영 체제의 출시 후에 설계된 새로운 하드웨어 플랫폼을 수용할 수 없다. 따라서, 복수의 RAM 기반 부트 파일 시스템을 사용하지 않고서도 상이한 하드웨어 플랫폼 상에 용이하게 로드되는 운영 체제를 제공하는 것이 바람직하며, 새로운 하드웨어 플랫폼에 운영 체제를 간단히 인스톨링하는 방법이 있으면 더욱 효과적일 것이다.
따라서, 본 발명의 목적은 상이한 하드웨어 플랫폼 상에 용이하게 설치(install)되는 컴퓨터 운영 체제를 제공하는 것이다.
본 발명의 다른 목적은 각각의 하드웨어 플랫폼에 복수의 부트 파일시스템을 저장할 필요가 없는 부트 파일 시스템을 동적으로 로드하는 운영 체제를 제공하는 것이다.
본 발명의 또 다른 목적은 운영 체제의 출시 후에 설계된 새로운 하드웨어 플랫폼에 용이하게 적응되는 운영 체제를 설치(install)하는 방법을 제공하는 것이다.
도 1은 통상적인 컴퓨터 시스템의 블록도.
도 2는 통상적인 운영 체제의 기본적인 부트 시퀀스를 도시한 플로우 차트.
도 3은 종래의 UNIX 부트 이미지를 표현한 도면.
도 4는 본 발명에 따른 기본적인 부트 시퀀스를 도시한 도면.
도 5는 본 발명에 따라서 로드되어 그 후 부트 시퀀스 내에서 검색되는 동적 부트 파일시스템을 표현한 도면.
<도면의 주요부분에 대한 부호의 설명>
10 : 컴퓨터 시스템
12 : 프로세서
14 : I/O 장치
16 : 영구 보관용 메모리
18 : 임시 보관용 메모리
20 : 버스
22 : 직접 채널
24 : 펌웨어(firmware)
상기 목적들은 부트 시퀀스를 진행하기 전에 컴퓨터 시스템의 보호 영역에 동적 부트 파일 시스템을 저장하는 단계, 부트 시퀀스 동안에 상기 보호 영역으로부터 동적 부트 파일 시스템을 검색하는 단계, 및 상기 검색 후에 상기 검색된 부트 파일시스템을 가진 운영 체제를 로딩하는 단계를 포함하는 컴퓨터에 동적 부트 파일시스템을 제공하는 방법에 의해 달성된다. 상기 컴퓨터는 컴퓨터에 연결되어 있는 주변 장치로부터 운영 체제를 탐색하여 로딩하기 위한 펌웨어를 가진다. 상기 펌웨어는 동적 부트 파일시스템을 포함하는 시뮬레이트(simulated)된 부트 이미지(image)를 먼저 로딩하고, 그 후 운영 체제 및 동적 부트 파일 시스템을 검색하기 위한 인스트럭션들을 포함하고 있는 운영 체제 부트 이미지를 로드한다. 보호 영역은 예를 들어 RAM이며, 또한 RAM 내의 동적 부트 파일시스템의 위치 및 크기를 나타내는 제어 정보가 제공될 수 있다. 어떠한 이유로 인하여 운영 체제 부트이미지가 앞서 저장된 동적 부트 파일시스템을 발견하지 못하면, 디폴트(default)(정적: static) 부트 파일시스템이 대신 로드될 수 있다. 운영 체제가 UNIX 타입 운영 체제인 실시예에서, 동적 부트 파일시스템은 하드웨어에 종속적인 PAL(Portable Assist Layer)을 포함할 수 있다. 두 개의 부트 이미지들은, 예를 들어 플로피 디스켓 및 CD-ROM 디스크와 같은, 별개의 매체 상에 제공될 수 있으며, 이로 인해 단일 CD-ROM 디스크가 CD-ROM 디스크의 제조 후에 설계된 플랫폼들을 포함하여 각각의 하드웨어 플랫폼을 위해 제공된 주문형 플로피 디스켓(customized floppy diskette)과 함께 사용될 수 있기 때문에, 더 양호한 융통성을 제공한다.
상기의 내용 뿐만 아니라 본 발명의 추가적인 목적, 기능, 및 장점들은 이하의 설명에서 명백해질 것이다.
본 발명의 신규한 특징들은 특허 청구 범위에 기재된다. 그러나, 본 발명 자체 뿐만 아니라, 본 발명의 바람직한 사용 방법, 기타 목적, 및 장점들은 이하의 예시적인 실시예의 상세한 설명을 첨부 도면과 함께 참조함으로써 가장 잘 이해할 수 있을 것이다.
도 4 및 도 5에는, 동적 부트 파일 시스템의 콘텐츠(contents)가 운영 체제에 의해 지원되는 특정한 하드웨어에 특정되어 있는 컴퓨터 운영 체제를 위한 동적 부트 파일 시스템이 제공되는 본 발명의 신규한 방법이 도시되어 있다. 도 4의 차트는 일반적인 프로세스 플로우를 도시하고 있는데, 컴퓨터에 전원이 인가될 때 시작 (50)되지만, 이러한 시작 단계는 소프트 부트 커맨드(soft boot command)에 의해 시작될 수도 있다. 전원이 켜진 후(또는 부트 프로세스가 개시된 후), 종래 기술의 플로우의 초기 단계(도 2의 단계 (28))와 유사하게 펌웨어가 운영 체제를 탐색한다 (52). 그러나, 본 발명에서는 이 시점에서 운영 체제가 펌웨어에 의해 실제로 로드되지는 않는다. 그 보다는, 동적 부트 파일시스템을 포함하고 있는 시뮬레이트(simulated)된 부트 이미지가 로드되고, 그 후 상기 파일시스템은 실제의 운영 체제에 의해 나중의 검색을 위하여 임시로 저장된다(54). 그 후, 제어는 펌웨어로 복귀되어 펌웨어가 운영 체제를 다시 탐색하여(56), 운영 체제가 발견되면 그 운영 체제가 앞서 저장된 동적 부트 파일 시스템을 검색한다(58). 동적 부트 파일시스템은 운영 체제 초기화 및 구성(initialization and configuration)을 완료하는데 필요한 모든 요소들과 인스트럭션들을 포함하고 있다. 그 후, 컴퓨터 동작은 유저 애플리케이션으로 넘겨진다(60).
특정 운영 체제를 위해 상기 방법이 구현되는 하나의 예가 도 5에 도시되어 있는데, 이는 AIX와 같은 UNIX 타입 운영 체제에 적합하다. 운영 체제에 특정된 플랫폼 지원 코트를 포함하는 시뮬레이트된 부트 이미지(62)가 제공되는데, 예를 들어 부트 이미지(62)가 동적 부트 파일시스템(64)를 포함한다. 동적 부트 파일시스템(64)는 AIX 운영 체제가 로드되는 특정한 하드웨어 플랫폼에 기초하여 미리 선택되는 하드웨어에 특정한 프로그램(코드)인데, 예를 들어 동적 부트 파일시스템(64)는 IBM사의 RS/6000 컴퓨터에서 사용하기 위해 적응(adapt)될 수 있다. 펌웨어는 부트 시퀀스의 초기 단계 동안에는 사용되지 않는 RAM 부분과 같은 보호 영역(66)에 동적 부트 파일시스템을 저장하는 적당한 인스트럭션들을 포함한다. 필요하다면, 이미지가 저장된 장소 및 이미지의 크기를 운영 체제가 나중에 식별할 수 있도록 RAM의 해당 부분이 적당한 제어(control) 정보로 마크될 수 있다.
동적 부트 파일시스템(64)가 보호 영역(66)에 안전하게 저장된 후, 펌웨어는 제어를 로드하고 넘기기 위하여 운영 체제 부트 이미지(68)과 같은 "정상(normal)" 부트 이미지를 계속 탐색한다. 운영 체제 부트 이미지(68)은 운영 체제를 완전히 로드하는데 필요한 프로그램 코드를 모두 포함하고 있다(즉, 단순히 쉘(shell)과 같은 시뮬레이트된 부트 이미지(62)가 아님)는 점에서 "정상(normal)"이지만, 운영 체제 부트 이미지(68)는 앞서 저장된 동적 부트 파일시스템(64)를 검색하기 위한 인스트럭션을 포함하여야 하므로 통상적인 것은 아니다. 운영 체제가 제어를 검색할 때, 펌웨어에 의해 (예를 들어, 상기에서 기술한 제어 정보의 형식으로) 남아있는 부트 정보를 탐색하며, 동적 부트 파일 시스템이 로드되었는지를 검사한다. 운영 체제는 어느 특정 동적 파일시스템이 존재하는지에 대해서는 관심을 두지 않는데, 예를 들어 복수의 동적 부트 파일 시스템들 중에서 임의의 하나를 검색하기 위하여 적응(adapt)된다. 그 후, 운영 체제는 동적 부트 파일시스템을 검색하여 부트 이미지(68)에 바운드(bound)되어 있는 디폴트(default)(정적) 부트 파일 시스템(70)을 교체한다. 이러한 방식으로, 베이스-커널(base kernel) 또는 인스톨 매체(installation media)를 재생성(re-generation)하지 않고도, 운영 체제가 새롭거나 OEM으로 제공된 하드웨어 플랫폼에 특정한 것일 수 있는 로드 가능하고 하드웨어에 특정된 커널 확장부 및 디바이스 드라이버에 액세스할 수 있다. 디폴트 부트 파일시스템(70)은 선택 사양(optional)인데, 예를 들어 동적 부트 파일 시스템이 발견되면 존재할 필요가 없지만, 디폴트 부트 파일시스템을 제공하는 것이 바람직하다.
시뮬레이트된 부트 이미지(62)의 특정 신호를 인식하여 동적 부트 파일시스템을 로딩하는 펌웨어의 대안으로, 시뮬레이트된 부트 이미지 자신이 펌웨어로부터 제어를 넘겨받기 위한 적당한 인스트럭션을 가질 수 있다. (즉, 시뮬레이트된 부트 이미지는 동적 부트 파일 시스템을 로드할 수 있다.) 그 후, 시뮬레이트된 부트 이미지는 실제 운영 체제를 발견하는 일을 계속하는 펌웨어로 제어를 해제하여 복귀시킬 수 있다. 어느 접근 방법에 있어서도, 펌웨어는 두 개의 이미지를 인식하여 로드한다.
상기 방법은 유저에 의해 여러 가지 방식을 통해 물리적으로 구현될 수 있다. 특별한 장점을 가지는 하나의 구현에서는, (AIX와 같은) 운영 체제의 단일 버전이 동적 부트 파일시스템을 저장하고 있는 플로피 디스켓과 같은 별개의 매체를 가진 CD-ROM과 같은 제 1 매체 상에 제공된다. 유저는 먼저 컴퓨터의 플로피 드라이브 내에 플로피 디스켓을 맨처음 삽입하고 컴퓨터 시스템의 전원을 켤 수 있다(또는, 소프트 부트 커맨드를 입력할 수 있다). 펌웨어가 운영 체제를 탐색할 때, 펌웨어는 플로피 디스켓 상에서 시뮬레이트된 부트 이미지를 발견하여 동적 부트 파일시스템을 임시로 저장할 것이다. 그 후, 시뮬레이트된 부트 이미지는 제어를 펌웨어로 복귀시키지만, 유저가 플로피 디스켓을 제거하고 컴퓨터의 CD-ROM 드라이브 내에 CD-ROM 디스크를 삽입할 수 있도록 하는 (키보드 상의 키를 누르는 것과 같은) 적당한 유저 신호가 있은 후에만 복귀시킨다. 유저 신호가 입력되면, 펌웨어는 운영 체제를 다시 탐색하여 CD-ROM 상의 운영 체제 부트 이미지를 찾아서 로드하는데, 이 운영 체제가 동적 부트 파일 시스템을 인스톨하는 일을 진행한다. 이러한 구현 방법은 단일 CD-ROM 디스크에는 기본적인 운영 체제가 제공될 수 있고, 또한 주문형 플로피 디스켓이 CD-ROM이 생산된 후에 제조된 하드웨어 플랫폼을 포함하는 각각의 하드웨어 플랫폼에 대하여 제공될 수 있기 때문에, 패키징(packaging), 마케팅(marketing), 및 인스톨(installation)을 매우 단순화시킨다.
상기에서 기술한 것은 본 발명이 어떻게 구현될 수 있는지를 보여주는 하나의 예이지만, 복수의 다른 변형들이 있다. (플로피 디스켓 및 CD-ROM 대신에) 두 개의 다른 플로피 디스켓이 시뮬레이트된 부트 이미지 및 운영 체제 부트 이미지를 저장하는데 사용될 수 있다. 상기 2 가지 부트 이미지가 모두 동일한 플로피 디스켓 상에 있을 수 있다 하더라도, 이는 디스크의 동적 변경을 필요로 한다: 시뮬레이트된 부트 이미지는 원래 플로피 디스켓의 부트 섹터에 제공되지만, 시뮬레이트된 부트 이미지가 로드된 후에는 (그리고, 동적 부트 파일시스템이 저장된 후에는) 디스크는 운영 체제 부트 이미지를 부트 섹터에 위치시키기 위해 다시 기록된다. 시리얼 포트 연결(serial port connection)과 같은 다른 입력 장치들이 사용될 수 있다. 또 다른 변형이 보호 영역 내에 모두 로드되는 시뮬레이트된 부트 이미지 내의 다수의 동적 부트 파일시스템을 제공하여 (즉, 복수의 동적 부트 파일시스템들이 단일 플로피 디스켓 상에 제공됨), 그 후 (CD-ROM 상의 운영 체제 부트 이미지로부터의) 부트 시퀀스가 보호 영역 내에 있는 선택으로부터 적당한 동적 부트 파일 시스템을 선택하는데 있어서 유저에게 추가 정보를 신속하게 제공할 수 있다.
본 발명이 특정 실시예를 참조하면서 도시되고 기술되었지만, 상기 기술 내용은 본 발명을 제한하도록 해석되는 것을 의도한 것은 아니다. 개시된 실시예의 다양한 변경들뿐만 아니라 본 발명의 다른 실시예들은 본 발명의 기술 내용을 참조할 때 당업자에게 명백할 것이다. 예를 들어, 본 발명은 UNIX 타입의 운영 체제에만 한정되는 것이 아니라 여러 리소스들을 수용하는데 불필요한 복수의 요소들을 제공하지 않기 위하여 하드웨어에 특정된 소프트웨어 요소들을 가진 어떠한 운영 체제에도 적용될 수 있다. 따라서, 당업자는 본 발명의 정신 및 범위로부터 이탈함이 없이 다양한 변경을 가할 수 있을 것이며, 본 발명은 특허청구 범위에 의해서만 제한된다.
본 발명에 따르면, 상이한 하드웨어 플랫폼 상에 용이하게 인스톨되는 컴퓨터 운영 체제가 제공된다.

Claims (19)

  1. 펌웨어를 이용하여 부트 시퀀스(boot sequence)에 의해 컴퓨터 상에 로드되는 운영 체제(operating system)를 지원하는 컴퓨터의 동적 추상화 계층(dynamic abstraction layer)을 제공하는 방법으로,
    a) 상기 컴퓨터 펌웨어를 이용하여 동적 부트 파일 시스템을 포함하는 제1부트 이미지를 로딩하는 단계와.
    b) 부트 시퀀스 전에 컴퓨터의 보호 영역(protected space)에 상기 동적 부트 파일 시스템을 저장하는 단계와,
    c) 운영 체제를 로딩하는 단계 및
    d) 부트 시퀀스 동안 보호 영역으로부터 동적 부트 파일 시스템을 검색 (retrieving)하는 단계를 포함하는 동적 부트 파일 시스템 제공 방법.
  2. 제 1항에 있어서, 상기 컴퓨터가 임시 메모리 장치(temporary memory device)를 가지며, 상기 보호 영역은 상기 임시 메모리 장치의 일부를 형성함으로써 생성되는 동적 부트 파일 시스템 제공 방법.
  3. 제 1항에 있어서, 동적 부트 파일이 검색될 수 없으면 디폴트(default) 부트 파일 시스템으로 운영 체제를 로딩하는 단계를 더 포함하는 동적 추상화 계층 제공방법.
  4. 제 1항에 있어서, 상기 동적 부트 파일 시스템을 로딩하는 단계를 더 포함하는 동적 부트 파일 시스템 제공 방법.
  5. 제 1항에 있어서, 상기 운영 체제는 UNIX 타입 운영 체제이고,
    상기 운영 체제를 로딩하는 단계는 동적 추상화 계층 내로 하드웨어 종속 PAL을 로딩하는 단계를 포함하는 동적 부트 파일 시스템 제공 방법.
  6. 제 1항에 있어서, 상기 운영체제를 로딩하는 단계는 하드웨어 종속 디바이스드라이버를 로딩하는 단계를 포함하는 동적 부트 파일 시스템 제공 방법.
  7. 제 1항에 있어서, 저장된 동적 부트 파일 시스템의 위치를 식별하는 제어 정보를 저장하는 단계를 더 포함하는 동적 부트 파일 시스템 제공방법.
  8. 제 1항에 있어서. 상기 제1부트 이미지는 제 1매체 상에 제공되며,
    상기 제 1매체와는 별개로 제 2매체 상에 제 2부트 이미지가 제공되는 동적 부트 파일 시스템 제공 방법.
  9. 제 1항에 있어서, 제 1 부트 이미지 및 상기 제 2 부트 이미지가 두 번 스캐닝(scanned)되는 단일 매체 상에 제공되는 동적 부트 파일 시스템 제공 방법.
  10. 제 1항에 있어서, 제 1 부트 이미지는 상기 보호 영역에서 상기 동적 부트 파일 시스템을 저장한 후에 컴퓨터의 제어를 다시 상기 펌웨어로 복귀시키는 인스트럭션을 포함하는 동적 부트 파일 시스템 제공 방법.
  11. 제 1항에 있어서, 제 2 부트 이미지는 부트 시퀀스 동안 상기 보호 영역으로부터 동적 부트 파일시스템을 검색하는 인스트럭션들을 포함하는 동적 부트 파일 시스템 제공 방법.
  12. 제 8항에 있어서, 상기 제 1 매체 및 제 2 매체는 상기 컴퓨터에 연결된 하나 이상의 입력 장치들로 순서대로 삽입되어야 하며,
    상기 제 1 매체는 상기 입력 장치로부터 제거되고, 상기 제2 매체는 상기 입력 장치로 삽입되었음을 지시하는 유저 신호(user signal)가 주어질 때까지 상기 검색 단계 및 로딩 단계를 지연시키는 단계를 더 포함하는 동적 부트 파일 시스템 제공 방법.
  13. 제 8항에 있어서,
    상기 제1 매체 및 제2 매체는 두 개의 별개 입력 장치 내에 위치하며,
    상기 펌웨어가 제1 부트 이미지가 로드된 후 상기 제2 부트 이미지를 자동 탐색하는 동적 부트 파일 시스템 제공 방법.
  14. 운영 체제를 로딩하기 위한 장치에 있어서,
    a) 프로세서와,
    b) 상기 프로세서에 연결되어 있는 메모리 장치와,
    c) 상기 프로세서에 연결되어 있는 하나 이상의 입력 장치와,
    d) 상기 프로세서에 연결되어 부트 이미지를 탐색하여 운영 체제를 메모리 장치에 로드하기 위한 펌웨어 수단과.
    e) 입력 장치들 중의 적어도 하나에 의해 판독되도록 적응(adapted)되고, 동 적 부트 파일시스템과 i)상기 동적 부트 파일시스템을 메모리 장치에 저장하고, ii) 상기 펌웨어 수단으로 제어를 복귀하는 제1 부트 이미지와, 상기 저장된 동적 부트 파일 시스템을 검색하기 위한 인스트럭션들과, 상기 운영 체제를 포함하는 제 2 부트 이미지를 가지는 매체를 포함하는 운영 체제 로딩 장치.
  15. 제 14항에 있어서, 상기 제2 부트 이미지가 디폴트 부트 파일 시스템과 상기 동적 부트 파일시스템이 검색될 수 없으면, 상기 디폴트 부트 파일시스템을 로딩하기 위한 인스트럭션을 더 포함하는 운영 체제 로딩 장치.
  16. 제 14항에 있어서, 상기 운영 체제는 UNIX 타입 운영 체제이며,
    상기 제2 부트 이미지는 동적 부트 파일 시스템내에 하드웨어 종속 PAL을 더 포함하는 운영 체제 로딩 장치.
  17. 제14 항에 있어서, 상기 제2 부트 이미지가 하드웨어 종속 디바이스 드라이버를 더 포함하는 운영 체제 로딩 장치.
  18. 제14 항에 있어서, 상기 제1 부트 이미지는 상기 저장된 동적 부트 파일 시스템의 위치를 식별하는 제어 정보를 메모리 장치에 저장하기 위한 인스트럭션을 더 포함하는 운영 체제 로딩 장치.
  19. 제14 항에 있어서, 상기 매체는,
    a) 상기 제1 부트 이미지를 가지는 제1 매체와,
    b) 상기 제1 매체와 분리되어 있으며, 상기 제2 부트 이미지를 가지는 제2 매체를 포함하는 운영 체제 로딩 장치.
KR1019970054289A 1997-03-17 1997-10-22 동적부트파일시스템선택방법및장치 KR100330532B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/819,160 US5933631A (en) 1997-03-17 1997-03-17 Dynamic boot filesystem selection
US08/819160 1997-03-17
US8/819160 1997-03-17

Publications (2)

Publication Number Publication Date
KR19980079435A KR19980079435A (ko) 1998-11-25
KR100330532B1 true KR100330532B1 (ko) 2002-08-08

Family

ID=25227361

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970054289A KR100330532B1 (ko) 1997-03-17 1997-10-22 동적부트파일시스템선택방법및장치

Country Status (4)

Country Link
US (1) US5933631A (ko)
JP (1) JPH10260842A (ko)
KR (1) KR100330532B1 (ko)
TW (1) TW367443B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002093368A1 (en) * 2001-05-11 2002-11-21 Yong-Hee Kim Driver auto-install method for optimizing computer monitor system and storage media having program source thereof

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11265289A (ja) * 1998-03-16 1999-09-28 Mitsubishi Electric Corp 情報処理装置および情報処理装置の高速初期起動方法
US6651094B1 (en) * 1998-07-17 2003-11-18 International Business Machines Corporation Method and apparatus for creating a preload image for network installation
US6158002A (en) * 1998-08-14 2000-12-05 Adaptec, Inc. Method and apparatus of boot device switching by a floppy disk
US6216226B1 (en) * 1998-10-02 2001-04-10 International Business Machines Corporation Method and system for dynamically selecting a boot process within a data processing system
US6768996B1 (en) * 1998-10-08 2004-07-27 Hewlett-Packard Development Company, L.P. System and method for retrieving an abstracted portion of a file without regard to the operating system of the current host computer
JP4211101B2 (ja) * 1998-11-12 2009-01-21 ソニー株式会社 情報処理装置及び方法並びに記録媒体
US6347371B1 (en) * 1999-01-25 2002-02-12 Dell Usa, L.P. System and method for initiating operation of a computer system
US6766519B1 (en) * 1999-03-26 2004-07-20 Emc Corporation Generic software interface for hardware environments having executing code registers itself and the code for a next suboperation
US6415382B1 (en) 1999-04-30 2002-07-02 Adaptec, Inc. Hard disk bootstrap redirection
US6446203B1 (en) * 1999-05-24 2002-09-03 International Business Machines Corporation Method and system for selecting from multiple boot code images to be loaded in a data processing system
JP4689006B2 (ja) * 1999-06-18 2011-05-25 フィーニックス  テクノロジーズ  リミテッド 通常のos制御下でコンピュータのプリ−ブート及びポスト−ブート作動の際にアプリケーションを実行する方法と装置
US6886111B1 (en) 2000-03-08 2005-04-26 International Business Machines Corporation Method and data processing system for software testing of a device driver
US6560703B1 (en) 2000-04-18 2003-05-06 International Business Machines Corporation Redundant updatable self-booting firmware
US6691160B1 (en) * 2000-04-19 2004-02-10 Adaptec, Inc. Input/output communication networks and booting protocols
JP2002063042A (ja) * 2000-08-21 2002-02-28 Nec Microsystems Ltd プログラム・モジュール管理システム、その管理方法及びその管理プログラムを記録した記録媒体
US6745324B1 (en) 2000-11-16 2004-06-01 International Business Machines Corporation Dynamic firmware image creation from an object file stored in a reserved area of a data storage device of a redundant array of independent disks (RAID) system
US6826710B2 (en) * 2001-01-25 2004-11-30 Dell Products L.P. System and method for providing a fault-resilient boot
KR100823293B1 (ko) * 2001-08-21 2008-04-18 삼성전자주식회사 컴퓨터시스템 및 그 제어방법
US6915420B2 (en) * 2003-01-06 2005-07-05 John Alan Hensley Method for creating and protecting a back-up operating system within existing storage that is not hidden during operation
US7219257B1 (en) * 2003-06-27 2007-05-15 Adaptec, Inc. Method for boot recovery
US7376718B2 (en) * 2003-07-14 2008-05-20 Time Warner Cable System and method for managing provisioning parameters in a cable network
US9178784B2 (en) * 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
US8336040B2 (en) 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US7711977B2 (en) * 2004-04-15 2010-05-04 Raytheon Company System and method for detecting and managing HPC node failure
US20050235055A1 (en) * 2004-04-15 2005-10-20 Raytheon Company Graphical user interface for managing HPC clusters
US8190714B2 (en) * 2004-04-15 2012-05-29 Raytheon Company System and method for computer cluster virtualization using dynamic boot images and virtual disk
US8335909B2 (en) * 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US20060031425A1 (en) * 2004-06-07 2006-02-09 Northrop Grumman Corporation Method for imaging computer systems
US8244882B2 (en) * 2004-11-17 2012-08-14 Raytheon Company On-demand instantiation in a high-performance computing (HPC) system
US7433931B2 (en) * 2004-11-17 2008-10-07 Raytheon Company Scheduling in a high-performance computing (HPC) system
US7574592B2 (en) * 2006-02-21 2009-08-11 Microsoft Corporation Approval process for booting devices in pre-boot execution environment (PXE)
US7631175B2 (en) * 2006-02-21 2009-12-08 Microsoft Corporation Control protocol for image enumeration and transfer
US7546448B2 (en) * 2006-02-21 2009-06-09 Microsoft Corporation Boot architecture discovery in pre-boot environment
US7631038B2 (en) * 2006-02-21 2009-12-08 Microsoft Corporation PXE server with multiple provider model
US7882345B1 (en) * 2007-09-19 2011-02-01 Symantec Corporation System, method, and apparatus for processor detection in a pre-boot execution environment
US8176311B1 (en) * 2009-01-23 2012-05-08 Juniper Networks, Inc. Initializing platform-specific features of a platform during early stages of booting the kernel
KR101636870B1 (ko) * 2010-02-26 2016-07-06 삼성전자주식회사 최소 부트 이미지의 생성 방법 및 장치
US10394570B2 (en) 2010-02-26 2019-08-27 Hp Printing Korea Co., Ltd. Method of generating boot image for fast booting and image forming apparatus for performing the method, and method of performing fast booting and image forming apparatus for performing the method
KR101959359B1 (ko) 2012-11-06 2019-03-18 에이치피프린팅코리아 유한회사 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치
US11163442B2 (en) * 2019-12-08 2021-11-02 Western Digital Technologies, Inc. Self-formatting data storage device
US11500649B2 (en) * 2020-09-24 2022-11-15 Dell Products L.P. Coordinated initialization system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324849A (ja) * 1993-04-26 1994-11-25 Internatl Business Mach Corp <Ibm> オペレーティング・システム環境の起動方法およびシステム
US5497492A (en) * 1990-09-04 1996-03-05 Microsoft Corporation System and method for loading an operating system through use of a fire system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394547A (en) * 1991-12-24 1995-02-28 International Business Machines Corporation Data processing system and method having selectable scheduler
US5386561A (en) * 1992-03-31 1995-01-31 International Business Machines Corporation Method of integrated system load control through dynamic time-slicing in a virtual storage environment
US5325532A (en) * 1992-09-25 1994-06-28 Compaq Computer Corporation Automatic development of operating system boot image
US5379431A (en) * 1993-12-21 1995-01-03 Taligent, Inc. Boot framework architecture for dynamic staged initial program load
US5586327A (en) * 1994-09-27 1996-12-17 International Business Machines Corporation Extended initialization for personal data processing systems
US5715456A (en) * 1995-02-13 1998-02-03 International Business Machines Corporation Method and apparatus for booting a computer system without pre-installing an operating system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497492A (en) * 1990-09-04 1996-03-05 Microsoft Corporation System and method for loading an operating system through use of a fire system
JPH06324849A (ja) * 1993-04-26 1994-11-25 Internatl Business Mach Corp <Ibm> オペレーティング・システム環境の起動方法およびシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002093368A1 (en) * 2001-05-11 2002-11-21 Yong-Hee Kim Driver auto-install method for optimizing computer monitor system and storage media having program source thereof

Also Published As

Publication number Publication date
US5933631A (en) 1999-08-03
TW367443B (en) 1999-08-21
JPH10260842A (ja) 1998-09-29
KR19980079435A (ko) 1998-11-25

Similar Documents

Publication Publication Date Title
KR100330532B1 (ko) 동적부트파일시스템선택방법및장치
US5701477A (en) Method and apparatus for master boot record shadowing
US6804774B1 (en) Software image transition aid comprising building a disk image based on identified hardware
US5696975A (en) Launching computer applications
KR100311582B1 (ko) 소프트판독전용기억장치
US5715456A (en) Method and apparatus for booting a computer system without pre-installing an operating system
EP0774136B1 (en) Self-configuring computer system
US6279109B1 (en) Computing system and operating method for booting and running a graphical user interface (GUI) with r/w hard drive partition unavailable
US7934209B2 (en) Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
JP4932781B2 (ja) 目標の媒体上に縮小オペレーティングシステムイメージを作成する方法、システム及びプログラム
US5768568A (en) System and method for initializing an information processing system
US20040230963A1 (en) Method for updating firmware in an operating system agnostic manner
US20010039612A1 (en) Apparatus and method for fast booting
EP1742150A1 (en) Computer system and method for selectively installing of operating system amonf a plurality of operating systems
US20020108002A1 (en) Method for automatically configuring network interface card and capable of randomizing a media access controller address of the network interface card
KR100311583B1 (ko) 컴퓨터시스템에대해운영체제및지원을제공하는방법
US20020069353A1 (en) Automated device driver installation
JP2002530739A (ja) ディスク・ドライブを構成し、ブートする方法および装置
US6715043B1 (en) Method and system for providing memory-based device emulation
US20040230785A1 (en) Method and system for comparing firmware images
US6907604B1 (en) Instant integration model
JPH09293012A (ja) 情報処理装置
EP1086420A2 (en) Method and system for providing memory-based device emulation
JP2001222337A (ja) コンピュータ、起動ディスケット作成方法および記憶媒体

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20060216

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee