KR20000052313A - 읽기/쓰기 하드 드라이브의 파티션을 사용할 수 없는 경우의그래픽 유저 인터페이스를 부팅 및 구동하는 컴퓨터시스템 및오퍼레이팅 방법 - Google Patents

읽기/쓰기 하드 드라이브의 파티션을 사용할 수 없는 경우의그래픽 유저 인터페이스를 부팅 및 구동하는 컴퓨터시스템 및오퍼레이팅 방법 Download PDF

Info

Publication number
KR20000052313A
KR20000052313A KR1019990036091A KR19990036091A KR20000052313A KR 20000052313 A KR20000052313 A KR 20000052313A KR 1019990036091 A KR1019990036091 A KR 1019990036091A KR 19990036091 A KR19990036091 A KR 19990036091A KR 20000052313 A KR20000052313 A KR 20000052313A
Authority
KR
South Korea
Prior art keywords
operating system
drive
alternative
bootable
processor
Prior art date
Application number
KR1019990036091A
Other languages
English (en)
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 KR20000052313A publication Critical patent/KR20000052313A/ko

Links

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/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명에 따른 컴퓨터 시스템 및 작동방법은, 어플리케이션 프로그램이나 인터페이스에 연관된 운영체제가 타겟 프로세서에 설치되지 않은 경우에, 타겟 프로세서에서 실행가능하고, 대안적인 매체, 예를들면 CD ROM 매체나 네트워크 링크를 통해 어플리케이션 프로그램이나 인터페이스를 부트스트랩로드하고 실행할 수 있다. 예를들면, 운영체제는, 그래픽유저인터페이스와 연관된 운영체제가 설치되지 않은 경우에, 그래픽유저인터페이스 기능을 로드하고 실행하는 실행가능 프로그램 코드 및 명령 엔트리를 포함한다. 컴퓨터 시스템은 전형적으로는, 프로세서, 이 프로세서에 결합된 CD ROM 드라이브, 및 프로세서에 결합된 랜덤액세스 메모리(RAM)드라이브를 포함한다. 실행가능 프로그램 또는 명령 엔트리는 운영체제의 기본 코드에 하드코드된 소정의 드라이브 지정자 대신에, RAM 드라이브 지정자를 대체한다. 실행가능 프로그램 코드 또는 명령 엔트리는 RAM 드라이브로부터 발행될 수 있으며 운영체제와 간섭되는 운영체제의 다양한 기능을 디스에이블한다. 실행가능 코드 또는 명령 엔트리는 운영체제의 레지스트리를 변경하여, RAM 드라이브 상의 데이터의 저장을 허용하고 CD ROM 드라이브나 네트워크 링크와 같은 대안적인 소스로부터 응용프로그램을 실행한다.

Description

읽기/쓰기 하드 드라이브의 파티션을 사용할 수 없는 경우의 그래픽 유저 인터페이스를 부팅 및 구동하는 컴퓨터시스템 및 오퍼레이팅 방법 {COMPUTING SYSTEM AND OPERATING METHOD FOR BOOTING AND RUNNING A GRAPHICAL USER INTERFACE(GUI) WITH R/W HARD DRIVE PARTITION UNAVAILABLE}
컴퓨터 시스템은 통상적으로, 하드웨어와 소프트웨어가 결합된 시스템으로 구성되어 공급 및 구매된다. 과거에는, 소프트웨어는 구매자에 의해, 수작업으로 플렉시블 디스켓(플로피 디스켓)을 한 장씩 디스켓 드라이브에 집어넣음으로써 제공되었다. 메모리와 디스크 드라이브의 용량이 증가되고, 소프트웨어 이미지의 크기가 급격히 커짐에 따라, 플로피디스크를 통해 소프트웨어를 로딩하는 것이 매우 귀찮은 일이 되었다. 예를 들어, 소프트웨어 시스템 이미지의 크기는 2 내지 600메가바이트로 증가되었고, 미래에는 더욱 커질 것으로 예상된다. 따라서, 일반적인 소프트웨어 시스템을 전송하기 위해서 많은 양의 플렉시블 디스켓, 통상적으로, 순서대로 정렬된 50장 또는 그 이상의 디스켓이 사용된다.
이러한 소프트웨어 로딩의 불편함을 줄이기 위해, 많은 컴퓨터 시스템 공급자는 소프트웨어를 공급하기 위해 플렉시블 디스켓을 고용량인 컴팩트디스크(CD) 롬으로 교체하였다. 통상적으로 CD ROM에만 소프트웨어를 저장하여 공급하는 컴퓨터시스템 공급자는 2 내지 3개 정도의 소프트웨어 컨피규레이션을 이용하는 하드웨어 컨피규레이션을 4 내지 8개 정도로 한정하여 판매한다. 상기 소프트웨어시스템은 일반적으로 공통 운영체제과, 그래픽 유저 인터페이스(GUI), 하드웨어 드라이브, 소프트웨어 유틸리티 및 다양한 하드웨어 컨피규레이션을 가진 컴퓨터 시스템 사이에서 사용하기 위한 어플리케이션 프로그램을 포함한다. 소프트웨어 시스템 구성요소는 일반적으로 컴퓨터시스템에 의해 실행되는 어플리케이션들을 기초로 하는 다수의 소프트웨어로부터 선택된다. 하드웨어와 소프트웨어 양자의 기능성을 포함하는 컴퓨터시스템 컨피규레이션의 실행은 컨트롤, 통신, 및 다중 소프트웨어 태스크에 대한 저장자원을 포함하는 다양한 종류의 하드웨어 자원의 할당에 의존한다.
컴퓨터시스템에서 발생되는 문제점 중의 하나는 특정한 하드웨어 컨피규레이션 내부의 다양한 소프트웨어 자원의 호환성에 관한 것이다. 예를들어, 컴퓨터 유저는, 컴퓨터시스템에 설치되어 있지 않은 운영체제 상에서 일반적으로 작동되는 그래픽 유저 인터페이스나 어플리케이션 프로그램을 실행시키기를 원할 수 있다. 구체적인 예로, 유저는 윈도우즈 운영체제가 타겟 시스템에 설치되지 않은 상태에서, Microsoft WindowsTM 그래픽 유저 인터페이스를 부트스트랩 로딩하기 원할 수 있다. 유저는 그렇지 않으면 전체 윈도우즈 OS의 기능성을 이용하거나 요구하지 않았을 작동이나, HTML문서의 디스플레이나, 진단의 실행 및 시스템 셋업 프로그램의 실행 등을 포함하는 작동을 수행하기 위해 윈도우즈 GUI를 사용하기를 원할 수 있다.
전술한 바와 같은 자원의 충돌은, 윈도우즈 운영체제 이외의 운영체제, 예를 들어, Unix, Lynx, NetWare, Banyan, 또는 다른 인텔사(Santa clara, CA)와 호환되는 운영체제가 타켓 컴퓨터 시스템에 설치되어 있는 상태에서, 윈도우즈 OS 기능을 사용하거나 필요로 하는 소프트웨어 어플리케이션을 우저가 실행시키려고 할 때 발생된다.
따라서, 운영체제의 R/W 하드드라이브 파티션을 사용할 수 없을 때, CD-ROM으로부터 그래픽 유저 인터페이스(GUI)를 부트스트랩 로딩하여 실행할 수 있는 시스템 및 오퍼레이팅 방법이 필요하게 되었다.
본 발명의 목적은 운영체제의 R/W 하드드라이브 파티션을 사용할 수 없을 때, CD-ROM으로부터 그래픽 유저 인터페이스(GUI)를 부트스트랩 로딩하여 실행을 할 수 있는 시스템 및 오퍼레이팅 방법을 제공하는 것이다.
도 1은 하드디스크 드라이브가 설치되어 포맷되거나 그렇지 않은 컴퓨터 시스템에 사용하기 위해 부팅가능 운영체제 콤팩트디스크(CD)를 구성하는 방법을 실행하는 컴퓨터 시스템 하드웨어를 도시한 블록도.
도 2는 하드디스크 드라이브가 설치되어 포맷되거나 그렇지 않은 컴퓨터 시스템에 사용하기 위해 부팅가능 운영체제 콤팩트디스크(CD)를 구성하기 위한 방법의 실시예를 보여주는 플로우 차트.
도 3은 부트 CD 프로세스 흐름의 실시예를 도시한 플로우차트.
델 컴퓨터사는 컴퓨터 시스템을 위한 하드웨어와 소프트웨어 컨피규레이션을 선택함에 있어서, 소비자에게 높은 수준의 융통성을 제공하는 한편, 소비자의 주문에 따라 제작하는 것에 수반되는 소프트웨어와 하드웨어시스템의 조립상의 어려움을 해소할 수 있도록 하고 있다. 소비자는 특정한 하드웨어 서브시스템과 소프트웨어 팩키지를 정하여 컴퓨터를 주문한다.
컴퓨터에 풀 네이티브 모드로 설치되는 하드웨어용의 특정한 드라이브를 설치하는 것을 포함한 소프트웨어-하드웨어의 결합이 델 컴퓨터사의 공장에서 이루어지며, 테스트되고, 조립된 시스템이 공장에서 출고되기 전에 호환성이 검증된다. 따라서, 소프트웨어가 주문된 특정한 하드웨어 시스템에서 작동되는지를 검증하며, 특정한 드라이버 및 운영체제와 결합되어 작동되는지를 검증한다.
주문제작방식의 중요한 특징은 각 로딩되는 소프트웨어가 잠재적으로 유일하다는 것이다. 특정한 소프트웨어의 로딩은 컴퓨터에 설치된 운영체제에 의해 지원되지 않는 어플리케이션이나 인터페이스를 포함할 수 있다. 델 컴퓨터사는, R/W 하드디스크 드라이브 파티션을 사용할 수 없을 때, CD-ROM으로부터 부트스트랩 로딩하여 그래픽 유저 인터페이스를 실행하는 방법을 시스템에 적용함으로써 컴퓨터시스템의 소프트웨어 컨피규레이션에 융통성을 줄 수 있도록 한다.
이에따라, 어플리케이션 프로그램과 연관된 운영체제 또는 인터페이스가 타겟 프로세서에 설치되어있지 않거나 기록가능한 마그네틱 매체가 없을 때, CD-ROM 매체나 네트워크 링크를 통하는 등과 같은 대안적인 매체를 통해, 부트스트랩을 로딩하여 어플리케이션 프로그램 또는 인터페이스를 실행시킬 수 있도록 된 컴퓨팅 시스템과 오퍼레이팅 방법이 개발되었다.
특정한 예에 따르면, 윈도우즈 운영체제(OS)이 타겟 프로세서에 설치 되어있거나 또는 되어있지 않더라도, 부트스트랩이 마이크로소프트 윈도우즈 95 그래픽 유저 인터페이스(GUI)를 로드하여 실행하는 컴퓨팅시스템 및 오퍼레이팅 방법이 제공된다.
본 발명에 의한 실시예에 따르면, 컴퓨팅 시스템은, 그래픽 유저 인터페이스와 연관된 운영체제가 설치되거나 또는 되어있지 않았을 때, 그래픽 유저 인터페이스 기능성을 로드하여 실행하는 실행가능 프로그램 코드 또는 명령 엔트리를 포함한다. 상기 컴퓨팅 시스템은 통상적으로, 프로세서와, 이 프로세서에 연결된 CD-ROM드라이브와, 상기 프로세서에 연결된 랜덤 억세스 메모리(RAM)를 포함한다. 상기 실행가능 프로그램 코드 또는 명령 엔트리는 운영체제의 베이스 코드 내부에 하드코드된 소정의 드라이브 지정자를 대신하여 RAM드라이브의 지정자를 대체한다. 상기 실행가능 프로그램 코드 또는 명령 엔트리는 RAM드라이브로부터 발생되는 오퍼레이션 시스템의 작동과 충돌되는 오퍼레이션 시스템의 다양한 기능을 디스에이블한다. 상기 실행가능 프로그램 코드 또는 명령 엔트리는 RAM드라이브 상에 데이터를 저장하고, CD-ROM 드라이브나 네트워크 링크를 통하는 것과 같은 대안적인 소스로부터 어플리케이션을 실행할 수 있도록 운영체제의 레지스트리를 변경한다.
전술한 컴퓨터 시스템은 운영체제에 부과되거나 또는 시스템이 부과하는 영구적인 마그네틱 R/W 저장 매체의 필요성을 제거한다. 종래의 운영체제은, 운영체제 레지스트리를 기록하고, 파일을 교체하고, 템퍼러리 파일을 생성 및 사용하고, 로그파일을 생성 및 사용하고, 브라우저 캐쉬, 쿠키를 브라우즈하고, 최근 데이터를 부라우즈하고, 선호파일을 브라우즈하기 위해 영구적인 마그네틱 (하드디스크) 매체를 사용한다. 전술한 컴퓨터 시스템은, 다양한 운영체제 기능을 위해, 운영체제가 상기 영구적인 마그네틱 저장장치 보다는 RAM 드라이브를 사용하도록 전환한다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면에 의거하여 설명하면 다음과 같다.
본 발명의 소프트웨어 시스템은, 프로세서가 Unix 운영체제와 같이 제1 운영체제에 의해 영구적인 저장장치에 기록하는 것을 허용하지 않는 제2 운영체제를 실행하고 있더라도, 네트워크 서버를 통해, 프로세서에 윈도우즈 95 운영체제와 같은 제1 운영체제의 부트스트랩 로딩을 지원한다. 상기 소프트웨어 시스템은 RAM드라이브를 생성하고 이용함으로써, 영구적인 저장장치에 기록하는 것에 따른 제한을 회피한다.
통상적으로, 비록 제2 운영체제가 프로세서에서 사용되는 주된 운영체제이라 할지라도, 제2 운영체제에서 지원되지 않는 기능을 제공할 수 있도록 상기 소프트웨어 시스템은 제1 운영체제를 호출한다. 예를 들어, NetWare 운영체제는 여러가지 유용한 속성이 있으나, 웹브라우저나 도스 또는 윈도우즈 상에서만 작동되도록 짜여진 하드웨어 컨피규레이션은 지원할 수 없다. 웹브라우저는 HELP파일이나 문서 등을 디스플레이하면 좋을 것이다. 윈도우즈는 웹브라우저를 지원한다. 본 발명의 소프트웨어 시스템은 NetWare가 설치되어 있는 상황에서, 윕브라우저를 이용할 수 있도록 윈도우즈 시스템을 일시적으로 호출할 수 있어서 유용하다.
도 1을 참조하면, 설치되어 포맷된 하드디스크 드라이브가 구비되거나, 구비되지 않은 컴퓨터 시스템에 사용하기 위해 부팅가능 운영체제 콤팩트디스크(CD)를 구성하기 위한 방법을 실행하기에 적합한 컴퓨터 시스템(100)이 도시된다. 상기 컴퓨터시스템(100)은 통상적인 퍼스널 컴퓨터로서, 프로세서(110), 시스템 랜덤 억세스 메모리(RAM,120), 시스템 ROM(122), CD-ROM 드라이브(132), 그리고, 다양한 입출력 디바이스(140)를 포함한다. 상기 컴퓨터 시스템(100)은, 프로세서(110)에 연결된 하드디스크 드라이브(130)를 포함하는 것으로 도시되었으나, 경우에 따라 하드디스크 드라이브(130)가 포함되지 않을 수 있다. 특히, 설치되어 포맷된 하드디스크 드라이브가 구비되거나, 구비되지 않은 컴퓨터 시스템에 사용하기 위해 부팅가능 운영체제 콤팩트디스크(CD)를 구성하기 위한 도시된 방법은, 하드디스크 드라이브(130)를 포함하지 않거나, 하드디스크 드라이브가 윈도우즈 운영체제와 같은 운영체제를 가지지 않았을 때, 유용하다.
상기 프로세서(110)는 데이터, 어드레스 및 컨트롤 라인을 포함하는 버스(150)를 통해 시스템 구성요소와 통신한다. CMOS는 비휘발성 RAM(160)을 클록하는데, 이것은 버스(150)를 통해 프로세서(110)에 연결되며, 통상적으로, 컴퓨터시스템(100)의 전원이 차단되었을 때도 정보를 기록하기 위해 사용된다. 운영체제으로터 독립적인 환경으로 시스템을 생성하는 프로그램 명령은 하드디스크 드라이브(130)와 같은 저장장치 또는 프로세서(110)에 연결된 시스템 ROM(122)에 저장된다. 프로세서(110), 예를 들어 486, 586, 펜티엄 프로세서 등과 같은 x86프로세서는 컴퓨터 시스템의 연산작업을 수행한다.
도 2를 참조하면, 설치되어 포맷된 하드디스크 드라이브가 구비되거나, 구비되지 않은, 도 1에 도시한 바와 같은 컴퓨터 시스템(100)에 사용하기 위해 부팅가능 운영체제 콤팩트디스크(CD)를 구성하기 위한 방법(200)의 실시예가 보여진다. 상기 방법(200)은, 어플리케이션 프로그램이나 인터페이스에 연관된 운영체제가 타겟 프로세서(110)에 설치되어 있지 않았을 때에, 통상적으로 시스템 유저에 의해 입력된 명령 파일, 세트 또는 명령 엔트리 형식의 실행가능 프로그램 코드가, CD-ROM드라이브 내의 CD-ROM으로부터 응용프로그램이나 GUI와 같은 인터페이스를 부트스트랩 로드하고 실행하는 타겟 프로세서(110)에서 실행될 수 있는 컴퓨터 시스템에서 이용된다.
특정한 예로서, 윈도우즈 운영체제(OS)이 타겟 프로세서에 설치되지 않았을 때, 컴퓨팅 시스템 및 작동 방법(200)은 마이크로 윈도우즈 95의 그래픽 유저 인터페이스를 부트스트랩 로드하여 실행시킨다. 윈도우즈 운영체제가 타겟 프로세서(110)에 설치되어 있을 때에는, 상기 프로세서는 종래에는, 운영체제 레지스트리와 운영체제 파티션으로 컨피규어된 하드디스크드라이브가 요구된다. 그러나, 몇몇의 컴퓨터 시스템은 윈도우즈 운영체제가 하드디스크 드라이브에 설치되지 않았거나, 윈도우즈 운영체제를 설치할 하드디스크 드라이브를 가지고 있지 않다.
도시된 방법(200)은 시스템 랜덤 억세스 메모리(RAM)를 포함하는 시스템 메모리와 타겟 프로세서(110)를 포함하는 컴퓨터 시스템(100) 상에서 작동한다. 상기 타겟 프로세서(110)는 CD-ROM과 같은 저장장치를 포함한 다양한 주변기기에 연결된다. 상기 방법(200)은 GUI에 관련된 운영체제가 하드디스크 드라이브에 설치되어 있지 않을 때, 그래픽 유저 인터페이스(GUI)를 로딩하여 실행한다.
상기 실행가능 프로그램코드 또는 명령 엔트리는 시스템 랜덤 억세스 메모리(RAM,120)상에 RAM 드라이브(122)를 생성한 후, 운영체제의 베이스 코드 내부에 하드코드된 미리 정해진 드라이브 지정자를 대신하여 RAM드라이브(122)의 지정자를 대체한다. 상기 RAM 드라이브(122)는 하드디스크 드라이브의 역할을 할 수 있도록, 시스템 메모리 내부의 랜덤 억세스 메모리의 부분을 사용하기 위해 콘피규어된다. 상기 RAM 드라이브(422)는 CONFIG.SYS 파일의 DEVICE 또는 DEVICEHIGH 명령을 사용하는 디바이스 드라이브를 로딩함에 의해 실행가능하게 된다. 하드드라이브에 기록 및 판독하는 것 보다 RAM에 기록 및 판독하는 것이 훨씬 빠르기 때문에, RAM 드라이브는 하드디스크보다 속도가 훨씬 빠르다. 컴퓨터 시스템의 다른 구성요소에 대하여는, RAM 드라이브는(422) 하드드라이브와 기능적으로 동일하다. RAM드라이브는 메모리 상에 존재하는 가상적인 존재이므로, 프로세서(110)에 공급되는 동력이 차단 및 재개되면, 저장된 모든 정보는 소실된다. 사용자는 시스템 메모리의 상수들 내부에 복수개의 램드라이브를 셋업하는 것도 가능하다. RAM드라이브는 다음과 같은 가상 디바이스 생성 명령을 사용하여 생성된다.
DEVICE=[drive:][path]RAMDRIVE.SYS[Disksize SectorSize[NumEntries]][/E
/A]
상기 파라메타[drive:]와 [path]는 상기 RAMDRIVE.SYS의 위치를 나타낸다. DiskSize는 RAM드라이브의 사이즈를 킬로바이트 단위로 나타낸다. SectorSize는 디스크 섹터사이즈를 바이트 단위로 나타낸다. NumEntries는 RAM 드라이브의 루트디렉토리에 생성되는 디렉토리와 파일의 수를 제한한다. 상기 스위치 /E는 extended memory에 상기 램드라이브를 생성한다. RAM드라이브가 extended memory를 사용할 수 있도록, 컴퓨터 시스템은 extended memory를 지원하도록 콘피규어되며, CONFIG.SYS 파일에는 HIMEM.SYS와 같은 extended memory용 디바이스 명령이 RAMDRIVE.SYS용 디바이스 명령의 앞부분에 존재하여야 한다. 상기 스위치 /A는 expanded memory에 상기 RAM드라이브를 생성한다. RAM드라이브가 expanded memory를 사용할 수 있도록, 컴퓨터 시스템은 expanded memory를 지원하도록 콘피규어되며, CONFIG.SYS 파일에는 EMM386, 386MAX, CEMM,또는 QEMM과 같은 expanded memory용 디바이스 명령이 RAMDRIVE.SYS용 디바이스 명령의 앞부분에 존재하여야 한다.
실행가능한 프로그램 코드 또는 명령 엔트리는 운영체제의 구동에 사용되는 데이터 구조의 저장을 지원하기 위한 RAM 드라이브의 사용을 방해하는 오퍼레이팅의 다양한 기능을 디스에이블한다. 상기 실행가능 프로그램 코드 또는 명령 엔트리는 RAM 드라이브상에 데이터 저장을 허용하고, CD-ROM 드라이브에 삽입된 CD-ROM으로부터 어플리케이션을 실행시키기 위해, 운영체제 데이터 구조 내부의 레지스트리를 변경한다.
도시된 바와 같은 오퍼레이팅 방법(200)의 실시예에 따르면, 몇 개의 운영체제 기능성은 상기 실행가능 프로그램 코드에 의해 디스에이블된다. 몇몇 시스템에서는 하드웨어 자동검출기능이 디스에이블된다. 부팅시 운영체제 레지스트리를 프리로딩하는 기능은 선택적으로 디스에이블된다. 몇몇의 시스템에서는 부트 매체에 부트로그 파일을 기록하기 위한 운영체제의 기능이 디스에이블된다. 어떠한 실행가능 프로그램 코드는 최종사용자가 부트스트랩 프로세서를 변경하기 위해 펑션키를 사용할 수 있도록 하는 기능을 제한한다. 경우에 따라 다른 다양한 기능들을 디스에이블하는 것도 가능하다.
윈도우즈 운영체제를 포함한 많은 종래의 운영체제는 하드디스크 드라이버와 같이, 운영체제의 작동중에 컨트롤 파라메터와 데이터 구조를 지원하기 위해 영구적인 마그네틱 R/W저장 매체의 사용을 요구한다. 영구적인 저장장치는 하드디스크 드라이버, 플렉시블 디스켓 드라이브와, 읽고 쓸 수 있도록 된 기타의 것을 지칭한다. 종래에는, 윈도우즈 운영체제와 같은 전통적인 운영체제는 운영체제 레지스트리를 기록하고, 파일을 교체하고, 템퍼러리 파일을 생성 및 사용하고, 로그파일을 생성 및 사용하고, 브라우저 캐쉬를 생성 및 사용하고, 쿠키를 브라우징하고, 최근 데이터를 브라우징하고 선호파일을 브라우징하기 위해, 영구적인 마그네틱(하드디스크) 매체를 사용한다. 전술한 컴퓨터 시스템을 실행하는 작동 방법(200)은 다양한 운영체제 기능을 위해, 영구적인 마그네틱 저장장치 보다, RAM 드라이브(122)를 사용할 수 있도록 운영체제를 변경하므로써, 하드디스크 드라이버의 필요성을 없앤다.
그래픽 유저 인터페이스에 관련된 운영체제가 설치되지 않았을 때, 그래픽 유저 인터페이스를 로딩하여 구동하는 예시되는 방법(200) 또는 테크닉은 컴퓨터 시스템의 기능을 편리하게 확대시킨다. 예를 들어, 상기 테크닉컬 도규먼트나 시스템 도큐먼트 및 하이퍼 텍스트 마크업 랭귀지(HTML) 형식으로 작성된 주변장치 도큐먼트를 디스플레이 할 수 있다. 상기 테크닉은 저가 디스크의 리던던트 어레이(RAID) 콘트롤러를 포함한 다양한 주변장치용 그래픽 셋업 프로그램의 디자인과 실행을 가능하게 한다. 상기 테크닉은 도스와 윈도우즈 운영체제 플랫폼 하에서 구동될 수 있도록 기록된 하드웨어와 소프트웨어 진단의 실행을 가능하게 한다. 상기 테크닉은 드라이버 추적과 업데이팅을 위한 데이터베이스의 디자인에 특히 유용하다. 드라이버 디스켓의 구축은 상기 테크닉의 또 다른 유용한 어플리케이션이다. 상기 테크닉은 특히, 보통의 Microsoft C++을 이용하는 다양한 어플리케이션에 적합하다. 상기 테크닉은 일반적으로, 윈도우즈 95, 윈도우즈 98, 또는 도스 환경이 타겟 시스템에 설치되어 있지 않을 때, 이러한 환경에서 실행되는 어플리케이션을 실행시킬 수 있어서 편리하다.
그래픽 유저 인터페이스에 관련된 운영체제가 설치되어 있지 않을 때, 그래픽 유저 인터페이스 기능을 로딩하여 구동하기 위한 예시된 방법(200) 또는 테크닉은 도스환경상에서 실행하는 전통적인 서버 어시스턴트 어플리케이션과는 다른 멀티태스킹 환경을 사용하기 때문에 다수개의 기능을 동시에 실행할 수 있는 장점이 있다. 전통적인 서버 어시스턴트는 유저로 하여금 도스환경에 부팅하여 GUI프론트엔드를 인에이블하여 드라이버 디스켓을 구성하고 Adobe AcrobatTM문서를 보고 도스 상에서의 진단기능을 실행시키는 기능성을 호출하게 한다.
부팅가능 운영체제 컴팩트 디스크(CD)를 구성하기 위한 예시된 방법(200)의 일반적인 실시예는 하드디스크 드라이버(130)에 운영체제를 설치하는 일반적인 기능을 포함하며, 그후, CD롬으로부터 억세스 된 파일을 다른 디렉토리 구조로 이동시키기 위해 파일관리 툴을 이용하며, 이에 따라, 운영체제의 저변에 있는(underlying) 레지스트리가 적절하게 변경된다. 이동된 파일은 부팅가능 CD롬을 생성하기 위해, CD롬 매체에 기록된다. CD롬으로부터 억세스 되는 파일은 다이내믹 링크 라이브러리(DLL), 드라이버, 그리고, 읽기전용 매체로부터 적절하게 억세스된 기타 파일을 포함한다. 그 후에, 필요 없는 운영체제 파일을 제거하고, 기본 운영체제만을 포함하는 부팅가능 CD롬 운영체제를 콘피규어하기 위해 상기 파일관리 툴이 사용된다.
상기 방법(200)의 특정한 실시예에 따르면, 윈도우즈 95 또는 윈도우즈 98 운영체제가 하드디스크 드라이버(130)에 설치되며, CD롬으로부터 억세스된 운영체제 파일을 이동하기 위해 윈도우즈 탐색기 파일관리 툴이 사용된다. 그 결과로 콘피규어된 CD롬은 하드디스크 드라이브(130)가 제거되었거나, 하드디스크 드라이버(130)가 Unix, Lynx, NetWare??, Bayan, 또는 다른 인텔사(Santa clara, CA)의 운영체제 등과 같은 다른 운영체제를 실행하도록 콘피규어되었을 때, 윈도우즈 95 또는 윈도우즈 98을 부트스트랩하기 위해 사용된다. 상기 윈도우즈 탐색기는 사용자가 파일, 폴더 및 다른 리소스를 검색할 수 있도록 하는 쉘기능을 한다. 상기 윈도우즈 탐색기는 운영체제의 레지스트리를 변경할 목적으로, 상기 DLL과, 읽기 전용으로 알려져 상기 CD롬에 적절히 저장되어 사용되는 드라이버를 대안적인 디렉토리로 이동시키기 위해 사용된다. 대안적인 디렉토리는 통상적으로, 상기 하드디스크 드라이버(130) 또는 다른 적절한 저장장치 상에 존재한다. 상기 윈도우즈 탐색기는 타겟 컴퓨터 시스템 컨피규레이션에서 액티브가 아닌 하드웨어와 소프트웨어 기능을 지원하는데만 유용한 파일관리 툴과 운영체제 툴과 같은 불필요한 파일을 지우거나 옮긴다. 불필요한 파일이 지워지면, 기본 운영체제만 남게 된다.
상기 방법(200)의 일반적인 실시예에 따르면, 상기 파일관리 툴은 대안적인 루트 저장 디바이스를 포인트하기 위해, 운영체제의 컨피규레이션을 바꾼다. 상세한 실시예에 따르면, 상기 윈도우즈 탐색기는 운영체제 레지스트리의 드라이브 포인터를 바꾸기 위해 사용된다. 예를 들어, 상기 부팅가능 CD롬 컨피규레이션 내의 CD롬 드라이브(132)로부터 억세스되는 DLL들의 DLL디렉토리용 드라이브 포인터는 DLL 저장 디바이스로서의 CD롬 드라이브를 지정할 수 있도록 변경된다. 통상적인 윈도우즈 시스템에서는 상기 DLL 디렉토리와 저장장치는 하드디스크 드라이버(130)의 "C:"에 위치된다. 본 실시예에 따르면, 상기 DLL 디렉토리와 저장장치는 "Z:'"로 지정된 CD롬으로 옮겨진다. 따라서, "C:\WINDOWS\SYSTEM"으로 된 모든 레지스트리는 "Z:\WINDOWS\SYSTEM"으로 변환된다.
상기 대안적인 디렉토리는 DLL과 드라이버를 포함하는 운영체제 구성요소는 CD롬으로 복사되거나 이동된다. 통상적으로, 운영체제 이미지를 포함하는 CD롬은 CD롬을 엔코딩하기 위한 어떠한 적합한 기술이 사용되었을 지라도, 대량 프로그래밍기법을 사용하도록 프로그램된다.
상기 방법(200)은 컴퓨터 시스템에 명령을 입력하므로써, 매뉴얼 테크닉을 사용하여 실행되도록 되어 있다. 또는 상기 방법(200)은 명령 파일의 실행을 통하는 것과 같은 프로그램 코드의 실행을 통하거나, 또는 다른 적합한 프로그래밍 코드의 실행을 통해 실행되도록 되어 있다. 다른 실시예에 따르면, 상기 방법(200)은 네트워크 또는 다른 통신 링크를 통해 정보와 명령을 다운로드하거나 전송하여 실행된다.
상기 방법(200)은 델 컴퓨터사의 주문제작 사업 방식에 특히 적합하다. 컴퓨터 시스템에 운영체제를 설치하는 전통적인 방법은 소프트웨어를 설치하고, 진단을 실행하고, 유틸리티를 콘피규어하기 위해, 도스 운영체제를 사용한다. 상기 방법(200)은 부팅가능 이미지를 생성하고, 대안적인 부팅가능 매체에서 부팅가능 이미지를 전송하므로써, 컴퓨터 시스템의 소프트웨어 설치와 컨피규레이션을 개선할 수 있다. CD롬은 부팅가능 이미지를 저장하기 매우 적합한 매체이다. 유사하게는, 상기 부팅가능 이미지는 네트워크 링크와 같은 통신 링크를 통해 지원될 수 있다.
하드디스크 드라이버 이외의 다른 장치로부터 억세스된 부팅가능 이미지상에서 실행되는 컴퓨터 시스템은 몇 가지 이유로 주문제작 환경을 포함한 제작환경 매우 유익하다. 복수개의 다양한 작동이 컴퓨터 시스템의 컨피규레이션에 포함된다. CD롬이나 네트워크 통신을 통해 프로세서에 의해 억세스되는 부팅가능 이미지를 이용하는 것은 전통적인 시리얼 작동보다 다중 작동을 더 적절하게 허용한다. 상기 다중 작동은 컴퓨터 시스템 상에서 동시에 실행될 복수의 진단 테스트와, 다수개의 어플리케이션의 설치를 동시에 허용한다.
상기 부팅가능 운영체제 CD를 구성하는 방법(200)은 복수개의 하드디스크 드라이버로 규정함에 의한 멀티 파티션 사용을 위한 하드디스크 드라이버를 포함하는 시스템을 작동시키는 작동으로 시작된다. 본 실시예에 따르면, 가상 드라이버 "C:"부터 "Z:" 까지는 알파벳 순서에 따라, 규정 및 할당된다.
작동(210) 내의 드라이버의 준비에 따라, 상기 방법(200)은 예시된 드라이브 "Y:"와 같은 가상 드라이브에 윈도우즈 95 또는 윈도우즈 98과 같은 운영체제를 설치하는 것을 포함한다. 운영체제가 윈도우즈인 방법(200)의 실시예에 따르면, 운영체제는 전통적이고 일반적인 마이크로 소프트의 절차를 이용하여 설치된다. 예를 들어, 상기 운영체제의 레지스트리는 엄격하게 규정되된 하드코드 드라이브 문자로서, 예를들면, 드라이브"C:"에서 시작되어 각 컴퓨터 시스템에 연결된 각 하드디스크 드라이브에 대해 알파벳순으로 연장되는 드라이브 문자를 가지므로, 운영체제는 드라이브 "Y"에서 설치된다. 따라서, 시스템은 "C:"부터 "N:" 까지의 드라이버 문자를 사용하는 열 개의 드라이버를 포함한다. 그러나, 설치시에, 컴퓨터 시스템에 최종적으로 연결되는 하드디스크 드라이버의 숫자는 알 수 없다. 따라서, 비영구적인 마그네틱 저장매체로부터 작동하는 부팅가능 운영체제를 생성하는데 사용되기 위해, 알파벳 순서에서 가장 나중의 드라이브 문자가 선택된다. 본 실시예에 따르면, 다른 매체 상에 부팅가능 이미지를 구축하기 위한 드라이버는 임의적으로 할당되며, 그 결과로, 항구적으로 기록된 모든 운영체제 요소는 드라이브"Y:"에 할당된다. 그리고, DLL과 어플리케이션과 같이, 지속성이 없는 모든 운영체제요소는 드라이브"Z:"에 할당된다. 상기 드라이브"Z:"는 예를 들어 CD롬과 같은 대안적인 저장장치에 할당된다.
드라이브"Y:" 디렉토리로 예시된 운영체제 디렉토리는 대안적인 매체(CD롬)에 할당된 대안적인 디렉토리(214)에 복사되며, 예시된 바와 같이, 상기 오퍼레이팅 디렉토리는 XCOPY 명령나 윈도우즈 탐색기를 이용하여, 대안적인 디렉토리에 복사된다. 데이터구조의 복사는, 작동하는 동안 부팅가능 다른 매체와 함께 사용하기 위한 변경된 레지스트리를 생성하고, 다른 매체로 전송하기 위한 이미지를 생성하는 것이다. 다른 실시예에 따르면, 다른 디렉토리(214)로 운영체제 디렉토리를 복사하는 동작은, 예를들면, 드라이브"E:" 내에 있는 RAM드라이브를 설치하고, 드라이브"Y:"로 드라이브"E:"를 대체하는 대체명령어를 사용하는 것으로 대신한다.
멀티 파티션 사용을 위한 하드디스크 드라이버가 구비된 시스템을 준비하고, 운영체제를 설치하고, 운영체제를 다른 디렉토리에 복사하는 작동은 추후에 CD롬과 같은 다른 매체에 전송되는 운영체제 이미지를 생성한다. 다른 실시예는 네트워크를 통하는 것과 같이, 통신라인을 통해 운영체제 이미지를 통신하는 것을 포함하는 다른 종류의 매체를 이용한다.
운영체제 요소가 다른 디렉토리에 복사되는 작동 후, 작동(216)에서, 운영체제 설계의 지정에 의해 R/W 매체 상에 요구되는 가상 디바이스 드라이버(VxDs), DLL, 레지스트리 파일과, 원하는 실행가능 파일만을 제외하고, 불필요한 디렉토리와 파일은 "Y:"드라이브로부터 제거된다.
불필요한 디렉토리와 파일은 다른 것들과 함께, 프로그램 관리자, Chkdsk 등을 포함한다. 디렉토리와 파일은 통상적으로, 컴퓨터 시스템으로부터 생략될 어플리케이션의 선택, 원하지 않는 어플리케이션의 생략, 저장공간의 보존 및 소프트웨어 코스트의 절감 등에 기초하여 제거된다.
불필요한 디렉토리와 파일을 제거하는 작동(216)의 근간은 어느 디렉토리와 파일이 불필요한지 결정하는 것이다. DLL, 실행가능한 코드를 포함하는 다양한 소프트웨어 요소는 운영체제가 기본적 오퍼레이션 컨피규레이션에 부트스트랩로드를 할 수 있도록 하기 위해 필요하다. 더욱이, 몇몇의 소프트웨어 요소는 영구(읽기전용(저장장치))에 저장될 수 있으나, 다른 요소는 재기록 가능한 저장장치에 저장되어야 한다.
어느 디렉토리와 파일이 필요하고, 어느 것이 재기록 가능한 저장장치에 저장되어야 하는가의 판단은 다양한 테크닉을 이용하여 행해진다. 예를 들어, 디렉토리와 파일은 기능에 대한 지식을 바탕으로 분류된다. 다른 예로, 어느 파일과 디렉토리가 필요한지 판단하기 위해 파일이 선택적으로 제거되고, 부트스트랩 로딩이 시도되는 시행착오 테크닉을 사용하여 디렉토리와 파일이 분류된다. 또 다른 실시예로, 검색기와 같은 유틸리티는 파일의 알려진 속성과, 파일의 기능에 관한 경우에 따른 텍스트 설명을 열거하는 "특성"기능을 가진다. 다른 실시예로, 파일명, 약어, 작명약정은 기능을 암시하도록 해석된다. 다른 테크닉은 몇 가지 테크닉을 섞어서 사용한다.
파일이나 디렉토리가 부트스트랩 로딩 동안 사용되는지를 판단하는 기술은, 전체 윈도우즈 운영체제를 로드하고, 일반적인 삭제(*.*)를 실행하는 것이다. 윈도우즈는 삭제를 방지하기 위해, 일반적으로 현재 열려있는 드라이버와 DLL을 잠근다. 리부트하기 위한 그 다음의 시도는 부트스트랩 로딩에 필수적인 파일이 삭제되었는지 그리고, 저장되어야 하는지 여부에 대한 판단을 허용하는 것이다.
작동(218)에서, 레지스트리는 어플리케이션, 문서와 같은 모든 다른 파일을 포인트하기 위해 "Z:"드라이브로 변경된다. 레지스트리를 변경하기 위한 기술은 선택된 파일을 "Z:" 드라이브로 끌어다 놓기 위해 윈도우즈 탐색기를 사용하여, 운영체제 레지스트리를 변경한다.
운영체제 디렉토리를 다른 디렉토리(214)로 복사하고, 레지스트리(218)를 변경하는 작동은, (일반적으로 "C:" 드라이브인) 특정 하드코드 장치에 억세스하도록 하드코드된 운영체계를 RAM드라이브에 억세스할 수 있도록 전환하는 것을 가능하게 한다. 예를들면, "대체" 명령을 사용하여, 운영체제 디렉토리(214)를 복사하여, 영구 마그네틱 저장매체를 지정하는 "C:"와 같은 종래의 드라이브 문자 대신에 RAM 드라이브를 지정하는 드라이브 문자로 대체한다. 레지스트리(218)를 변경하는 것은 레지스트리 내의 영구 마그네틱 저장 매체를 지정하는 드라이브 문자를 RAM 드라이버를 지정하는 드라이브 문자로 대체한다.
작동(220)에서, 다른 바람직한 변화가 레지스트리에 이루어져서 다른 매체상의 부팅가능 이미지를 지원할 수 있도록 한다. 통상적으로, 다른 바람직한 변화는 "C:" 드라이버에 억세스 할 수 있도록 하드코드된 포인터와 참조에 관한 변경을 포함한다. 변화되는 또 다른 기술은 참조 "C:\"를 탐색하기 위해 레지스트리를 조사하고, 통상적으로 "Y:" 드라이브 또는 "Z:"드라이브인 적당한 드라이브로 참조를 수작업으로 변경하는 것이다. 다른 테크닉은 참조 포인터를 변경하는 매크로작동을 생성하는 것이다.
"Y:" 드라이브(216)로부터 불필요한 디렉토리와 파일을 제거하고, 모든 파일을 "Z:"(218)로 포인트할 수 있도록 레지스트리를 변경하고, 다른 매체 상의 부팅가능 이미지를 다른 방법으로 지원하도록 레지스트리를 바꾸는 작동은, 영구 마그네틱 저장 매체에서 다른 부팅가능 매체로 부트스트래핑을 변경할 수 있도록, 디렉토리를 변경한다.
작동(222)은 "Y:"디렉토리의 셀프 익스트랙팅 이미지를 만들고, 이 이미지를 부트 윈도우즈(BOOTWIN) CD롬의 루트위치에 위치시킨다. 상기 "Y:"디렉토리의 이미지는 부트스트랩이 로딩되는 동안에 RAM드라이브로 전송되고, 부트스트랩 로딩 이후에 RAM 드라이브로부터 실행되는 이미지로서, CD롬 상에서 부팅가능 이미지의 작동에 사용된다. 그 후에, 부트스트랩이 로딩되는 동안, CD롬 상의 셀프 익스트랙트 이미지는 "Y:"드라이브의 지정을 담당하는 RAM 드라이브에 압축복원된다. 한 기술로서, "Y:"드라이브상의 이미지는 소프트웨어 분야에서 알려진 ZIP기술을 이용하여 CD롬에 전송된다.
작동(224)은 "Z:"디렉토리의 이미지를 BOOTWIN CD롬에 복사하며, 이에 따라, CD롬은 항구적인 부팅가능 이미지와, 비항구적인 부팅가능 이미지를 모두 저장하게 된다. 상기 CD롬은 부트스트랩 로딩에 따라 RAM 드라이브로 나중에 전송되는 셀프 익스트렉팅 파일을 포함하는 모든 운영체제 이미지와, 비항구적인 마그네틱 저장 매체로부터 운영체제가 실행될 때 CD롬으로부터 억세스되는 항구적인 파일을 모두 포함한다. 도 3에 도시한 바와 같이, 310부터 338 까지의 기능을 실행하는 파일을 포함하지만, "Z:"드라이브로부터의 파일과 함께 콤팩트 디스크 ISO 9660 파티션에 존재하며 작동(336)에 리스트된 자체복원 파일을 압축복원시키는 파일을 제외한, 몇몇의 파일이 CD롬의 El Tirito 부트 파티션에 존재한다.
작동(224)은 압축되지 않은 완전히 작동될 수 있는 바이너리 상태로 부팅가능 이미지를 CD롬에 복사한다. 상기 부팅가능 이미지는 운영체제가 실행중일 때, CD롬 드라이브 위치에서 CD롬으로부터 판독된다. 상기 RAM 드라이브에 저장된 드라이버는 부트업 하는 동한 필요에 의해 운영체제에 의해 억세스된다.
"Y:"디렉토리의 자체복원 이미지를 만들고, 부트 CD롬의 부트위치에 이미지를 위치시키고, "Z:"디렉토리의 이미지를 부트CD롬에 복사하는 작동은 CD롬에 항구적인 부팅가능 이미지와, 비항구적인 부팅가능 이미지를 모두 생성한다.
작동(226)에서는 부트 플렉시블 디스크가 생성되며, 운영체제 부트 파일이 부트 플렉시블 디스크에 복사된다. 통상적인 윈도우즈 운영체제에 있어서, 상기 부트파일은 "C:" 디렉토리에 위치된다. 운영체제 부트 파일은 통상적으로, CONFIG.SYS, AUTOEXEC.BAT, COMMAND.COM IO.SYS, MSDOS.SYS와 같은 것을 포함한다. 부트 플렉시블 디스크는 나중에 다른 부트 이미지를 CD롬에 만드는데 사용된다.
작동(228)에서, 운영체제 컨트롤 파일은 부트스트랩 프로세스를 제어하는 데이터 필드를 세팅하기 위해 변경된다. 본 실시예의 윈도우즈 운영체제에 따르면, MSDOS.SYS는 부트스트랩 프로세스가 원하는 대로 기능하도록 하기 위해 사용되는 컨트롤 데이터 필드를 추가시킬 수 있도록 변경된다. MSDOS.SYS는 부트스트랩 로딩 작동을 지시하는 초기화 명령과 헤더 정보를 포함하는 텍스트 파일이다.
작동(230)은 자원의 제한을 세팅하고, 디바이스 드라이버를 선택하는 등의 운영체제 작동의 다양한 특성을 로드하기 위해 시스템 컨피규레이션 파일을 부가하거나 변경한다. 윈도우즈 운영체제를 예를 들면, 작동(230)은 메모리를 확장할 수 있도록 HIMEM을 포함하고, 나중에 CD롬을 로드할 수 있도록 ASPICD를 포함하고, 선택된 컨트롤러를 로드하고 32MB RAM 드라이브를 로드하기 위해서 ASPI8 DOS를 포함하기 위해, CONFIG.SYS를 추가하거나 변경한다. 다른 예에 따르면, ASPI8DOC은 SCSI CD ROM 콘피규레이션 내부에 컨트롤러를 로드한다. 타겟 시스템상의 CD롬을 지원하는 어떠한 드라이버도 리스트된 드라이버를 대체할 수 있다. 복수개의 타겟 컨피규레이션 내에서 보증만 된다면, 모든 가능한 CD롬 드라이버는 로드될 수 있다.
작동(230)은 불편하고 귀찮고 불필요한 윈도우즈의 기능을 삭제한다. 다른 소스로부터 부트스트랩이 로드하는 운영체제에서 가장 바람직한 하나의 기능성은 GUI 기능과 CD롬 드라이브와 같이 다른 소스에 대한 드라이버이다. 예를 들어, 윈도우즈와 같은 전통적인 운영체제는 새로운 시스템을 부트스트랩 로드하거나, 운영체제가 컨피규레이션을 가지고 있지 않은 시스템을 로드할 때, 연결된 하드웨어 주변장치를 자동검출하려고 할 것이다. 일반적으로, 상기 윈도우즈 운영체제는 자동검출된 하드웨어 주변장치의 드라이버를 사용자가 로드하고 싶어하는지의 여부를 판단할 수 있도록, 사용자가 자동검출 중에 발견된 하드웨어에 대하여 질문하는 컨트롤 패널 프로그램(sysdm.cpl)을 포함한다. 모든 윈도우즈 기능을 사용하지는 않는 시스템에선, 오디오 카드, DVD 드라이버, 모뎀 등과 같은 주변장치의 컨피규레이션이 불필요하거나 거추장스러우므로, 상기 작동(230)은 디바이스를 자동검출하지 않도록 컨트롤 패널 프로그램을 삭제한다. 컨트롤패널 프로그램을 삭제하는 것은 이 경우에는 컴퓨터 시스템 작동에는 해를 주지 않는다.
작동(232)은 다른 부팅가능 매체를 지원할 수 있도록, 컴퓨터가 스타트업할 때, 자동으로 실행되는 특별한 목적의 배치파일을 부가하거나 변경한다. 윈도우즈 운영체제를 예로 들면, 작동(233)은 CD롬과 같은 디바이스나 네트워크 링크를 통해 통신되는 복수개의 신호로부터 부트스트랩 로딩을 지원할 수 있도록 AUTOEXEC.BAT을 부가하거나 변경한다. 도시한 방법(200)에 따르면, AUTOEXEC.BAT는 CD롬에 드라이브 문자를 할당하여, CD롬 드라이브가 운영체제 컨텍스트에서 하드디스크와 동일하게 나타날 수 있도록 하는 Microsoft CD 확장자인 MSCDEX를 포함하도록 부가 또는 변경된다. MSCDEX는 CD롬에 드라이브 문자를 할당하고, DOS가 CD롬에 기록된 파일에 억세스할 수 있도록 한다. AUTOEXEC.BAT는, RAM 드라이브를 검색하여, 발견되면, 부트스트랩 로딩동안에 RAM 드라이브를 억세스할 수 있도록 사용되는 환경변수에 RAM 드라이브의 드라이브 문자를 패스하는 CD-RAM을 실행하도록 변경된다. AUTOEXEC.BAT은 또한, 메모리상주 소프트웨어(TSR) 프로그램의 로딩과 CD롬 드라이브의 드라이브 문자를 CD롬 드라이브에 억세스하는데 이후에 사용되는 환경변수에 패스하는 것과 같은 다른 부트스트랩 로딩 기능을 지원하도록 변경된다.
부트스트랩 프로세서(228)를 제어하는 데이터 필드를 세팅하기 위해 운영체제 컨트롤 파일을 변경하고, 운영체제 실행(230)의 다양한 특성을 로드하기 위해 시스템 컨피규레이션 파일을 변경하고, 다른 부팅가능 매체(232)를 지원하도록 특수 목적의 배치파일을 변경하는 작동은, 상호 결합되어, 다른 디바이스에서 부트스트랩이 로딩하는 것을 지원하도록 스타트업 파일을 변경한다.
작동(234)에서는, 부트 플렉시블 디스켓의 섹터 이미지는, 플렉시블 디스켓을 읽어서 그 섹터 이미지를 CD롬으로 나중에 전송되는 파일에 기록하는 유틸리티 도구를 이용하는 CD롬 부트스트랩 이미지로 사용하기 위해 만들어진다. 플렉시블 디스켓의 섹터 이미지를 생성하는 유틸리티 도구는 부팅가능 CD 사양에 따라, AdaptecTMCD ROM 기록 소프트웨어를 예를 들 수 있다. 부팅가능 CD 사양은 El Torito 사양이다. El Torito는 Pheonix Technologies와 IBM에 의해 공동개발되어, BIOS가 COMMAND.COM 또는, 명령 BIOS에 의해 승인된 드라이브상의 다른 운영체제에 대한 명령 해석프로그램을 로드할 수 있도록 하는 유틸리티다. 상기 El Torito 사양은 부트이미지가 물리적으로 CD롬에 어떻게 위치되는지를 정의한다.
다른 소스로부터 부팅가능 시스템을 구성하는 방법의 마지막 작동(236)에 따르면, 상기 부팅가능 CD롬은 전술한 항구적인 부팅가능 이미지 파일과 비항구적인 부팅가능 이미지 파일을 포함하도록 생성(기록)된다. 상기 부팅가능 CD롬은, 예를 들어 El Torito와 ISO 9660 사양을 포함하는 부팅가능 CD롬 사양을 사용하여 생성된다. 통상적인 윈도우즈 운영체제에 따르면, 항구적인 부팅가능 이미지 파일과 비항구적인 부팅가능 이미지 파일은, Z:드라이브로부터 카피된 파일과, 플렉시블 디스켓의 섹터 이미지 카피로부터 승인된 CD롬 기록기 코드와, CD롬 기록기 코드에 의해 승인된 사양(El Torito)과 함께 컴퓨터 시스템의 "C:"드라이브로부터 카피된다. 특정한 데이터 구조를 포함하는 CD롬은 부팅가능하다.
부팅가능 CD롬은 차후에 부팅가능 CD롬 지원기능이 있는 임의의 컴퓨터 시스템을 부팅시킬 수 있도록 배포되어 유저에 의해 사용된다(238). 예를 들어, 부팅가능 CD롬 지원은 메모리가 적어도 64Mbyte 이상이며, 파티션된 DOS 하드 디스크 드라이브가 최대 "W;"까지(23개의 드라이브 이하) 설치된 컴퓨터 시스템에서 실행되도록 한정된다. 예를 들어, 시스템은 몇 종류의 Unix 디스크 드라이브 또는 윈도우즈 NTTM파일 시스템 NTFS 파티션을 가질 수 있다.
도 3을 참조하면, 플로우차트는 부트스트랩이 CD롬에 의해 로드될 때 컴퓨터 시스템에 의해 실행되는 프로세스를 도시한 부트 CD 프로세서 플로우(300)의 실시예를 도시한 것이다. 상기 프로세서 플로우(300)는 운영체제를 부팅하는 것으로 시작한다. 본 실시예에 따르면, 윈도우즈 95 운영체제의 일부인 도스 7.x 운영체제가 부트스트랩 로딩된다. 로딩하는 동안 상기 프로세서(110)는 시스템 특성을 인에이블하거나 디스에이블하고, 리소스에 대한 제한을 설정하고, 컴퓨터 시스템에 특정한 디바이스 드라이버와 컨트롤 하드웨어를 로딩하므로써 운영체제를 확장시키기 위해, 부팅가능 CD롬으로부터 CONFIG.SYS 파일을 로드한다.
그리고 나서, 상기 프로세서(110)는 운영체제 컨트롤 구조와, 파일, 컨트롤러, 드라이버 등을 설치한다. 상세히는, 상기 프로세서(110)는 메모리를 콘피규어하기 위해 CD ROM으로부터 HIMEM.SYS를 설치하고, 32 Mbyte RAM 드라이브를 생성하도록 CD ROM으로부터 RAMDRIVE.SYS를 설치한다. 상기 프로세서(110)는 작동(318) 내에서 컨트롤러와 CD롬 드라이버를 설치한다. 본 실시예에 따르면, 도스에 의해 마지막 드라이브 문자가 사용되지 않을 때, 상기 프로세서(110)는 디폴트로서 Adaptec 컨트롤러와 CD롬 드라이버를 설치한다. 프로세서(110)는 작동(320)에서 운영체제 드라이버를 설치한다. 본 실시예에 따르면, 작동(320)에서 상기 프로세서(110)는 설치가능한 파일시스템 HELP, IFHELP와 세트버전 SETVER 등을 포함하는 도스와 윈도우즈 드라이버를 설치한다. 다른 실시예에서는 더블 버퍼 DBLBUF와 같은 다른 드라이버가 설치된다.
작동(332)에서는, 상기 프로세서(110)는 CD롬으로부터 특수한 목적의 배치파일을 로드한다. 본 실시예에 따르면, 상기 프로세서(110)는 CD롬으로부터 AUTOEXEC.BAT파일을 로드한다.
작동(324)에서, 프로세서(110)는 RAM드라이브로부터 드라이브 문자를 결정하기 위해 부트 운영체제에 문의한다. 상세히는, 프로세서(110)는 CD-RAM을 이용하여 도스에 RAM드라이브의 배정된 드라이브 문자를 결정하기 위해 체크하는 실행가능한 코드를 문의하고, 나중의 사용을 위해 RAM드라이브 문자의 식별자로서 저장한다. 작동(326)에 따르면, 상기 프로세서(110) 로컬 "C:" 드라이브가 존재하는지 판단한다. 만일 "C:"드라이브가 존재하면, 프로세서(110)는 "C:"드라이브의 하드코드된 사양을 포함하는 레거시(legacy) 운영체제 코드에 의해 "C:"드라이브의 우발적 기록을 방지하기 위해, "C:"드라이브를 보호한다. "C:"드라이브를 보호하는 것은 레거시 운영체제 코드에 의해 유저 데이터를 덮어쓰는 것을 방지하는 것이다. 보호방법은 RAM드라이브에 대한 드라이브 문자를 레거시 운영체제 코드의 "C" 드라이브 문자로 교체하는 것이다. 이 방법에 따르면, "C:"드라이버는 더 이상 억세스 가능하지 않으며, 우발적으로 기록되지 않는다.
작동(328)에 따르면, 프로세서(110)는 운영체제를 RAM드라이브 위치로 부트스트랩 로딩하기 위해 배치파일을 카피한다. 본 실시예에 따르면, 프로세서(110)는 BOOTWIN.BAT파일을 RAM드라이브로 카피한다. 프로세서(110)는 작동(330)에서 Microsoft CD ROM 확장을 설치하여, 따라서, CD롬 드라이브를 위해, 도스 하의 드라이브 문자를 콘피규어한다.
작동(332)에 따르면, 프로세서(110)는 어느 드라이브 문자가 CD램 실행파일을 사용하는 CD롬 드라이브에 할당되는지 결정하기 위하여, 로우 레벨 운영체제에 문의한다. 상기 문의에 대한 응답은 나중에 사용되는 도스환경으로 되돌려진다. 프로세서(110)는 상기 응답이 레지스트리 내부의 RAM드라이브 문자와 정확하게 일치되는지 여부를 결정하기 위해, CD램을 실행시킴에 의해 RAM드라이브 문자를 체크한다. 만일 상기 RAM 드라이브 문자가 "Y:"와 일치하지 않으면, 논리동작(334)에 의해 결정되는 바와 같이, 컴퓨터 시스템은 대리 드라이브교체 명령을 실행한다. 만일 컴퓨터 시스템이 할당 완료된 드라이브를 갖지 않고 "X:"드라이브 문자를 포함하면, RAM드라이브는 "Y:"와 일치하지 않는다. 드라이브교체 명령은, RAM 드라이브에 어떠한 RAM 드라이브 문자가 현재 할당되었는지간에, 드라이브 문자 "Y"로 교체하여, 따라서, RAM드라이브는 "Y:"와 동일하게 된다.
작동(336)에 따르면, 프로세서(110)는 RAM 드라이브에 자체복원 운영체제 이미지를 압축복원한다. 본 실시예에 따르면, 압축된 운영체제 이미지는 RAM 드라이브 상에서 사용하기 위해, 처음에는 "Y:"드라이브 상에 구성된 자체복원 ZIP 이미지이다. 자체복원 프로그램 코드는 프로세서(110)가 ZIP 이미지내의 모든 데이터를 압축복원하고 디렉토리 구조 내에 파일을 저장하도록 지시하는 D 옵션으로 실행된다. 자체복원 작동은 다른 프로그램 코드를 실행시키지 않고 실행된다.
프로세서(110)는 작동(338)에서 COMSPEC을 RAM드라이브 위치와 동일하게 세팅한다.
작동(340)에서, 프로세서(110)는 현재의 운영체제의 기본 실행 드라이브로서 "Y:" 드라이브를 할당한다. 작동(342)에서, 프로세서(110)는, 도시된 실시예의 경우에는 "Y:\BOOTWIN.BAT"를 실행하여, "Y:"드라이브로부터 운영체제 부트스트랩 뱃치 작동을 실행한다. 플렉시블 디스크 드라이브에 리맵된 El Torito를 "A:"드라이브 사양으로 되돌리는 작동(344)에서, CD스톱 작동(CDSTOP)을 실행시키는 부트스트랩 배치 작동의 실행. 만일 일반적으로 "A:"드라이브와 연관된 플렉시블 디스크 이미지가 부트스트랩 로드되면, 상기 운영체제의 실행 드라이브는 CD롬에 리맵되고, 상기 "A:"드라이브는 "B;" 드라이브에 리맵된다. CDSTOP은 리맵된 상태를 검출하고, 리맵 상태를 최초의 상태로 복원하여, CD ROM이 운영체제 컨트롤 디바이스로부터 통상적인 CD 저장 주변장치로 변경되도록 한다. CDSTOP의 실행 후에, 상기"A:"드라이브 포인터는 더 이상 CD ROM을 지정하지 않고, 실제의 "A:"드라이브를 지정하도록 복원되며, El Torito 작동이 저장된다.
작동(346)에서, 프로세서(110)는 대안적인 기본 작동 드라이브로부터 부트스트랩 로드된 운영체제를 실행시킨다. 본 실시예에 따르면, 상기 프로세서(110)는 "Y:"드라이브로부터 윈도우즈 운영체제를 실행시킨다. 대안적인 드라이브로부터 실행되는 또 다른 운영체제 버전은 특정한 컴퓨터 시스템 플랫폼용으로 주문에 따라 콘피규어되거나 되지 않을 수 있다. 예를 들어, 상기 대안적인 운영체제 버전은 일반적인 프로그램 관리자를 생략하는 대신에, 고객 그래픽 유저 인터페이스(GUI)와, 가이드와 유저가 서버와 서버 유틸리티를 셋업할 수 있도록 지도하는 컨피규레이션 프로그램을 포함하는 웹브라우저를 결합할 수 있다.
작동(348)에서, 상기 프로세서(100)는 윈도우즈 운영체제의 내부에서 규정된 긴 이름파일을 참조할 수 있도록 운영체제에 의해 사용하기 적합한 긴 파일 이름을 생성한다. 긴 파일이름은, 작동(336)이 도스8.3 사양에서는 짧은 파일이름만 생산할 수 있고, 어떠한 파일과 디렉토리는 긴 파일이름 사양으로 레지스트리에 저장되기 때문에 생성된다.
지금까지 여러 가지 다양한 실시예가 설명되었으나, 도시된 실시예는 예시적인 목적으로 설명되었으므로, 본 발명의 사상이 이들 실시예로 국한되는 것은 아니다. 다야한 변형과 수정 및 개량이 본 실시예에 대하여 가해질 수 있다. 예를들면, 통상전문가는 여기에 도시된 구조와 방법을 실행하는 필요한 스텝을 용이하게 실행할 수 있으며, 프로세스 파라메타, 재료, 규격 등은 예시적인 것으로서, 본 발명의 범위 내에서 적절히 수정, 변경될 수 있다.
예를 들면, 대안적 디바이스로부터 부팅가능 운영체제를 구축하는 방법(200)은 컴퓨터의 제작공정에서 매우 유용하게 적용될 수 있다. 본 실시예의 방법(200)에서, 대안적인 매체에 부팅가능 이미지를 지원하기 위해 레지스트리에 다른 소망하는 변경을 가하는 작동(220)은 주문제작 제조과정을 지원하도록 변경될 수 있다. 불필요한 디렉토리와 파일을 제거하는 작동(216) 중에, 윈도우즈 하드웨어 자동검출기능이 제거될 수 있다. 윈도우즈 자동검출은 사용자가 반응하기에는 시간이 많이 들고, 복잡하고, 때로는 난해한 질문을 던지므로, 지나치게 대화식이다. 윈도우즈 자동검출 대신에, 컴퓨터 시스템 내에서 검출된 신호에 기초하여 공장에서 이루어지는 진단테스트 중에, 네트워크 링크를 통해 고객 DOS 기반 콘피규레이션 유틸리티가 실행되어, 대화식 응답이 회피될 수 있다. 콘피규레이션 유틸리티는 제조환경에서 하드웨어 구성요소를 찾아내고, 설치된 하드웨어를 검출하고, 하드웨어/소프트웨어 콘피규레이션을 판단하고, 진단테스트를 실행하고, 레지스트리에 적당한 콘피규레이션 정보를 기입하고, 상태정보를 네트워크를 통해 콘트롤 스테이션으로 되돌린다.
콘피규레이션 유틸리티와 결합된 대안적인 장치로부터 부팅가능 운영체제를 구축하는 방법은, 한 시점에 다른 프로세스를 대기하지 않으면서 다중 작동을 수행할 수 있는 높은 수준의 멀티스레드(multi-thread) 시스템이다. 네트워크 링크로부의 부트스트랩 로딩과 결합된 멀티스레드 콘피규레이션 검출 및 진단 시스템은 다중 통신 디바이스 상의 병렬적인 진단테스트, 예를들면 병렬포트 테스트나 CPU 테스트와 동시적으로 수행되는 시리얼포트의 테스트를 가능하게 한다. 진단 테스트는 일반적으로 운영체제에 대한 빈번한 재부팅을 이용한다. 도시된 실시예는, 유리하게도, 부트스트랩 로딩에 의한 초기화와 프로세서 상태의 콘트롤을 포함하는 다양한 장치에 대한 병렬적인 완전 진단테스트를 지원하며, 이 모든 동작이 네트워크 통신 명령에 의해 자동으로 실행된다.
본 발명은 윈도우즈 98 및 윈도우즈 95에 대한 부트스트랩 로딩에 대한 시스템으로 설명하였으나, 본 발명은 OS/2와 같은, 다른 유사한 부트스트랩 로딩 수단을 채용하는 운영체제에 적용할 수 있을 것이다.

Claims (37)

  1. 이후에 대안적인 부팅가능 매체에 전송하기 위한 운영체제 이미지를 생성하는 단계,
    항구적인 마그네틱 저장 매체로부터 대안적인 부팅가능 매체로 부트스트랩 로딩을 전환하는 단계,
    대안적인 부팅가능 매체에서 사용하기 위한 항구적인 부팅가능 이미지와 비항구적인 부팅가능 이미지를 생성하는 단계,
    대안적인 부팅가능 매체로부터의 부트스트랩 로딩을 지원하도록 스타트업 파일을 변경하는 단계, 및
    대안적인 부팅가능 매체를 생성하는 단계
    로 이루어지는 것을 특징으로 하는, 항구적인 마그네틱 저장장치에 대해 대안적인 매체 상에서 부팅가능 운영체제를 생성하는 방법.
  2. 제 1항에 있어서, 상기 운영체제 이미지를 생성하는 작동은, 항구적인 마그네틱 저장 매체에 운영체제를 설치하는 단계와,
    대안적인 디렉토리에 설치된 운영체제를 전송하는 단계를 더 포함하는 방법.
  3. 제 1항에 있어서, 상기 운영체제 이미지를 생성하는 작동은 멀티 파티션을 사용하기 위해 항구적인 마그네틱 저장장치에 복수개의 가상 드라이브를 생성하는 단계를 더 포함하는 방법.
  4. 제 1항에 있어서, 상기 운영체제 이미지를 생성하는 작동은 항구적인 마그네틱 저장 매체에 운영체제를 설치하는 단계와,
    대안적인 디렉토리에 설치된 운영체제를 전송하는 단계,
    대안적인 디렉토리로부터 불필요한 대안적인 디렉토리와 파일을 제거하고, 대안적인 부팅가능 매체상의 부팅가능 이미지를 지원하였을 디렉토리 레지스트리를 변경함으로써, 항구적인 마그네틱 저장 매체로부터 대안적인 부팅가능 매체로 부트스트랩 로딩을 전환하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제 1항에 있어서, 운영체제 이미지를 생성하는 단계는, 항구적인 마그네틱 저장 매체에 운영체제를 설치하는 단계와,
    대안적인 디렉토리에 설치된 운영체제를 전송하는 단계,
    대안적인 디렉토리로부터 불필요한 대안적인 디렉토리와 파일을 제거하고, 대안적인 부팅가능 매체상의 부팅가능 이미지를 지원하였을 디렉토리 레지스트리를 변경함으로써, 항구적인 마그네틱 저장 매체로부터 대안적인 부팅가능 매체로 부트스트랩 로딩을 전환하는 단계,
    대안적인 디렉토리의 자체복원 이미지를 만들고, 이것을 대안적인 부팅가능 매체의 루트 위치에 위치시켜고, 대안적인 부팅가능 매체에 항구적인 부팅가능 이미지의 이미지를 카피함으로써 대안적인 부팅가능 매체에 항구적인 부팅가능 이미지와 비항구적인 부팅가능 이미지를 생성하는 단계를 더 포함하는 방법.
  6. 제 1항에 있어서, 상기 대안적인 부팅가능 매체로부터 부트스트랩 로딩을 지원하도록 스타트업 파일을 변경하는 단계는,
    부트스트랩 프로세스를 컨트롤하는 데이터 필드를 세팅하기 위해 운영체제 컨트롤 파일을 변경하는 단계와, 운영체제 작용의 복수개의 특성을 로드하기 위해 시스템 컨피규레이션을 변경하는 단계와, 대안적인 부팅가능 매체를 지원하기 위해 배치파일을 변경하는 단계를 포함하는 방법.
  7. 제 1항에 있어서, 대안적인 부팅가능 매체를 생성하는 단계는 부트스트랩 이미지로 사용하기 위해, 부트 플렉시블 디스켓의 섹터 이미지를 만드는 단계와, 대안적인 부팅가능 매체에 선택된 파일을 기록하는 단계를 포함하는 방법.
  8. 제 1항에 있어서, 부트스트랩이 대안적인 부팅가능 매체로부터 운영체제를 로딩하는 단계를 더 포함하는 방법.
  9. 제 1항에 있어서, 대안적인 부팅가능 매체는 CD롬 매체인 것을 특징으로 하는 방법.
  10. 제 1항에 있어서, 대안적인 부팅가능 매체는 네트워크 링크를 통해 통신된 복수개의 신호인 것을 특징으로 하는 방법.
  11. 그 안에 구현된 컴퓨터 판독가능 코드를 가진 컴퓨터 사용가능 매체를 포함하며 제 1항에 따른 방법을 실행시키는 컴퓨터 프로그램 제품.
  12. 항구적인 마그네틱 저장매체에 대안적인 매체 상의 이미지로부터 부팅가능한 운영체제를 프로세서에 부트스트랩 로딩하는 방법에 있어서, 상기 방법은,
    대안적인 부팅가능 매체로부터 시스템 컨피규레이션 파일을 로딩하는 단계,
    운영체제 컨트롤 구조, 파일, 컨트롤러 및 드라이버를 설치하는 단계,
    레거시 소프트웨어 코드 억세스 작동을 전환하는 단계,
    운영체제의 부트스트랩 로딩을 컨트롤할 수 있도록 배치파일을 시스템 메모리의 가상 드라이버에 배치파일을 카피하는 단계,
    대안적인 부팅가능 매체 드라이브용의 DOS하의 드라이브 문자를 드라이버 실행파일에 할당하기 위해, 대안적인 부팅가능 매체 확장자를 확장자파일에 설치하는 단계,
    운영체제 드라이브 억세스를 가상 드라이브 억세스로 전환 하기 위해 드라이브 할당을 교체하는 단계,
    가상 드라이브에 자체복원 운영체제를 압축복원하는 단계, 및
    운영체제의 기본 작동 드라이브로서 가상 드라이브를 할당하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 제 12항에 있어서, 상기 대안적인 매체는 CD ROM인 것을 특징으로 하는 방법
  14. 제 12항에 있어서, 상기 대안적인 부팅가능 매체는 네트워크 링크를 통해 통신된 다수개의 신호인 것을 특징으로 하는 방법
  15. 제 12항에 있어서, 상기 시스템 컨피규레이션을 로딩하는 작동은,
    시스템 특성을 인에이블 또는 디스에이블하는 단계와,
    자원 상의 제한을 설정하는 단계와,
    디바이스 드라이버와 컨트롤 하드웨어를 로딩하는 단계를 포함하여,
    대안적인 매체로부터 CONFIG.SYS를 로딩하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  16. 제 12항에 있어서, 운영체제 컨트롤 구조, 파일, 컨트롤러, 드라이브를 설치하는 단계는,
    HIMEM.SYS를 설치하는 단계와, RAMDRIVE.SYS를 설치하는 단계와, CD롬 드라이버를 설치하는 단계와, DOS와 윈도우즈 드라이버를 설치하는 단계를 포함하는 것을 특징으로 하는 방법
  17. 제 12항에 있어서, 레거시 소프트웨어 코드 억세스 작동을 전환하는 단계는,
    시스템 메모리에 가상 드라이브를 생성하는 단계와,드라이브용 드라이브 문자를 결정하기 위해, 부트 운영체제에 질문하는 단계와,
    레거시가 가상 드라이브에 기록하는 것을 전환하는 것을 포함하여 전통적인 운영체제디스크에 기록하는 레거시 소프트웨어로 코드로부터 우발적인 기록 작동을 방지하는 단계로 구성된 방법
  18. 제 12항에 있어서, 운영체제 드라이브 억세스를 가상 드라이브 억세스로 전환하기 위한 드라이브 할당을 대체하는 단계로 이루어지고, 이 단계는,
    어느 드라이브 문자가 대안적인 부팅가능 매체에 콘피규어되었는지를 결정하기 위해 로우레벨 운영체제에 질문하는 단계와,
    로우레벨 운영체제으로부터 응답을 받는 단계와,
    상기 응답이 가상 드라이브 문자와 정확하게 일치되는지를 결정하기 위해 응답 드라이브 문자를 체크하는 단계와,
    만일 응답 드라이브 문자가 가상 드라이브 문자와 동일하지 않으면, 응답 드라이브 문자에 해당되는 가상 드라이브에 현재 할당된 드라이브 문자를 대체할 수 있도록 드라이브대체 명령을 실행하고, 응답 드라이브 문자와 가상드라이브를 동일하게 하는 단계를 포함하는 방법
  19. 12항에 있어서, 현재 운영체제의 기본 작동 드라이브로 할당된 드라이브로부터 부트스트랩 뱃치 작동을 실행하는 단계를 더 포함하는 방법
  20. 제 12항에 있어서, 현재 운영체제의 기본 작동 드라이브로서 가상 드라이브를 할당하는 단계를 더 포함하며, 이 단계는,
    현재 운영체제의 기본 작동 드라이브로 할당된 드라이브로부터 부트스트랩 뱃치 작동을 실행하는 단계와,
    가상 드라이브로부터 운영체제 뱃치 작동을 실행하는 단계를 포함하는 방법
  21. 제 12항에 있어서, 대안적인 기본 작동 드라이브로부터 부트스트랩 로드된 운영체제를 실행하는 단계를 더 포함하는 방법.
  22. 제 12항에 있어서, 상기 방법은, 윈도우즈 운영체제가 프로세서에 설치 되어 있지 않더라도, 윈도우즈 그래픽 유저 인터페이스를 부트스트랩 로드하고 실행하는 방법
  23. 그 안에 구현된 컴퓨터 판독가능 코드를 가진 컴퓨터 사용가능 매체를 포함하며 제 12항에 따른 방법을 실행시키는 컴퓨터 프로그램 제품.
  24. 어플리케이션 프로그램이나 인터페이스에 연관된 운영체제가 타겟 프로세서에 설치되지 않았을 때에, CD ROM 매체로부터 어플리케이션 또는 인터페이스를 부트스트랩 로딩하고 실행할 수 있고, 타겟프로세서에서 실행할 수 있는 컴퓨터 시스템 안에 구현된, 컴퓨터 판독가능 코드를 가진 컴퓨터 사용가능 매체를 포함하며 제 12항에 따른 방법을 실행시키는 컴퓨터 프로그램 제품.
  25. CD롬으로부터 엑세스 되며 저장되는 실행가능한 코드로 구성되며,
    상기 실행가능한 코드는 RAM 드라이브 상의 비항구적인 저장장치에 번지지정되고 CD롬 상의 항구적인 저장장치에 번지지정되도록 안내하는 지정자를 포함하고,
    상기 지정자는 대안적인 파일구조를 종래의 파일구조에 대체함으로써 발견되고, 레지스트리 엔트리를 종래의 파일구조에서 대안적인 파일구조의 알려진 위치로 바꾸고, 비항구적인 운영체제 파일을 RAM드라이브에 할당시키고, 항구적인 운영체제 파일을 CD롬에 할당시키는 것을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 코드를 가진 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  26. 프로세서와, 프로세서에 연결된 CD ROM 디바이스와, 상기 프로세서에 연결된 랜덤 엑세스 메모리(RAM)와, 그래픽 유저 인터페이스와 연관된 운영체제가 설치되지 않았을 때, 그래픽 유저 인터페이스 기능을 로드하고 실행시키는 실행가능 프로그램 코드로 구성된 컴퓨터 시스템
  27. 제 26항에 있어서, 상기 실행가능한 프로그램 코드는, RAM에 RAM드라이브를 생성하고, 운영체제의 베이스 코드에 하드코드된 소정의 드라이브 지정자를 대신하여 RAM드라이브의 지정자를 대체하는 컴퓨터 시스템
  28. 제 27항에 있어서, 상기 실행가능한 프로그램 코드는 RAM드라이브로부터 발생되는 운영체제 작동과 간섭되는 운영체제의 기능을 디스에이블하는 컴퓨터 시스템
  29. 제 28항에 있어서, 디스에이블된 운영체제의 기능은, 하드웨어 자동검출기능, 부팅시에 운영체제 레지스트리를 프리로딩하는 기능, 부트 매체에 부트 로그 파일을 기록하는 기능, 및 부트스트랩 프로세서를 바꾸기 위해 최종사용자가 기능키를 사용하는 것을 허용하는 기능 중에서 선택되는 컴퓨터 시스템
  30. 제 27항에 있어서, 상기 실행가능한 프로그램 코드는, 데이터를 RAM드라이브에 저장하는 것을 허용하고 CD롬으로부터 어플리케이션을 실행시키기 위해, 운영체제의 레지스트리를 변경하는 컴퓨터 시스템
  31. 제 27항에 있어서, 실행가능한 프로그램 코드는, 운영체제 기능을 실행시키기 위해, 항구적인 마그네틱 저장장치보다 RAM드라이브를 이용하도록 운영체제를 전환하는 컴퓨터 시스템
  32. 제 27항에 있어서, 실행가능한 프로그램 코드는 운영체제 레지스트리에서 만들어진 변경을 통해 하드코드된 운영체제 디렉토리에서 RAM드라이브 상의 대안적인 디렉토리로 억세스를 전환하기 위해 대체명령을 사용하는 컴퓨터 시스템
  33. 프로세서와, 종래에는 프로세서에 연결된 항구적인 마그네틱 저장 매체에 로드되는 운영체제와, 상기 프로세서에 연결된 대안적인 부팅가능 매체와, 상기 프로세서에 연결된 랜덤 억세스 메모리(RAM)와, 그래픽 유저 인터페이스와 관련된 운영체제가 프로세서에 설치되어 있지 않을 때, 그래픽 유저 인터페이스 기능을 로드하고 실행하는 실행가능한 프로그램 코드, 및 프로그램상에서 실행가능한 컴퓨터 시스템 컨피규레이션 유틸리티로 구성된 컴퓨터 시스템
  34. 제 33항에 있어서, 상기 실행가능한 프로그램 코드와 컴퓨터 시스템 컨피규레이션 유틸리티는 동시에 다중 작동을 실행하는 다중 작업 시스템을 공동으로 구성하는 컴퓨터 시스템
  35. 제 33항에 있어서, 상기 컴퓨터 시스템 컨피규레이션 유틸리티는 멀티 통신 디바이스 상에서 병렬 진단 테스트를 실행하는 진단 테스터를 포함하는 컴퓨터 시스템
  36. 제 33항에 있어서, 상기 컴퓨터 시스템 컨피규레이션 유틸리티는 부트스트랩 로딩에 의해 초기화와 프로세서 상태의 컨트롤을 포함하여, 다수개의 디바이스에 대한 병렬적인 진단 테스트를 지원하는 컴퓨터 시스템.
  37. 제 33항에 있어서, 상기 실행가능한 프로그램 코드와 컴퓨터 시스템 컨피규레이션 유틸리티는 공동으로 네트워크를 통해 통신된 명령을 실행시키는 컴퓨터 시스템
KR1019990036091A 1999-01-07 1999-08-28 읽기/쓰기 하드 드라이브의 파티션을 사용할 수 없는 경우의그래픽 유저 인터페이스를 부팅 및 구동하는 컴퓨터시스템 및오퍼레이팅 방법 KR20000052313A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/227,154 US6279109B1 (en) 1999-01-07 1999-01-07 Computing system and operating method for booting and running a graphical user interface (GUI) with r/w hard drive partition unavailable
US9227154 1999-01-27

Publications (1)

Publication Number Publication Date
KR20000052313A true KR20000052313A (ko) 2000-08-16

Family

ID=22851978

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990036091A KR20000052313A (ko) 1999-01-07 1999-08-28 읽기/쓰기 하드 드라이브의 파티션을 사용할 수 없는 경우의그래픽 유저 인터페이스를 부팅 및 구동하는 컴퓨터시스템 및오퍼레이팅 방법

Country Status (6)

Country Link
US (1) US6279109B1 (ko)
JP (1) JP2000207176A (ko)
KR (1) KR20000052313A (ko)
BR (1) BR9905838A (ko)
GB (1) GB9929380D0 (ko)
IT (1) ITTO991095A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040007128A (ko) * 2002-07-16 2004-01-24 임창수 프레쉬웹오에스를 구비한 컴퓨터 및 이를 제어하는 방법
KR100719270B1 (ko) * 2005-11-09 2007-05-17 최경우 디브이디 롬 및 씨디 롬 데이터 다중 전송 방법 및 그 시스템
KR20210073200A (ko) * 2019-12-10 2021-06-18 엘지전자 주식회사 전자기기

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100283243B1 (ko) 1998-05-11 2001-03-02 구자홍 운영체제의 부팅방법
US6560726B1 (en) 1999-08-19 2003-05-06 Dell Usa, L.P. Method and system for automated technical support for computers
US6760708B1 (en) * 1999-08-19 2004-07-06 Dell Products L.P. Method and system for migrating stored data to a build-to-order computing system
US6606716B1 (en) 1999-10-06 2003-08-12 Dell Usa, L.P. Method and system for automated technical support for computers
US6715067B1 (en) * 1999-09-21 2004-03-30 Intel Corporation Initializing a processor-based system from a non-volatile re-programmable semiconductor memory
US6546547B1 (en) * 1999-09-22 2003-04-08 Cisco Technology, Inc. Method and system for an automated net booting tool
US6556431B1 (en) 1999-10-06 2003-04-29 Dell Usa, L.P. System and method for converting alternating current into direct current
US6598223B1 (en) * 1999-10-06 2003-07-22 Dell Usa, L.P. Method and system for installing and testing build-to-order components in a defined configuration computer system
US6564220B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for monitoring support activity
US6563698B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for providing a computer system with a detachable component
US7089300B1 (en) * 1999-10-18 2006-08-08 Apple Computer, Inc. Method and apparatus for administering the operating system of a net-booted environment
US6751658B1 (en) * 1999-10-18 2004-06-15 Apple Computer, Inc. Providing a reliable operating system for clients of a net-booted environment
AU1885800A (en) * 2000-01-06 2001-07-16 Kam-Fu Chan Running microsoft windows 95/98 on ramdisk
US8612553B2 (en) * 2000-01-14 2013-12-17 Microsoft Corporation Method and system for dynamically purposing a computing device
US7152156B1 (en) * 2000-02-17 2006-12-19 Hart Intercivic, Inc. Secure internet voting system with bootable disk
US7107587B1 (en) 2000-09-18 2006-09-12 Microsoft Corporation Access redirector and entry reflector
US7013455B1 (en) * 2000-10-19 2006-03-14 International Business Machines Corporation System for automatically altering environment variable to run proper executable file by removing references to all except one duplicate file in the path sequence
US20080021936A1 (en) * 2000-10-26 2008-01-24 Reynolds Mark L Tools and techniques for original digital files
US7305465B2 (en) * 2000-11-15 2007-12-04 Robert Wing Collecting appliance problem information over network and providing remote technical support to deliver appliance fix information to an end user
US20040236843A1 (en) * 2001-11-15 2004-11-25 Robert Wing Online diagnosing of computer hardware and software
US7065755B2 (en) * 2001-03-15 2006-06-20 Sun Microsystems, Inc. Method and apparatus for removing class initialization barriers from shared compiled methods
US6944757B2 (en) * 2001-10-16 2005-09-13 Dell Products L.P. Method for allowing CD removal when booting embedded OS from a CD-ROM device
US20030120827A1 (en) * 2001-12-20 2003-06-26 Dominic Fulginiti Method and apparatus for automatically detecting machine states during an operating system installation through a network
US7120786B2 (en) * 2002-06-17 2006-10-10 Microsoft Corporation Booting from a compressed image
US7464403B2 (en) * 2002-07-23 2008-12-09 Hardman Jr Thomas James Secure mobile office wireless local-area network application integration package running from CD-ROM
US7730155B1 (en) 2002-10-01 2010-06-01 Apple Inc. Method and apparatus for dynamically locating resources
US7093166B2 (en) * 2002-10-08 2006-08-15 Dell Products L.P. Method and apparatus for testing physical memory in an information handling system under conventional operating systems
US6999913B2 (en) * 2002-12-10 2006-02-14 John Alan Hensley Emulated read-write disk drive using a protected medium
US6993649B2 (en) 2002-12-17 2006-01-31 John Alan Hensley Method of altering a computer operating system to boot and run from protected media
US7017039B2 (en) * 2002-12-31 2006-03-21 John Alan Hensley Method of booting a computer operating system to run from a normally unsupported system device
JP2004348677A (ja) * 2003-05-26 2004-12-09 Sony Corp プログラムおよび情報処理方法
GB0314623D0 (en) * 2003-06-23 2003-07-30 Symbian Ltd A portable computing device with a non-volatile memory drive
US9053239B2 (en) 2003-08-07 2015-06-09 International Business Machines Corporation Systems and methods for synchronizing software execution across data processing systems and platforms
US7100039B2 (en) * 2003-08-07 2006-08-29 International Business Machines Corporation Systems and methods for a bootstrap mechanism for software execution
US7024493B1 (en) * 2003-08-14 2006-04-04 Adaptec, Inc. Bootable CD for transferring files independently of computer operating systems
US7774774B1 (en) * 2003-10-22 2010-08-10 Apple Inc. Software setup system
US7860880B2 (en) * 2004-03-01 2010-12-28 Peckar & Abramson, A Professional Corporation System, method and process for managing problems and risks associated with a construction project using project-specific software and project notice forms relative to the construction contract
US7583457B2 (en) * 2004-03-22 2009-09-01 Microsoft Corporation RAM disk boot of optical media image
US20050257190A1 (en) * 2004-05-11 2005-11-17 Victor Shaburov Developing and executing applications with configurable patterns
WO2005114359A1 (en) * 2004-05-22 2005-12-01 Kam-Fu Chan Swapping “fixed” “system” hard disk
US20050289537A1 (en) * 2004-06-29 2005-12-29 Lee Sam J System and method for installing software on a computing device
US7827215B2 (en) * 2004-08-31 2010-11-02 Alcatel-Lucent Usa Inc. Real-time operation by a diskless client computer
US7401212B2 (en) * 2004-11-01 2008-07-15 Microsoft Corporation Self-contained computer servicing device
JP4433401B2 (ja) 2004-12-20 2010-03-17 レノボ シンガポール プライヴェート リミテッド 情報処理システム、プログラム、及び情報処理方法
TWI264673B (en) * 2005-06-27 2006-10-21 Lite On Technology Corp Methods and computers for presenting graphical user interface during a boot operation
US7587522B2 (en) * 2005-10-20 2009-09-08 Kabushiki Kaisha Toshiba Automated system and method for setting device module loading sequence
US8046732B2 (en) 2005-12-30 2011-10-25 Sap Ag Distribution of data changes in pattern configurations
US20070220187A1 (en) * 2006-03-20 2007-09-20 Lawrence Kates Virus-resistant computer with data interface for filtering data
US8234710B2 (en) * 2006-07-05 2012-07-31 BB4 Solutions, Inc. Malware automated removal system and method using a diagnostic operating system
US7958343B2 (en) * 2006-09-08 2011-06-07 Hewlett-Packard Development Company, L.P. BIOS bootable RAID support
US20080172555A1 (en) * 2007-01-17 2008-07-17 Erink Technologies, Llc Bootable thin client personal initialization device
US8473941B2 (en) * 2008-07-08 2013-06-25 Sandisk Il Ltd. Dynamic file system restriction for portable storage devices
TWI417789B (zh) * 2009-07-07 2013-12-01 Via Tech Inc 電腦系統及啟動方法
US9652741B2 (en) 2011-07-08 2017-05-16 Box, Inc. Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
GB2500152A (en) 2011-11-29 2013-09-11 Box Inc Mobile platform file and folder selection functionalities for offline access and synchronization
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
WO2013166520A1 (en) 2012-05-04 2013-11-07 Box, Inc. Repository redundancy implementation of a system which incrementally updates clients with events that occurred via cloud-enabled platform
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
US9558202B2 (en) 2012-08-27 2017-01-31 Box, Inc. Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9553758B2 (en) 2012-09-18 2017-01-24 Box, Inc. Sandboxing individual applications to specific user folders in a cloud-based service
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
EP2755151A3 (en) 2013-01-11 2014-09-24 Box, Inc. Functionalities, features and user interface of a synchronization client to a cloud-based environment
EP2757491A1 (en) 2013-01-17 2014-07-23 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US9542172B2 (en) 2013-02-05 2017-01-10 Apple Inc. Automatic updating of applications
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US10846074B2 (en) * 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
GB2515192B (en) 2013-06-13 2016-12-14 Box Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9582513B2 (en) 2013-12-08 2017-02-28 Microsoft Technology Licensing, Llc Accessing data in a compressed container through dynamic redirection
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
CN114721730A (zh) * 2021-01-05 2022-07-08 北京小米移动软件有限公司 图像采集部件识别方法、图像采集部件识别装置及存储介质
CN116383091B (zh) * 2023-05-29 2023-08-29 珠海妙存科技有限公司 eMMC验证平台的启动方法、启动装置及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142680A (en) * 1989-04-26 1992-08-25 Sun Microsystems, Inc. Method for loading an operating system through a network
EP0448495A3 (en) * 1990-03-22 1992-03-25 International Business Machines Corporation Flexible computer initialization
US5490260A (en) 1990-12-14 1996-02-06 Ceram, Inc. Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size
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
US6016402A (en) * 1996-05-21 2000-01-18 Iomega Corporation Method for integrating removable media disk drive into operating system recognized as fixed disk type and modifying operating system to recognize as floppy disk type
KR100291267B1 (ko) * 1996-12-23 2001-09-17 윤종용 부트가능한데이터시디롬디스크제조시스템,그제조방법및그에의해제조딘시디롬디스크
US5918048A (en) * 1997-03-17 1999-06-29 International Business Machines Corporation Booting an operating system using soft read-only storage (ROS) for firmware emulation
JPH10268958A (ja) * 1997-03-28 1998-10-09 Toshiba Corp コンピュータシステムおよびそのブートストラップ制御方法
US6170055B1 (en) * 1997-11-03 2001-01-02 Iomega Corporation System for computer recovery using removable high capacity media

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040007128A (ko) * 2002-07-16 2004-01-24 임창수 프레쉬웹오에스를 구비한 컴퓨터 및 이를 제어하는 방법
KR100719270B1 (ko) * 2005-11-09 2007-05-17 최경우 디브이디 롬 및 씨디 롬 데이터 다중 전송 방법 및 그 시스템
KR20210073200A (ko) * 2019-12-10 2021-06-18 엘지전자 주식회사 전자기기

Also Published As

Publication number Publication date
BR9905838A (pt) 2000-12-05
US6279109B1 (en) 2001-08-21
ITTO991095A0 (it) 1999-12-14
ITTO991095A1 (it) 2001-06-14
GB9929380D0 (en) 2000-02-09
JP2000207176A (ja) 2000-07-28

Similar Documents

Publication Publication Date Title
KR20000052313A (ko) 읽기/쓰기 하드 드라이브의 파티션을 사용할 수 없는 경우의그래픽 유저 인터페이스를 부팅 및 구동하는 컴퓨터시스템 및오퍼레이팅 방법
US6996706B1 (en) Booting an operating system or running other pre-boot code from a file stored under a different operating system
US5325532A (en) Automatic development of operating system boot image
US6138179A (en) System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
US6993649B2 (en) Method of altering a computer operating system to boot and run from protected media
US7519806B2 (en) Virtual partition for recording and restoring computer data files
US6449716B1 (en) Dual use master boot record
US8370835B2 (en) Method for dynamically generating a configuration for a virtual machine with a virtual hard disk in an external storage device
US6012130A (en) Method and apparatus for automated disk drive upgrades
US5787491A (en) Fast method and apparatus for creating a partition on a hard disk drive of a computer system and installing software into the new partition
US6434695B1 (en) Computer operating system using compressed ROM image in RAM
EP1410164B1 (en) An appliance server with a drive partitioning scheme that accommodates application growth in size
KR100860447B1 (ko) 선택된 기능성을 갖는 오퍼레이팅 시스템 생성 및 이용을위한 방법 및 시스템
US6032239A (en) System and method for updating partition mappings to logical drives in a computer memory device
US20040230963A1 (en) Method for updating firmware in an operating system agnostic manner
US20060101259A1 (en) Boot methods and computers utilizing same
US20010039612A1 (en) Apparatus and method for fast booting
US20030069999A1 (en) Method for providing a single preloaded software image with an ability to support multiple hardware configurations and multiple types of computer systems
CZ25397A3 (en) Computer system
US6658563B1 (en) Virtual floppy diskette image within a primary partition in a hard disk drive and method for booting system with virtual diskette
KR100393721B1 (ko) 컴퓨터기억장치의시뮬레이션방법
EP1836615A1 (en) Method of accessing files in electronic devices
US9971607B1 (en) Method of accessing files in electronic devices
US6993643B2 (en) Method and system of dynamic video driver selection on a bootable CD via symbolic links
Liang et al. A lean USB file system for bare machine applications

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid