KR100641665B1 - 삽입형 휴대용 운영 체제 모듈의 제조 및 업데이트 시스템및 방법 - Google Patents

삽입형 휴대용 운영 체제 모듈의 제조 및 업데이트 시스템및 방법 Download PDF

Info

Publication number
KR100641665B1
KR100641665B1 KR1020040061716A KR20040061716A KR100641665B1 KR 100641665 B1 KR100641665 B1 KR 100641665B1 KR 1020040061716 A KR1020040061716 A KR 1020040061716A KR 20040061716 A KR20040061716 A KR 20040061716A KR 100641665 B1 KR100641665 B1 KR 100641665B1
Authority
KR
South Korea
Prior art keywords
operating system
module
computer system
detachable
computer
Prior art date
Application number
KR1020040061716A
Other languages
English (en)
Other versions
KR20050018753A (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 KR20050018753A publication Critical patent/KR20050018753A/ko
Application granted granted Critical
Publication of KR100641665B1 publication Critical patent/KR100641665B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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

Abstract

본 발명은 운영 체제의 실행 이미지를 분리형 운영 체제 모듈 상에 저장하는 방법 및 시스템을 제공한다. 이 모듈은 먼저 제1 컴퓨터 시스템에 삽입된다. 운영 체제는 제1 컴퓨터 상에 설치되고, 운영 체제의 실행이 개시되며, 운영 체제의 실행 이미지가 분리형 모듈의 비휘발성 메모리 유닛에 저장된다. 분리형 모듈은 제1 컴퓨터 시스템으로부터 분리되고 제2 컴퓨터 시스템으로 삽입되며, 이 경우 운영 체제의 실행 이미지가 제2 컴퓨터 시스템에 포함된 하나 이상의 프로세서들에 의해 액세스가능한 제2 메모리로 로드된다. 운영 체제는 이어서 그 프로세서들에 의해 실행된다. 사용자는 제조업자의 웹 사이트에 접속하여 업데이트를 다운로드하거나 또는 업데이트를 위해 분리형 운영 체제 모듈을 제조업자에게 보냄으로써 운영 체제를 업데이트할 수 있다.

Description

삽입형 휴대용 운영 체제 모듈의 제조 및 업데이트 시스템 및 방법{SYSTEM AND METHOD FOR MANUFACTURING AND UPDATING INSERTABLE PORTABLE OPERATING SYSTEM MODULE}
도 1은 2개의 컴퓨터 시스템 사이에서 교환될 수 있는 운영 체제 모듈을 나타낸 블록도.
도 2는 운영 체제의 실행 이미지를 저장하는 비휘발성 저장 장치 및 CPU를 갖는 모듈을 수납하도록 구성된 컴퓨터 시스템을 나타낸 블록도.
도 3은 운영 체제의 실행 이미지를 저장하는 비휘발성 저장 장치를 갖는 모듈을 수납하도록 구성된 컴퓨터 시스템을 나타낸 블록도.
도 4는 컴퓨터 시스템에 운영 체제 모듈이 삽입되어 있는 경우와 삽입되어 있지 않은 경우의 그 컴퓨터 시스템의 상태를 나타낸 블록도.
도 5는 분리형 운영 체제 모듈을 컴퓨터 시스템에 삽입하고 그로부터 분리하는 프로세스를 나타낸 플로우차트.
도 6은 BIOS가 분리형 운영 체제 모듈을 검지하고, 그 운영 체제를 로드하며, 그 운영 체제로 제어를 넘기는 프로세스를 나타낸 플로우차트.
도 7은 컴퓨터 시스템에 부착된 로컬 장치를 찾아내는 프로세스를 나타낸 플로우차트.
도 8은 컴퓨터 시스템에 의해 액세스가능한 원격 장치를 찾아내는 프로세스를 나타낸 플로우차트.
도 9는 컴퓨터 시스템 상에서 실행시키기 위해 애플리케이션을 초기화하는 프로세스를 나타낸 플로우차트.
도 10은 운영 체제가 로드된 후에 운영 체제를 관리하는 프로세스를 나타낸 플로우차트.
도 11은 모듈의 분리 이전에 분리형 운영 체제 모듈 상에 운영 체제 상태를 저장하는 프로세스를 나타내는 플로우차트.
도 12는 컴퓨터 시스템에 운영 체제/애플리케이션 모듈이 삽입되어 있는 경우와 삽입되어 있지 않은 경우의 컴퓨터 시스템의 상태를 나타낸 블록도.
도 13은 분리형 운영 체제/애플리케이션 모듈을 컴퓨터 시스템에 삽입하고 그로부터 분리하는 프로세스를 나타낸 플로우차트.
도 14는 컴퓨터 시스템 상에서 실행시키기 위해 로컬 애플리케이션를 초기화하는 프로세스를 나타낸 플로우차트.
도 15는 컴퓨터 시스템 상에서 실행시키기 위해 모듈 (모듈에 저장된) 애플리케이션을 초기화하는 프로세스를 나타낸 플로우차트.
도 16은 모듈의 분리 이전에 분리형 운영 체제/애플리케이션 모듈 상에 모듈 애플리케이션을 저장하는 프로세스를 나타낸 플로우차트.
도 17은 모듈의 분리 이전에 분리형 운영 체제/애플리케이션 모듈 상에 애플리케이션 상태를 저장하는 프로세스를 나타내는 플로우차트.
도 18은 컴퓨터 시스템에 CPU 모듈이 삽입되어 있는 경우와 삽입되어 있지 않은 경우의 컴퓨터 시스템의 상태를 나타낸 블록도.
도 19는 컴퓨터 시스템에 분리형 CPU 모듈을 삽입하고 그로부터 분리하는 프로세스를 나타낸 플로우차트.
도 20은 BIOS가 분리형 CPU 모듈을 검지하고 모듈 상의 CPU와 컴퓨터 시스템 간의 호환성을 결정하는 프로세스를 나타낸 플로우차트.
도 21은 BIOS가 운영 체제를 로드하고 CPU를 사용하여 운영 체제를 실행하기 시작하는 프로세스를 나타낸 플로우차트.
도 22는 컴퓨터 시스템에 (제2 CPU를 갖는) CPU 모듈이 삽입되어 있는 경우와 삽입되어 있지 않은 경우의 컴퓨터 시스템의 상태를 나타낸 블록도.
도 23은 내장 CPU를 갖는 컴퓨터 시스템에 분리형 CPU 모듈을 삽입하고 그로부터 분리하는 프로세스를 나타낸 플로우차트.
도 24는 운영 체제가 제2 CPU에 액세스하여 부하의 일부를 제2 CPU에 분산시키는 프로세스를 나타낸 플로우차트.
도 25는 컴퓨터 시스템에 운영 체제/CPU 모듈이 삽입되어 있는 경우와 삽입되어 있지 않은 경우의 컴퓨터 시스템의 상태를 나타낸 블록도.
도 26은 분리형 운영 체제/CPU 모듈을 컴퓨터 시스템에 삽입하고 그로부터 분리하는 프로세스를 나타낸 플로우차트.
도 27은 BIOS가 분리형 운영 체제/CPU 모듈을 검지하고 모듈 상의 운영 체제 및 CPU와 컴퓨터 시스템 간의 호환성을 결정하는 프로세스를 나타낸 플로우차트.
도 28은 장치를 컴퓨터 시스템에 부착하는 것과 그 장치 상의 비휘발성 저장 장치로부터 컴퓨터 시스템으로 장치 드라이버를 전송하는 것을 나타낸 블록도.
도 29는 장치를 컴퓨터 시스템에 부착하고 그 장치 상의 비휘발성 저장 장치로부터 컴퓨터 시스템으로 장치 드라이버를 전송하는 프로세스를 나타낸 플로우차트.
도 30은 컴퓨터 시스템이 원격 장치 드라이버 레지스트리 서버 상에 저장된 장치의 장치 드라이버에 관한 정보를 획득하기 위해 XML 등의 이식성 언어(portable language)를 통해 그 서버와 통신하는 것을 나타낸 블록도.
도 31은 컴퓨터 시스템이 원격 장치 드라이버 레지스트리 서버 상에 저장된 장치의 장치 드라이버에 관한 정보를 획득하기 위해 XML 등의 이식성 언어를 통해 그 서버와 통신하는 프로세스를 나타낸 플로우차트.
도 32는 컴퓨터 시스템과 원격 서비스/장치 사이에 통신을 설정하는 프로세스를 나타낸 플로우차트.
도 33은 장치로의 불법 액세스를 방지하기 위한 보안 장치를 갖는 분리형 운영 체제 모듈을 나타낸 블록도.
도 34는 모듈 상의 보안 장치를 사용하여 분리형 운영 체제 모듈로의 불법 액세스를 방지하는 프로세스를 나타낸 플로우차트.
도 35는 모듈 상의 지문 스캐너를 사용하여 분리형 운영 체제 모듈을 보호하는 프로세스를 나타낸 플로우차트.
도 36은 모듈 상의 눈 망막 스캐너를 사용하여 분리형 운영 체제 모듈을 보 호하는 프로세스를 나타낸 플로우차트.
도 37은 패스워드를 입력하기 위한 모듈 상의 키패드를 사용하여 분리형 운영 체제 모듈을 보호하는 프로세스를 나타낸 플로우차트.
도 38은 사용자가 컴퓨터 시스템을 통해 제공한 보안 데이터를 사용하여 분리형 운영 체제 모듈로의 불법 액세스를 방지하는 프로세스를 나타낸 플로우차트.
도 39는 분리형 모듈의 제조/프로그래밍을 나타낸 블록도.
도 40은 운영 체제 모듈을 제조 및 프로그래밍하는 프로세스를 나타낸 플로우차트.
도 41은 사용자가 실행 중인 운영 체제 설치 파일을 사용하여 운영 체제 모듈을 프로그래밍하는 프로세스를 나타낸 플로우차트.
도 42는 사용자가 실행 중인 운영 체제 업데이트 설치 파일을 사용하여 운영 체제 모듈을 업데이트하는 프로세스를 나타낸 플로우차트.
도 43은 모듈 인터페이스를 갖는 퍼스널 컴퓨터를 나타낸 블록도.
도 44는 모듈 인터페이스 및 이 모듈 인터페이스에 부착된 서로 다른 구성 옵션을 갖는 모듈을 구비하는 퍼스널 컴퓨터를 제조하는 프로세스를 나타낸 플로우차트.
도 45는 컴퓨터 시스템 및/또는 모듈 상에 운영 체제(들)를 설치하는 프로세스를 나타낸 플로우차트.
도 46은 컴퓨터 시스템 및/또는 모듈 상에 애플리케이션(들)을 설치하는 프로세스를 나타낸 플로우차트.
도 47은 컴퓨터 시스템 및/또는 모듈 상에 CPU(들)를 설치하는 프로세스를 나타낸 플로우차트.
도 48은 본 명세서에 기술된 동작을 수행할 수 있는 컴퓨터 시스템의 단순화된 일례인 정보 처리 시스템을 나타낸 블록도.
<도면의 주요 부분에 대한 부호의 설명>
110(좌): OS 모듈을 갖지 않는 제1 컴퓨터 시스템
110(우): OS 모듈을 갖는 제1 컴퓨터 시스템
140(좌): OS 모듈을 갖지 않는 제1 컴퓨터 시스템
140(우): OS 모듈을 갖는 제1 컴퓨터 시스템
120, 160: 비휘발성 저장 장치
125, 165: 메모리
137, 177: OS 모듈 인터페이스
130, 170: 부가의 장치
135, 175: 장치 드라이버
294, 394: "실행중" OS
220, 292, 320, 392: 비휘발성 RAM
290, 390: 분리형 모듈
202, 302: 호스트 버스
204, 304: 2차 캐시
222, 322: JTAG/I2C 버스
208, 308: 메인 메모리
206, 306: 호스트-PCI 브리지
210, 214: PCI 버스
212, 312: 서비스 프로세서 인터페이스 및 ISA 액세스 패스쓰루
230, 330: LAN 카드
216, 316: 서비스 프로세서
218, 318: 플래시 메모리
235, 335: PCI-ISA 브리지
275, 375: 모뎀
264, 364: 직렬
262, 362: 병렬
240, 340: ISA 버스
270, 370: 마우스
268, 368: 키보드
300: 프로세서
310, 314: PCI 버스
420: 애플리케이션 RAM
418: I/O 구성 RAM
416: 장치 드라이버 RAM
434: 비휘발성 저장장치
426: 비휘발성 저장 장치에 있는 OS의 실행 이미지
424: OS 모듈
410: 컴퓨터 시스템
425: OS 모듈 인터페이스
본 발명은 일반적으로 분리형 운영 체제 모듈을 제조 및 업데이트하는 시스템 및 방법에 관한 것이다. 상세하게는, 본 발명은 운영 체제의 실행 이미지를 하나 이상의 분리형 운영 체제 모듈 상에 로드하는 시스템 및 방법에 관한 것이다.
많은 컴퓨터 사용자들은 다수의 컴퓨터 시스템 및/또는 기타 컴퓨팅 장치를 소유하고 있다. 사용자는 예를 들어 집에 있는 데스크톱 컴퓨터, 사무실에 있는 데스크톱 컴퓨터, 휴대용 랩톱 컴퓨터를 소유하고 있을 수 있다. 게다가, 사용자는 개인 휴대 단말기(personal data assistant, PDA) 및 이동 전화(mobile phone) 등의 포켓-사이즈의 컴퓨팅 장치를 소유하고 있을 수 있다.
사용자가 소유하고 있는 각각의 컴퓨터 시스템 및 장치에 대해, 사용자는 개별적인 운영 체제 사용권을 구매해야만 한다. 예를 들어, 사용자는 데스크톱 퍼스널 컴퓨터의 윈도즈 운영 체제 사용권 및 개인 휴대 단말기의 팜 운영 체제(Palm operating system)를 구매해야만 한다. 종종, 운영 체제에 대한 사용권은 그 운영 체제의 가격에 포함되어 있다. 사용자는 동일한 운영 체제를 사용할 수 있는 컴퓨 터 시스템들에 대해서조차도 개별적인 운영 체제를 구매해야만 한다. 예를 들어, 사용자는 데스크톱 및 랩톱 퍼스널 컴퓨터 둘다에 대해 이들이 동시에 사용되지 않는 경우에도 개별적으로 윈도즈 운영 체제의 사용허가를 받아야만 한다.
다수의 운영 체제를 소유하는 것과 관련한 비용 이외에도, 사용자는 그 운영 체제들 각각을 개별적으로 유지 및 업데이트해야만 한다. 예를 들어, 윈도즈 운영 체제의 업데이트가 이용가능하고 사용자가 데스크톱과 랩톱 퍼스널 컴퓨터 둘다에서 윈도즈를 실행하고 있는 경우, 사용자는 랩톱과 데스크톱 둘다로부터 개별적으로 윈도즈 업데이트 유틸리티를 실행시켜야만 한다. 사용자가 특정의 윈도즈 데스크톱 테마(Windows desktop theme)를 설치하고자 하는 경우, 사용자는 그 데스크톱 테마를 데스크톱과 랩톱 양쪽 모두에 설치해야만 한다. 사용자가 어떤 프린터를 설치하여 사용하고자 하는 경우, 사용자는 그 프린터 드라이버를 데스크톱과 랩톱 양쪽 모두에 설치해야만 한다. 사용자가 즐겨찾는 웹사이트의 리스트를 저장하고자 하는 경우, 사용자는 데스크톱과 랩톱 양쪽 모두에 그와 같이 해야만 한다.
따라서, 단일 사용권을 구매하여 다수의 컴퓨터 시스템들 상에 단일 운영 체제를 실행시키는 방법을 사용자에게 제공할 수 있는 시스템 및 방법이 필요하다. 이 시스템 및 방법은 사용자가 분리형 모듈을 삽입하여 다수의 컴퓨터 시스템들 중 하나 상에서 단일 운영 체제를 실행시킬 수 있도록 분리형 모듈 상의 단일 운영 체제만을 업데이트 및 유지할 수 있게 해주는 기능을 사용자에게 제공해야만 한다.
게다가, 이러한 모듈을 제조하는 시스템 및 방법이 필요하다. 처음에 운영 체제의 실행 이미지를 모듈 상에 로드하고 그 모듈을 고객에게 출하하는 시스템 및 방법이 필요하다. 또한, 사용자가 나중에 분리형 모듈 상의 운영 체제의 실행 이미지를 업데이트하는 시스템 및 방법이 필요하다.
제1 컴퓨터를 사용하여 운영 체제의 실행 이미지를 분리형 운영 체제 모듈 상에 저장하는 방법 및 시스템에 의해 전술한 문제점들이 해소될 수 있음을 발견하였다. 분리형 모듈 상에 저장된 운영 체제는 그 분리형 모듈을 제2 컴퓨터 시스템에 삽입할 때 이 제2 컴퓨터 시스템에 의해 수행되도록 구성되어 있다.
분리형 모듈은 먼저 제1 컴퓨터 시스템에 삽입된다. 분리형 운영 체제 모듈은 분리형 모듈을 전원이 켜진 컴퓨터 시스템에 연결하도록 구성된 인터페이스, 및 운영 체제의 실행 이미지를 저장하기 위한 비휘발성 메모리 유닛을 포함한다.
먼저 운영 체제가 제1 컴퓨터 상에 설치되고, 운영 체제의 실행이 개시되며, 운영 체제의 실행 이미지가 제1 컴퓨터 상에 저장된다. 이어서, 운영 체제의 실행 이미지가 제1 컴퓨터 시스템으로부터 분리형 운영 체제 모듈의 비휘발성 메모리 유닛으로 전송될 수 있다.
운영 체제의 실행 이미지를 분리형 운영 체제 모듈로 전송한 후에, 분리형 운영 체제 모듈은 제1 컴퓨터 시스템으로부터 분리되고 제2 컴퓨터 시스템의 사용자에게 출하된다. 사용자는 분리형 운영 체제 모듈을 분리형 모듈을 수납하도록 구성되어 있는 제2 컴퓨터 시스템의 물리적 인터페이스에 삽입할 수 있다. 제2 컴퓨터 시스템은 제2 컴퓨터 시스템의 물리적 인터페이스로의 분리형 운영 체제 모듈의 삽입을 검지하고 운영 체제의 실행 이미지를 분리형 모듈로부터 제2 컴퓨터 시 스템 내에 포함된 하나 이상의 프로세서들로부터 액세스가능한 제2 메모리로 로드할 수 있다. 로드된 운영 체제는 이어서 프로세서들에 의해 실행될 수 있다.
분리형 운영 체제 모듈 상의 운영 체제의 실행 이미지는 사용자에 의해 업데이트될 수 있다. 제2 컴퓨터 시스템은 컴퓨터 네트워크에 연결될 수 있고, 제2 컴퓨터 시스템에 의해 운영 체제 업데이트의 요청이 전송될 수 있다. 이 요청에 응답하여 제2 컴퓨터 시스템에서 운영 체제의 제2 실행 이미지를 수신한 후에, 분리형 운영 체제 모듈의 비휘발성 메모리 유닛 상에 저장된 운영 체제의 실행 이미지는 운영 체제의 제2 실행 이미지를 사용하여 업데이트된다.
사용자는 제2 컴퓨터 시스템을 통해 운영 체제 업데이트의 비용에 대응하는 지불 금액을 전송함으로써 업데이트를 구매할 수 있다. 전자적 형태로 되어 있을 수 있는 그 지불은 제2 컴퓨터 시스템으로부터 컴퓨터 네트워크를 통해 지불 정보가 수신되는 곳인 제조업자의 웹사이트로 전송될 수 있다.
다른 대안에서, 사용자는 분리형 운영 체제 모듈을 제2 컴퓨터 시스템으로부터 분리하여 그 모듈을 운영 체제 서비스 제공자로 발송할 수 있다. 서비스 제공자는 분리형 모듈 상의 운영 체제의 실행 이미지를 업데이트하여 그 분리형 운영 체제 모듈을 다시 사용자에게 발송할 수 있다.
이상의 기재는 본 발명을 요약한 것으로서, 따라서 필요에 따라 단순화되어 있으며, 일반화되어 있고, 또 세부 사항이 생략되어 있으며, 그 결과 당업자라면 이상의 요약이 예시적인 것일 뿐이며 어떤 한정을 하려는 것이 아님을 잘 알 것이다. 청구항들에 의해서만 한정되는 본 발명의 다른 태양, 독창적 특징 및 이점들 은 한정하는 것이 아닌 이하에 기술된 상세한 설명에서 명백하게 될 것이다.
이하의 기재는 본 발명의 일례에 대한 상세한 설명을 제공하기 위한 것이며 본 발명 자체를 제한하는 것으로 간주되어서는 안된다. 오히려, 다수의 변형례들이 이하의 설명 이후에 오는 청구항들에 정의된 본 발명의 범위 내에 속할 수 있다.
도 1은 2개의 컴퓨터 시스템 사이에서 교환될 수 있는 운영 체제 모듈을 나타낸 블록도이다. 컴퓨터 시스템(110)은 운영 체제를 로드하기에 앞서 컴퓨터 시스템(110)의 기본 입/출력을 수행하기 위한 BIOS(115), 컴퓨터 시스템 상에 설치된 애플리케이션, 사용자의 설정 등을 저장하기 위한 비휘발성 저장 장치(120), 및 컴퓨터 시스템의 동작 동안 임시 저장 장치로서 사용하기 위한 메모리(125)를 포함한다. BIOS는 본 명세서에서 언급하는 바와 같이 POST(power on self test)도 포함할 수 있다. 컴퓨터 시스템(110)은 장치의 장치 드라이버(135)를 포함하는 부가의 장치(130)(프린터 등)도 포함한다. 장치 드라이버(135)는 컴퓨터 시스템(110)과 부가의 장치(130) 사이의 통신을 용이하게 하기 위해 컴퓨터 시스템(110) 상에 설치된다. 부가의 장치(130)는 컴퓨터 시스템(110)에 부가의 장치(130)를 연결시킬 때 컴퓨터 시스템(110)에 장치 드라이버(135)를 제공할 수 있으며, 그 결과 사용자는 다른 소스로부터 부가의 장치(130)의 장치 드라이버를 획득할 필요가 없다.
컴퓨터 시스템(110)은 분리형 운영 체제 모듈 인터페이스(137)도 포함하고 있으며, 이 인터페이스는 분리형 운영 체제 모듈(180) 등의 분리형 운영 체제 모듈 을 수납할 수 있다. 분리형 운영 체제 모듈(180)은 비휘발성 메모리(185) 및 운영 체제 실행 이미지(190)를 포함한다. 분리형 운영 체제 모듈(180)을 분리형 운영 체제 모듈 인터페이스(137)에 삽입했을 때, BIOS(115)는 분리형 운영 체제 모듈(180)을 검지하고 운영 체제 실행 이미지를 분리형 운영 체제 모듈(180)로부터 메모리 유닛(125)으로 로드한다. 이어서, BIOS(115)는 컴퓨터 시스템(110) 상에서 운영 체제의 실행을 개시한다. 로드된 운영 체제는 작동되어 컴퓨터 시스템(110)을 제어하고 비휘발성 저장 장치(120), 메모리(125), BIOS(115) 및 부가의 장치(130) 사이의 인터페이스를 제공한다.
이와 유사하게, 컴퓨터 시스템(140)은 운영 체제를 로드하기에 앞서 컴퓨터 시스템(140)의 기본 입/출력을 수행하기 위한 BIOS(145), 컴퓨터 시스템 상에 설치된 애플리케이션, 사용자의 설정 등을 저장하기 위한 비휘발성 저장 장치(160), 및 컴퓨터 시스템의 동작 동안 임시 저장 장치로서 사용하기 위한 메모리(165)를 포함한다. 컴퓨터 시스템(140)은 장치의 장치 드라이버(175)를 포함하는 부가의 장치(170)(프린터 등)도 포함한다. 장치 드라이버(175)는 컴퓨터 시스템(140)과 부가의 장치(170) 사이의 통신을 용이하게 하기 위해 컴퓨터 시스템(140) 상에 설치된다. 부가의 장치(170)은 컴퓨터 시스템(140)에 부가의 장치(170)를 연결시킬 때 컴퓨터 시스템(140)에 장치 드라이버(175)를 제공할 수 있으며, 그 결과 사용자는 다른 소스로부터 부가의 장치(170)의 장치 드라이버를 획득할 필요가 없다. 컴퓨터 시스템(140)은 분리형 운영 체제 모듈 인터페이스(177)도 포함하고 있으며, 이 인터페이스는 분리형 운영 체제 모듈(180) 등의 분리형 운영 체제 모듈을 수납할 수 있다.
분리형 운영 체제 모듈(180)은 컴퓨터 시스템(110)으로부터 분리된 다음에 컴퓨터 시스템(140)에 삽입될 수 있으며, 모듈 상의 운영 체제는 2개의 컴퓨터 시스템 중 어느 한 컴퓨터 시스템을 실행 및 제어할 수 있다. 분리형 운영 체제 모듈(180)을 분리형 운영 체제 모듈 인터페이스(177)에 삽입했을 때, BIOS(145)는 분리형 운영 체제 모듈(180)을 검지하고 운영 체제 실행 이미지를 분리형 운영 체제 모듈(180)로부터 메모리 유닛(165)으로 로드한다. 이어서, BIOS(145)는 컴퓨터 시스템(110)에서와 아주 유사한 방식으로 컴퓨터 시스템(140) 상에서 운영 체제의 실행을 개시한다. 로드된 운영 체제는 이제 작동되어 컴퓨터 시스템(140)을 제어할 수 있고 비휘발성 저장 장치(160), 메모리(165), BIOS(145) 및 부가의 장치(170) 사이의 인터페이스를 제공한다.
도 2는 운영 체제의 실행 이미지를 저장하는 비휘발성 저장 장치 및 CPU를 갖는 모듈을 수납하도록 구성된 컴퓨터 시스템을 나타낸 블록도이다. 운영 체제의 실행 이미지는 실행 중인 내부 운영 체제 작업을 비롯하여 초기화되어 실행 중인 운영 체제를 포함하는 메모리의 스냅샷이다.
컴퓨터 시스템(201)은 분리형 모듈(290) 상에 존재하는 CPU(294)를 포함한다. 비휘발성 RAM(292)도 포함하는 분리형 모듈(290)은 컴퓨터 시스템(201)으로부터 분리되고 그에 재삽입될 수 있다. 분리형 모듈(290)은 호스트 버스(202)에 연결되어 있으며, 이 호스트 버스(202)는 분리형 모듈(290)을 컴퓨터 시스템(201)에 연결시킨다. 비휘발성 저장 장치(292)는 운영 체제 실행 이미지(294)를 포함하며, 이 실행 이미지는 분리형 모듈(290)을 컴퓨터 시스템(201)에 삽입할 때 로드되고 컴퓨터 시스템(201)을 작동 및 제어하기 위해 실행되기 시작한다.
2차 (L2) 캐시 메모리(204)도 호스트 버스(202)에 연결되어 있다. 호스트-PCI 브리지(206)는 메인 메모리(208)에 연결되어 있으며, 캐시 메모리와 메인 메모리 제어 기능을 포함하고, PCI 버스(210), 프로세서(200), L2 캐시(204), 메인 메모리(208), 및 호스트 버스(202) 간의 전송을 처리하기 위한 버스 제어를 제공한다. 메인 메모리(208)는 호스트 버스(202) 뿐만 아니라 호스트-PCI 브리지(206)에도 연결되어 있다. LAN 카드(230) 등의 CPU(294)에 의해서만 사용되는 장치는 PCI 버스(210)에 연결되어 있다. 서비스 프로세서 인터페이스 및 ISA 액세스 패스쓰루(Access Passthrough)(212)는 PCI 버스(210)와 PCI 버스(214) 사이의 인터페이스를 제공한다. 이와 같이, PCI 버스(214)는 PCI 버스(210)와 분리되어 있다. 플래시 메모리(218) 등의 장치는 PCI 버스(214)에 연결되어 있다. 한 구현예에서, 플래시 메모리(218)는 각종의 하위 레벨 시스템 기능 및 시스템 부트 기능에 필요한 프로세서 실행가능 코드를 내포한 BIOS 코드를 포함한다.
PCI 버스(214)는 예를 들어 플래시 메모리(218)를 비롯한 CPU(294) 및 서비스 프로세서(216)에 의해 공유되는 각종의 장치에 대한 인터페이스를 제공한다. PCI-ISA 브리지(235)는 PCI 버스(214)와 ISA 버스(240) 사이의 전송을 처리하기 위한 버스 제어, USB(범용 직렬 버스) 기능(245), 전력 관리 기능(255)을 제공하며, 실시간 클록(RTC), DMA 제어, 인터럽트 지원, 및 시스템 관리 버스 지원 등의 도시하지 않은 다른 기능 요소를 포함할 수 있다. 비휘발성 RAM(220)은 ISA 버스(240) 에 부착되어 있다. 서비스 프로세서(216)는 초기화 단계 동안 CPU(294)와의 통신을 위한 JTAG/I2C 버스(222)를 포함한다. JTAG/I2C 버스(222)는 L2 캐시(204), 호스트-PCI 브리지(206), 및 메인 메모리(208)에도 연결되어 프로세서, 서비스 프로세서, L2 캐시, 호스트-PCI 브리지, 및 메인 메모리 사이의 통신 경로를 제공한다. 서비스 프로세서(216)는 정보 처리 장치(201)의 전원을 차단시키기 위해 시스템 전원 자원에도 액세스한다.
주변 장치 및 입/출력(I/O) 장치는 여러가지 인터페이스, 예를 들면 ISA 버스(240)에 연결되어 있는 병렬 인터페이스(262), 직렬 인터페이스(264), 키보드 인터페이스(268), 및 마우스 인터페이스(270)에 부착될 수 있다. 다른 대안에서, 많은 I/O 장치가 ISA 버스(240)에 부착되어 있는 수퍼 I/O 콘트롤러(도시 안됨)에 의해 조정될 수 있다.
네트워크를 거쳐 파일을 복사하기 위해 컴퓨터 시스템(201)을 다른 컴퓨터 시스템에 연결시키기 위해, LAN 카드(230)가 PCI 버스(210)에 연결되어 있다. 이와 유사하게, 전화선 연결을 사용하여 인터넷에 연결하기 위해 컴퓨터 시스템(201)을 ISP에 연결시키도록, 모뎀(275)이 직렬 포트(264) 및 PCI-ISA 브리지(235)에 연결되어 있다.
도 3은 운영 체제의 실행 이미지를 저장하는 비휘발성 저장 장치를 갖는 모듈을 수납하도록 구성된 컴퓨터 시스템을 나타낸 블록도이다. 컴퓨터 시스템(301)은 호스트 버스(302)에 연결되어 있는 프로세서(300)를 포함한다. 비휘발성 RAM(392)도 포함하는 분리형 모듈(390)은 컴퓨터 시스템(301)으로부터 분리되고 그 에 재삽입될 수 있다. 분리형 모듈(390)은 호스트 버스(302)에 연결되어 있으며, 이 호스트 버스(302)는 분리형 모듈(390)을 컴퓨터 시스템(301)에 연결시킨다. 비휘발성 저장 장치(392)는 운영 체제 실행 이미지(394)를 포함하며, 이 실행 이미지는 분리형 모듈(390)을 컴퓨터 시스템(301)에 삽입할 때 로드되고 컴퓨터 시스템(301)을 작동 및 제어하기 위해 실행되기 시작한다.
2차 (L2) 캐시 메모리(304)도 호스트 버스(302)에 연결되어 있다. 호스트-PCI 브리지(306)는 메인 메모리(308)에 연결되어 있으며, 캐시 메모리와 메인 메모리 제어 기능을 포함하고, PCI 버스(310), 프로세서(300), L2 캐시(304), 메인 메모리(308), 및 호스트 버스(302) 간의 전송을 처리하기 위한 버스 제어를 제공한다. 메인 메모리(308)는 호스트 버스(302) 뿐만 아니라 호스트-PCI 브리지(306)에도 연결되어 있다. LAN 카드(330) 등의 호스트 프로세서(300)에 의해서만 사용되는 장치는 PCI 버스(310)에 연결되어 있다. 서비스 프로세서 인터페이스 및 ISA 액세스 패스쓰루(Access Passthrough)(312)는 PCI 버스(310)와 PCI 버스(314) 사이의 인터페이스를 제공한다. 이와 같이, PCI 버스(314)는 PCI 버스(310)와 분리되어 있다. 플래시 메모리(318) 등의 장치는 PCI 버스(314)에 연결되어 있다. 한 구현예에서, 플래시 메모리(318)는 각종의 하위 레벨 시스템 기능 및 시스템 부트 기능에 필요한 프로세서 실행가능 코드를 내포한 BIOS 코드를 포함한다.
PCI 버스(314)는 예를 들어 플래시 메모리(318)를 비롯한 호스트 프로세서(300) 및 서비스 프로세서(316)에 의해 공유되는 각종의 장치에 대한 인터페이스를 제공한다. PCI-ISA 브리지(335)는 PCI 버스(314)와 ISA 버스(340) 사이의 전송을 처리하기 위한 버스 제어, USB(범용 직렬 버스) 기능(345), 전력 관리 기능(355)을 제공하며, 실시간 클록(RTC), DMA 제어, 인터럽트 지원, 및 시스템 관리 버스 지원 등의 도시하지 않은 다른 기능 요소를 포함할 수 있다. 비휘발성 RAM(320)은 ISA 버스(340)에 부착되어 있다. 서비스 프로세서(316)는 초기화 단계 동안 프로세서(300)와의 통신을 위한 JTAG/I2C 버스(322)를 포함한다. JTAG/I2C 버스(322)는 L2 캐시(304), 호스트-PCI 브리지(306), 및 메인 메모리(308)에도 연결되어 프로세서, 서비스 프로세서, L2 캐시, 호스트-PCI 브리지, 및 메인 메모리 사이의 통신 경로를 제공한다. 서비스 프로세서(316)는 정보 처리 장치(301)의 전원을 차단시키기 위해 시스템 전원 자원에도 액세스한다.
주변 장치 및 입/출력(I/O) 장치는 여러가지 인터페이스, 예를 들면 ISA 버스(340)에 연결되어 있는 병렬 인터페이스(362), 직렬 인터페이스(364), 키보드 인터페이스(368), 및 마우스 인터페이스(370)에 부착될 수 있다. 다른 대안에서, 많은 I/O 장치가 ISA 버스(340)에 부착되어 있는 수퍼 I/O 콘트롤러(도시 안됨)에 의해 조정될 수 있다.
네트워크를 거쳐 파일을 복사하기 위해 컴퓨터 시스템(301)을 다른 컴퓨터 시스템에 연결시키기 위해, LAN 카드(330)가 PCI 버스(310)에 연결되어 있다. 이와 유사하게, 전화선 연결을 사용하여 인터넷에 연결하기 위해 컴퓨터 시스템(301)을 ISP에 연결시키기 위해, 모뎀(375)이 직렬 포트(364) 및 PCI-ISA 브리지(335)에 연결되어 있다.
도 4는 컴퓨터 시스템에 운영 체제 모듈이 삽입되어 있는 경우와 삽입되어 있지 않은 경우의 컴퓨터 시스템의 상태를 나타낸 블록도이다. 컴퓨터 시스템(410)은 운영 체제의 실행에 앞서 기본적인 입/출력 기능을 수행하기 위한 BIOS(428), 컴퓨터 시스템(410)을 실행 및 제어하기 위한 명령어를 처리하는 CPU(430), 설치된 애플리케이션, 사용자 설정 등을 저장하는 비휘발성 저장 장치(434), 및 컴퓨터 시스템(410)이 동작하는 동안 임시 저장을 위한 RAM(412)을 포함한다.
게다가, 컴퓨터 시스템(410)은 분리형 운영 체제 모듈(424)을 수납할 수 있는 분리형 운영 체제 모듈 인터페이스(425)를 포함한다. 분리형 운영 체제 모듈(424)은 비휘발성 저장 장치에 있는 운영 체제 실행 이미지(426)를 포함한다.
분리형 운영 체제 모듈(424)을 분리형 운영 체제 모듈 인터페이스(425)에 삽입할 때, BIOS(428)는 운영 체제 실행 이미지(426)를 분리형 운영 체제 모듈(424)의 비휘발성 저장 장치로부터 RAM(412)[운영 체제 RAM(414)]으로 로드하고 운영 체제의 실행을 개시한다.
이어서, 운영 체제는 비휘발성 저장 장치(434)로부터 컴퓨터 시스템(410)에 연결되어 있는 임의의 외부 장치에 필요한 임의의 장치 드라이버[장치 드라이버 RAM(416)], 입/출력 구성[I/O 구성 RAM(418)], 및 임의의 요청된 애플리케이션[애플리케이션 RAM(420)]을 로드한다.
분리형 운영 체제 모듈(424)을 컴퓨터 시스템(410)으로부터 분리할 때, 로드 프로세스는 반대로 된다. 운영 체제의 현재의 상태는 분리형 운영 체제 모듈(424) 상에서 업데이트되고, 애플리케이션 정보, I/O 구성, 및 장치 드라이버는 비휘발성 저장 장치(434) 상에서 업데이트된다. 분리 시에, 분리형 운영 체제 모듈은 그 모듈의 운영 체제가 이제는 다른 컴퓨터 시스템을 제어 및 작동시킬 수 있도록 다른 호환 컴퓨터 시스템에 삽입될 수 있다.
도 5는 분리형 운영 체제 모듈을 컴퓨터 시스템에 삽입하고 그로부터 분리하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 500에서 시작하며, 그 후 단계 510에서 사용자는 분리형 운영 체제 모듈을 모듈을 수납하도록 구성되어 있는 컴퓨터 시스템에 삽입한다. 분리형 운영 체제 모듈은 운영 체제의 실행 이미지를 가지고 있으며, 이 실행 이미지는 모듈 상의 비휘발성 저장 장치 상에 저장되어 있다. 단계 515에서, 컴퓨터 시스템의 BIOS는 삽입 시에 분리형 운영 체제 모듈을 검지하고 모듈 상의 비휘발성 저장 장치로부터 컴퓨터 시스템의 RAM으로 운영 체제를 로드하기 시작한다. 운영 체제의 로드가 완료된 후에, BIOS는 운영 체제의 실행을 개시하고 이어서 운영 체제로 제어를 넘긴다. 도 6의 플로우차트는 단계 515에서 행해지는 처리에 관한 추가의 세부 구성을 제공한다.
단계 520에서, 운영 체제는 이 컴퓨터에 부착된 로컬 장치를 찾아낸다. 운영 체제는 분리형 운영 체제 모듈을 이 컴퓨터 시스템으로부터 분리하기에 앞서 장치를 포함하는 리스트를 현재 찾아낸 장치들과 비교하고 그에 따라 장치의 리스트를 업데이트한다. 도 7의 플로우차트는 단계 520에서 행해지는 처리에 관한 추가의 세부 구성을 제공한다.
단계 525에서, 운영 체제는 사용자가 서로 다른 컴퓨터 시스템을 사용하고 있을 때 컴퓨터 시스템에 의해 또는 사용자에 의해 액세스될 수 있었던 임의의 원 격 장치를 찾아낸다. 도 8의 플로우차트는 단계 525에서 행해지는 처리에 관한 추가의 세부 구성을 제공한다.
단계 530에서, 운영 체제는 컴퓨터 시스템으로부터 분리형 운영 체제 모듈을 최종적으로 분리하기에 앞서 동면(hibernate)하고 있던, 즉 다른 방식으로 정지(suspend)되어 있던 애플리케이션을 초기화한다. 도 9의 플로우차트는 단계 525에서 행해지는 처리에 관한 추가의 세부 구성을 제공한다.
단계 535에서, 운영 체제는 컴퓨터 시스템을 관리한다. 운영 체제는 사용자에 의해 또는 실행 중인 애플리케이션에 의해 요청된 작업을 수행한다. 도 10의 플로우차트는 단계 535에서 행해지는 처리에 관한 추가의 세부 구성을 제공한다.
그 다음에, 결정 단계 540에서 사용자가 분리형 운영 체제 모듈의 분리를 요청했는지에 관한 결정이 행해진다. 사용자가 아직 분리형 운영 체제 모듈의 분리를 요청하지 않은 경우, 결정 단계 540는 "아니오" 분기(550)로 분기되어 단계 535로 되돌아가고, 그 후에 운영 체제는 임의의 요청된 작업을 계속 수행한다.
사용자가 분리형 운영 체제 모듈의 분리를 요청한 경우, 결정 단계 540는 "예" 분기(545)로 분기하고 처리는 계속하여 단계 555으로 가서 운영 체제의 상태가 분리형 운영 체제 모듈 상에 저장된다. 도 11의 플로우차트는 단계 555에서 행해지는 처리에 관한 추가의 세부 구성을 제공한다.
단계 560에서, 분리형 운영 체제 모듈의 분리를 위한 모든 준비가 수행된 후에, 사용자는 "모듈을 분리해도 괜찮다"는 통지를 받으며, 단계 565에서 사용자는 분리형 운영 체제 모듈을 분리한다. 처리는 단계 599에서 종료한다.
도 6은 BIOS가 분리형 운영 체제 모듈을 검지하고, 그 운영 체제를 로드하며, 그 운영 체제로 제어를 넘기는 프로세스를 나타낸 플로우차트이다. 처리는 단계 600에서 시작하고, 이어서 단계 610에서 BIOS는 삽입된 분리형 운영 체제 모듈을 검지한다. 분리형 운영 체제 모듈은 컴퓨터 시스템에 그 모듈에 관한 초기 정보를 제공하기 위해 예를 들어 플러그-앤-플레이(plug-and-play) 타입 기능을 포함할 수 있다.
단계 615에서, BIOS는 운영 체제의 실행 이미지를 분리형 운영 체제 모듈로부터 컴퓨터 시스템의 RAM으로 로드한다. 운영 체제의 로드 시에, BIOS는 운영 체제의 실행 이미지를 RAM으로 직접 복사할 수도 있고, 또는 BIOS는 운영 체제를 모듈로부터 실행시키기 위해 모듈의 메모리 주소를 RAM 주소로 매핑할 수도 있으며, 또는 BIOS는 운영 체제의 이미지를 모듈 상의 동면 저장 상태로부터 RAM으로 복구될 수도 있고, 이상의 것의 조합일 수도 있다. 컴퓨터 시스템의 RAM과 분리형 운영 체제 모듈 상의 메모리 주소들 사이의 매핑을 설정하기 위해, 예를 들어 삽입 시에 소정의 자동 할당에 의해, 또는 운영 체제용으로 예비된 RAM에서의 베이스 주소(base address)를 가짐으로써, 또는 하드웨어 핀 검출 및 재배치(relocation)를 사용함으로써, 베이스 주소가 할당될 수 있다.
단계 620에서, BIOS는 효과적으로 시스템을 재부팅하거나 모듈을 재초기화함으로써 운영 체제를 재시동(restart)하든지 운영 체제의 실행을 재개(resume)하든지 하도록 사용자에게 요구한다. 단계 625에서, 사용자의 입력이 수신된다.
그 다음에, 결정 단계 625에서 사용자가 운영 체제를 재시동하기로 선택하였 는지에 관한 결정이 행해진다. 사용자가 시스템을 재시동하기로 선택한 경우, 결정 단계 625는 "예" 분기(635)로 분기하고, 이어서 단계 655에서 운영 체제의 재시동 진입점(restart entry point)이 모듈로부터 획득된다. 운영 체제 재시동 지점은 모듈의 초기 생성 동안 또는 모듈을 컴퓨터 시스템으로부터 분리하기에 앞서 운영 체제의 상태가 모듈 상에 저장될 때 모듈 상에 저장된다. 재시동 진입점은 분리형 운영 체제 모듈을 최종적으로 분리하기에 앞서 운영 체제의 이전의 상태를 고려하지 않고 처리가 재초기화되는 지점을 나타낸다. 단계 660에서, 운영 체제는 재시동 진입점부터 실행되기 시작한다. 이어서, 처리는 단계 699에서 종료한다.
사용자가 시스템을 재시동하기로 선택하지 않고 그 대신에 운영 체제를 재개하기로 선택한 경우, 결정 단계 625는 "아니오" 분기(640)로 분기하고 이어서 단계 645에서 운영 체제의 재개 진입점이 모듈로부터 획득된다. 운영 체제 재개 지점은 모듈을 컴퓨터 시스템으로부터 최종적으로 분리하기에 앞서 모듈 상에 저장된다. 재개 진입점은 운영 체제의 상태가 분리형 운영 체제 모듈 상에 저장되기 바로 전에 처리가 중단되었던 지점을 나타낸다. 단계 650에서, 운영 체제는 재개 진입점부터 실행되기 시작한다. 이어서, 처리는 단계 699에서 종료한다.
도 7은 컴퓨터 시스템에 부착된 로컬 장치를 찾아내는 프로세스를 나타낸 플로우차트이다. 처리는 단계 700에서 시작되고, 이어서 결정 단계 710에서 로컬 장치 드라이버 구성 파일이 로컬 컴퓨터 시스템의 비휘발성 저장 장치 상에 존재하는지에 관한 결정이 행해진다. 장치 드라이버 구성 파일이 존재하지 않는 경우, 결정 단계 710는 "아니오" 분기(714)로 분기하고 이어서 단계 736에서 로컬 장치 드 라이버 구성 파일이 생성된다. 이어서 처리는 결정 단계 738에서 계속된다. 장치 드라이버 구성 파일은 컴퓨터 시스템이 최근에 동면(hibernate), 정지(suspend), 또는 종료(shut down)되기에 앞서 컴퓨터 시스템에 연결되어 있던 모든 로컬 장치의 리스트를 가지고 있다. 이 리스트는 장치의 현재 존재 여부를 반드시 반영하지 못할 수도 있는 데 그 이유는 최근에 컴퓨터 시스템이 동작한 이래로 새로운 장치가 부가되고 이전의 장치가 분리되어 있을 수도 있기 때문이다.
장치 드라이버 구성 파일이 존재하는 경우, 결정 단계 710은 "예" 분기(712)로 분기하고, 이어서 장치 드라이버 구성 파일이 로컬 컴퓨터 시스템으로부터 로드된다. 단계 718에서, 구성 파일로부터 제1 장치가 선택되고, 이어서 결정 단계 720에서 선택된 장치가 현재 컴퓨터 시스템에 연결되어 있는지에 관한 결정이 행해진다. 선택된 장치가 이용할 수 없는 경우, 결정 단계 720는 "아니오" 분기(722)로 분기하고, 이어서 단계 726에서 선택된 장치는 장치 드라이버 구성 파일로부터 삭제된다. 그 다음에 처리는 결정 단계 728에서 계속된다. 선택된 장치가 이용가능한 경우, 결정 단계 720는 "예" 분기(724)로 분기하여 삭제 단계를 건너뛰게 된다.
결정 단계 728에서, 장치 드라이버 구성 파일의 리스트에 검사를 필요로 하는 장치 드라이버가 더 있는지에 관한 결정이 행해진다. 장치가 더 존재하는 경우, 결정 단계 728는 "예" 분기(732)로 분기하고, 이어서 단계 734에서 그 다음 장치 드라이버가 선택되고, 처리는 결정 단계 720으로 되돌아간다. 장치 드라이버 구성 파일에 더 이상 장치가 없는 경우, 결정 단계 728는 "아니오" 분기(730)로 분 기하고, 이어서 처리는 결정 단계 738에서 계속된다.
결정 단계 738에서, 최근에 컴퓨터 시스템이 켜진 이래로 컴퓨터 시스템에 어떤 새로운 장치가 연결되어 있는지에 관한 결정이 행해진다. 새로운 장치가 존재하지 않는 경우, 결정 단계 738은 "아니오" 분기(740)로 분기하고, 장치 드라이버 구성 파일은 추가로 업데이트되지 않으며, 처리는 단계 799에서 종료한다. 새로운 장치가 존재하는 경우, 결정 단계 738은 "예" 분기(742)로 분기하고, 이어서 단계 746에서 발견된 제1의 새로운 장치가 선택된다. 단계 746에서, 새로 발견된 장치에 대응하는 장치 드라이버가 결정되고 로드된다. 그에 따라, 운영 체제의 임의의 레지스트리가 업데이트된다. 게다가, 로컬 장치 드라이버 구성 파일은 새로 발견된 장치를 포함하도록 업데이트된다.
그 다음에, 결정 단계 748에서 등록을 필요로 하는 새로운 장치가 더 있는지에 관한 결정이 행해진다. 새로운 장치가 더 이상 없는 경우, 결정 단계 748은 "아니오" 분기(750)로 분기하고, 단계 799에서 처리가 종료한다. 새로운 장치가 더 있는 경우, 결정 단계 748은 "예" 분기(752)로 분기하고, 이어서 단계 754에서 그 다음 새로운 장치가 선택되고, 이어서 처리는 새로운 장치를 셋업하고 해당 파일을 업데이트하기 위해 단계 746으로 되돌아간다.
도 8은 컴퓨터 시스템에 의해 액세스가능한 원격 장치를 찾아내는 프로세스를 나타낸 플로우차트이다. 처리는 단계 800에서 시작한다. 이어서, 결정 단계 810에서 원격 장치 드라이버 구성 파일이 로컬 컴퓨터 시스템 상에 존재하는지에 관한 결정이 행해진다. 원격 장치 드라이버 구성 파일이 컴퓨터 시스템 상에 존재 하지 않는 경우, 결정 단계 810은 "아니오" 분기(814)로 분기하고, 이어서 처리는 결정 단계 818에서 계속된다.
원격 장치 드라이버 구성 파일이 컴퓨터 시스템 상에 존재하는 경우, 결정 단계 810은 "예" 분기(812)로 분기하고, 이어서 최근에 컴퓨터 시스템이 켜졌을 때 컴퓨터 시스템에 연결되어 있는 원격 장치의 리스트를 획득하기 위해 원격 장치 드라이버 구성 파일이 로드된다. 이어서, 처리는 결정 단계 818에서 계속된다.
결정 단계 818에서, 원격 장치 드라이버 구성 파일이 분리형 운영 체제 모듈 상에 존재하는지에 관한 결정이 행해진다. 모듈의 사용자가 선호하는 원격 장치에 대한 별도의 원격 장치 드라이버 구성 파일이 모듈 상에 유지될 수 있다. 원격 장치 드라이버 구성 파일이 존재하지 않는 경우, 결정 단계 818는 "아니오" 분기(820)로 분기하고, 이어서 처리는 단계 826에서 계속된다. 원격 장치 드라이버 구성 파일이 존재하는 경우, 결정 단계 818는 "예" 분기(822)로 분기하고, 이어서 단계 824에서 원격 장치 드라이버 구성 파일이 모듈로부터 로드된다. 이어서, 처리는 단계 826에서 계속된다.
단계 826에서, 제1 원격 장치 드라이버가 선택되고, 단계 828에서 원격 장치가 여전히 이용가능한지를 결정하기 위해 원격 장치 드라이버 레지스트리 서버에 접촉한다. 이어서, 단계 830에서 그 장치가 이용가능한지에 관한 결정이 행해진다. 장치가 여전히 이용가능한 것이 아닌 경우, 결정 단계 830는 "아니오" 분기(834)로 분기하고, 이어서 처리는 결정 단계 838에서 계속된다.
장치가 여전히 이용가능한 경우, 결정 단계 830은 "예" 분기(832)로 분기하 고, 이어서 단계 836에서 장치를 설치하는 데 필요한 정보를 수신하기 위해 원격 장치 드라이버 레지스트리 서버에 접촉한다. 도 31의 플로우차트는 단계 836에서 행해지는 처리에 관한 추가의 세부 구성을 제공한다.
이어서, 결정 단계 838에서 검사를 필요로 하는 드라이버가 더 존재하는지에 관한 결정이 행해진다. 검사를 필요로 하는 드라이버가 더 이상 존재하지 않는 경우, 결정 단계 838은 "아니오" 분기(840)로 분기하고, 이어서 처리는 단계 899에서 종료한다. 검사를 필요로 하는 장치가 더 존재하는 경우, 결정 단계 838은 "예" 분기(842)로 분기하고, 이어서 단계 844에서 새로운 장치 드라이버가 선택되며, 이어서 선택된 드라이버를 검사하기 위해 처리는 단계 828로 되돌아간다.
도 9는 컴퓨터 시스템 상에서 실행시키기 위해 애플리케이션을 초기화하는 프로세스를 나타낸 플로우차트이다. 이들은 최근에 분리형 운영 체제 모듈이 컴퓨터 시스템으로부터 분리되었을 때 컴퓨터 시스템 상에서 실행되고 있다가 동면 또는 정지된 애플리케이션이다. 처리는 단계 900에서 시작하고, 이어서 단계 910에서 운영 체제는 애플리케이션 상태 데이터 파일을 분리형 운영 체제 모듈로부터 로드한다. 애플리케이션 상태 데이터 파일은 사용자가 작업하고 있었던 파일, 편집이 행해지고 있었던 파일 내에서의 위치 등과 같은 정보를 포함한다.
이어서, 결정 단계 912에서 재개를 필요로 하는 애플리케이션이 더 있는지에 관한 결정이 행해진다. 재개를 필요로 하는 애플리케이션이 없는 경우, 결정 단계 912는 "아니오" 분기(916)로 분기하고, 이어서 처리는 단계 999에서 종료한다. 재개를 필요로 하는 애플리케이션이 존재하는 경우, 결정 단계 912는 "예" 분기(914) 로 분기하고, 이어서 단계 918에서 제1의 이러한 애플리케이션이 선택된다.
그 다음에, 결정 단계 920에서, 선택된 애플리케이션이 현재의 컴퓨터 시스템 상에서 이용가능한지에 관한 결정이 행해진다. 운영 체제 모듈의 사용자는 현재의 컴퓨터 시스템에서 이용할 수 없거나 설치되어 있지 않은 애플리케이션을 이전의 컴퓨터 시스템 상에서 실행시킬 수 있다. 애플리케이션이 현재의 컴퓨터 시스템 상에서 이용할 수 없는 경우, 결정 단계 920은 "아니오" 분기(924)로 분기하고, 이어서 애플리케이션의 상태 정보가 애플리케이션 상태 데이터 파일에 보관된다. 이 정보를 보관하는 것은 대응하는 애플리케이션이 장래의 컴퓨터 시스템 상에서 복원될 경우 이를 가능하도록 하기 위해서이다. 그 다음에, 처리는 결정 단계 928에서 계속된다.
애플리케이션이 현재의 컴퓨터 시스템 상에서 이용가능한 경우, 결정 단계 920은 "예" 분기(922)로 분기하고, 이어서 애플리케이션의 기동이 시작된다. 단계 934에서, 애플리케이션를 기동시키기 위한 적절한 양의 메모리가 운영 체제에 의해 예비되며, 단계 936에서 애플리케이션을 기동하기 위해 대응하는 실행 파일이 실행된다. 단계 938에서, 운영 체제는 애플리케이션 상태 데이터 파일로부터의 데이터를 사용하여 애플리케이션을 모듈의 사용자가 이전에 빠져나올 때의 상태로 복원한다. 예를 들어, 애플리케이션이 마이크로소프트 워드(Microsoft Word)인 경우, 사용자가 최종적으로 편집하고 있었던 파일이 기동되고, 편집 위치는 최종의 편집 위치로 설정되며, 도구 막대 구성은 최종의 도구 막대 구성으로 설정되는 등이다. 그 다음에, 처리는 결정 단계 928에서 계속된다.
결정 단계 928에서, 재개를 필요로 하는 애플리케이션이 더 있는지에 관한 결정이 행해진다. 재개를 필요로 하는 애플리케이션이 더 이상 없는 경우, 결정 단계 928은 "아니오" 분기(932)로 분기하고, 이어서 처리는 단계 999에서 종료한다. 재개를 필요로 하는 애플리케이션이 더 있는 경우, 결정 단계 928은 "예" 분기(930)로 분기하고, 이어서 단계 940에서 그 다음 애플리케이션이 선택되며, 처리는 재개 프로세스(resuming process)를 계속하기 위해 결정 단계 920으로 되돌아간다.
도 10은 운영 체제가 로드된 후에 운영 체제를 관리하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 1000에서 시작하고, 이어서 단계 1010에서 운영 체제는 사용자 또는 애플리케이션의 작업 요청을 기다린다. 요청된 작업은 예를 들면, 인쇄, 텍스트 입력, 그래픽 표시, 계산 수행 등일 수 있다. 결정 단계 1015에서, 작업이 요청되었는지에 관한 결정이 행해진다. 작업이 요청되지 않은 경우, 결정 단계 1015는 "아니오" 분기(1025)로 분기하고, 이어서 처리는 단계 1010으로 되돌아가며, 운영 체제는 계속하여 작업 요청을 기다린다.
작업이 요청된 경우, 결정 단계 1015는 "예" 분기(1020)로 분기하고, 이어서 결정 단계 1030에서 작업을 완료하는 데 필요한 다른 파일 및 실행 파일이 이미 RAM에 로드되어 있는지에 관한 결정이 행해진다. 운영 체제의 어떤 부분이 RAM에 로드되지 않고 분리형 운영 체제 모듈의 비휘발성 저장 장치에 남아 있을 수 있다. 모든 필요한 파일이 이미 로드되어 있는 경우, 결정 단계 1030은 "예" 분기(1035)로 분기하고, 이어서 처리는 단계 1050에서 계속된다.
요청된 작업을 수행하는 데 필요한 모든 파일이 로드되지 않은 경우, 결정 단계 1030은 "아니오" 분기(1040)로 분기하고, 이어서 단계 1045에서 나머지 필요 파일이 분리형 운영 체제 모듈의 비휘발성 저장 장치로부터 로드된다. 단계 1050에서, 요청된 작업은 운영 체제에 의해 실행된다. 이어서, 처리는 단계 1010으로 되돌아가서 운영 체제는 계속하여 다른 작업 요청을 기다린다.
도 11은 모듈의 분리 이전에 분리형 운영 체제 모듈 상에 운영 체제 상태를 저장하는 프로세스를 나타내는 플로우차트이다. 처리는 단계 1100에서 시작하고, 이어서 분리형 운영 체제 모듈 분리 애플리케이션이 운영 체제에 의해 실행된다. 그 다음에, 결정 단계 1115에서, 여전히 실행되고 있는 애플리케이션 또는 프로세스가 있는지에 관한 결정이 행해진다. 실행되고 있는 애플리케이션 또는 프로세스가 더 이상 없는 경우, 결정 단계 1115는 "아니오" 분기(1125)로 분기하고, 처리는 단계 1150에서 계속된다.
여전히 실행되고 있는 애플리케이션 또는 프로세스가 있는 경우, 결정 단계 1115는 "예" 분기(1120)로 분기하고, 이어서 단계 1130에서 실행되고 있는 그 다음 애플리케이션 또는 프로세스가 선택된다. 단계 1135에서, 운영 체제는 프로세스 또는 애플리케이션의 실행을 종료하고, 단계 1140에서 애플리케이션 또는 프로세스의 상태 정보가 분리형 운영 체제 모듈 상에 있는 애플리케이션의 상태 정보 데이터 파일에 저장된다. 이 파일이 존재하지 않는 경우, 새로운 파일이 생성된다. 예를 들어, 애플리케이션이 워드(Word)인 경우, 최종의 편집 위치, 도구 막대 구성 등이 저장된다. 단계 1145에서, 애플리케이션에 의해 현재 액세스되고 있는 모든 파일의 이름이 분리형 운영 체제 모듈 상에 저장된다. 다음에 모듈이 컴퓨터 시스템에 삽입될 때, 해당 파일이 해당 애플리케이션을 사용하여 해당 편집 지점에서 열리게 된다.
단계 1150에서, 운영 체제의 현재 상태가 모듈 상에 저장된다. 이 정보는 다음에 모듈이 컴퓨터 시스템에 삽입될 때 운영 체제를 재시동하는 데 사용될 것이다. 운영 체제 상태에는 데스크톱 레이아웃, 바로가기 리스트(shortcuts list), 컬러 구성(color scheme) 및 다른 사용자 기본 설정(user preference) 등의 항목이 포함된다.
단계 1155에서, 최종의 운영 체제 실행 지점이 결정되고 분리형 운영 체제 모듈 상에 "재개" 지점(resume point)으로서 저장된다. "재개" 지점은 운영 체제가 분리형 운영 체제 모듈로부터 다시 로드되고 사용자가 운영 체제를 재시동하지 않고 최종의 실행 위치로부터 운영 체제를 재개하기로 선택할 때 사용될 수 있다.
단계 1160에서, 원격 장치 드라이버에 관한 정보가 모듈 상의 원격 장치 드라이버 구성 파일에 저장된다. 이 정보는 그 다음에 분리형 운영 체제 모듈이 컴퓨터 시스템에 삽입될 때 이용가능한 원격 장치에 재접속하기 위해 사용될 수 있다. 단계 1165에서, 임의의 다른 컴퓨터 시스템 비고유 데이터(non-computer system-specific data)(즉, 모듈에만 관련된 데이터)도 분리형 운영 체제 모듈 상에 저장된다.
도 12는 컴퓨터 시스템에 운영 체제/애플리케이션 모듈이 삽입되어 있는 경우와 삽입되어 있지 않은 경우의 컴퓨터 시스템의 상태를 나타낸 블록도이다. 컴 퓨터 시스템(1210)은 운영 체제의 실행에 앞서 기본적인 입/출력 기능을 수행하기 위한 BIOS(1228), 컴퓨터 시스템(1210)을 실행 및 제어하기 위한 명령어를 처리하는 CPU(1230), 설치된 애플리케이션, 사용자 설정 등을 저장하는 비휘발성 저장 장치(1234), 및 컴퓨터 시스템(1210)이 동작하는 동안 임시 저장을 위한 RAM(1212)을 포함한다.
게다가, 컴퓨터 시스템(1210)은 분리형 운영 체제/애플리케이션 모듈(1224)을 수납할 수 있는 분리형 운영 체제 모듈 인터페이스(1225)를 포함한다. 분리형 운영 체제 모듈(1224)은 하나 이상의 애플리케이션의 실행 이미지 뿐만 아니라 비휘발성 저장 장치에 있는 운영 체제 실행 이미지(1226)를 포함한다.
분리형 운영 체제 모듈(1224)을 분리형 운영 체제 모듈 인터페이스(1225)에 삽입할 때, BIOS(1228)는 운영 체제 및 애플리케이션 실행 이미지(1226)를 분리형 운영 체제/애플리케이션 모듈(1224)의 비휘발성 저장 장치로부터 RAM(412)[운영 체제 RAM(1214) 및 애플리케이션 RAM(1220)]으로 로드하고 운영 체제의 실행을 개시한다. 실행되고 있는 운영 체제는 이어서 로드된 애플리케이션의 실행을 재개한다.
이어서, 운영 체제는 비휘발성 저장 장치(1234)로부터 컴퓨터 시스템(1210)에 연결되어 있는 임의의 외부 장치에 필요한 임의의 장치 드라이버[장치 드라이버 RAM(1216)], 입/출력 구성[I/O 구성 RAM(1218)], 및 임의의 요청된 애플리케이션[애플리케이션 RAM(1220)]을 로드한다. 애플리케이션은 또한 모듈(1222) 상의 비휘발성 저장 장치(1226) 이외에 비휘발성 저장 장치(1230)에도 존재한다.
분리형 운영 체제/애플리케이션 모듈(1224)을 컴퓨터 시스템(1210)으로부터 분리할 때, 로드 프로세스는 반대로 된다. 운영 체제 및 모듈 애플리케이션의 현재의 상태는 분리형 운영 체제/애플리케이션 모듈(1224) 상에서 업데이트되고, 로컬 애플리케이션 정보, I/O 구성, 및 장치 드라이버는 비휘발성 저장 장치(1234) 상에서 업데이트된다. 분리 시에, 분리형 운영 체제/애플리케이션 모듈은 그 모듈의 운영 체제가 이제는 상대쪽 컴퓨터 시스템을 제어 및 작동시키고 그 모듈의 애플리케이션이 상대쪽 컴퓨터 시스템 상에서 실행될 수 있도록 다른 호환 컴퓨터 시스템에 삽입될 수 있다.
도 13은 분리형 운영 체제/애플리케이션 모듈을 컴퓨터 시스템에 삽입하고 그로부터 분리하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 1300에서 시작하고, 이어서 단계 1310에서 사용자는 분리형 운영 체제/애플리케이션 모듈을 모듈을 수납하도록 구성된 컴퓨터 시스템에 삽입한다. 분리형 운영 체제/애플리케이션 모듈은 하나 이상의 애플리케이션의 실행 이미지 뿐만 아니라 운영 체제의 실행 이미지도 가지고 있으며, 이들은 모듈 상의 비휘발성 저장 장치 상에 저장되어 있다. 분리형 운영 체제/애플리케이션 모듈 상의 애플리케이션은 그 모듈과 함께 다른 컴퓨터 시스템으로 가져갈 수 있으며, 애플리케이션마다 모듈마다 단지 하나의 라이센스만을 필요로 한다. 게다가, 모듈은 동일한 애플리케이션의 다수의 복사본을 서로 다른 컴퓨터 시스템 상에 유지하는 것과는 반대로 애플리케이션을 유지하는 중심점을 제공한다.
단계 1312에서, 컴퓨터 시스템의 BIOS는 삽입 시에 분리형 운영 체제/애플리 케이션 모듈을 검지하고 운영 체제의 실행 이미지를 모듈 상의 비휘발성 저장 장치로부터 컴퓨터 시스템의 RAM으로 로드하기 시작한다. 운영 체제가 로드를 완료한 후에, BIOS는 운영 체제의 실행을 개시하고 이어서 제어를 운영 체제에게 넘긴다. 도 6의 플로우차트는 단계 1312에서 행해지는 처리에 관한 추가의 상세 구성을 제공한다.
단계 1314에서, 운영 체제는 이 컴퓨터에 부착되어 있는 로컬 장치를 찾아낸다. 운영 체제는 분리형 운영 체제 모듈을 이 컴퓨터 시스템으로부터 분리하기에 앞서 그 장치들을 포함하는 리스트를 현재 발견된 장치들과 비교하고 그에 따라 장치의 리스트를 업데이트한다. 도 8의 플로우차트는 단계 1314에서 행해지는 처리에 관한 추가의 상세 구성을 제공한다.
단계 1316에서, 운영 체제는 사용자가 다른 컴퓨터 시스템을 사용하고 있을 때 컴퓨터 시스템에 의해서나 사용자에 의해 액세스가능했던 모든 원격 장치를 찾아낸다. 도 8의 플로우차트는 단계 1316에서 행해지는 처리에 관한 추가의 상세 구성을 제공한다.
단계 1318에서, 운영 체제는 분리형 운영 체제 모듈을 컴퓨터 시스템으로부터 최종적으로 분리하기에 앞서 동면하고 있거나 그렇지 않고 정지되어 있던 로컬 애플리케이션을 초기화한다. 로컬 애플리케이션이란 분리형 운영 체제/애플리케이션 모듈 상에 존재하는 모듈 애플리케이션과는 반대로 컴퓨터 시스템 상에 존재하는 애플리케이션을 말한다. 도 14의 플로우차트는 단계 1318에서 행해지는 처리에 관한 추가의 상세 구성을 제공한다.
단계 1320에서, 운영 체제는 분리형 운영 체제/애플리케이션 모듈 상에 존재하고 현재의 컴퓨터 시스템 상에서 실행할 수 있는 모듈 애플리케이션을 로드하여 재개한다. 도 15의 플로우차트는 단계 1320에서 행해지는 처리에 관한 추가의 상세 구성을 제공한다.
단계 1322에서, 운영 체제는 컴퓨터 시스템을 관리한다. 운영 체제는 사용자 또는 실행 중인 애플리케이션에 의해 요청되는 작업을 수행한다. 도 10의 플로우차트는 단계 1322에서 행해지는 처리에 관한 상세 구성을 제공한다.
결정 단계 1324에서, 사용자가 분리형 운영 체제 모듈의 분리를 요청하였는지에 관한 결정이 행해진다. 사용자가 아직 분리형 운영 체제 모듈의 분리를 요청하지 않은 경우, 결정 단계 1324는 "아니오" 분기(1328)로 분기하고 단계 1322로 되돌아가며, 이어서 운영 체제는 계속하여 요청된 작업을 수행한다.
사용자가 분리형 운영 체제 모듈의 분리를 요청한 경우, 결정 단계 1324는 "예" 분기(1326)로 분기하고, 처리는 단계 1330으로 진행하여 운영 체제의 상태가 분리형 운영 체제 모듈 상에 저장된다. 도 16의 플로우차트는 단계 1330에서 행해지는 처리에 관한 상세 구성을 제공한다.
단계 1332에서, 모듈 애플리케이션의 상태가 분리형 운영 체제/애플리케이션 모듈 상에 저장된다. 애플리케이션의 상태에 대한 변동으로는 애플리케이션의 도구 막대 또는 메뉴에 대한 변동, 선호되는 파일 위치에 대한 변동, 편집 중인 현재의 파일 및 편집 위치, 다른 사용자 고유 설정 및 기본 설정이 있다. 도 17의 플로우차트는 단계 1332에서 행해지는 처리에 관한 추가의 상세 구성을 제공한다.
단계 1334에서, 분리형 운영 체제 모듈의 분리를 위한 모든 준비가 수행된 후에, 사용자는 "모듈을 분리해도 괜찮다"는 통지를 받으며, 단계 1336에서 사용자는 분리형 운영 체제 모듈을 분리한다. 처리는 단계 1399에서 종료한다.
도 14는 컴퓨터 시스템 상에서 실행시키기 위해 로컬 애플리케이션를 초기화하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 1400에서 시작하고, 이어서 단계 1410에서 운영 체제는 애플리케이션 상태 데이터 파일을 분리형 운영 체제/애플리케이션 모듈로부터 로드한다. 애플리케이션 상태 데이터 파일은 사용자가 작업하고 있던 파일, 편집을 하고 있던 파일 내의 위치 등과 같은 정보를 포함한다.
이어서, 결정 단계 1412에서, 재개를 필요로 하는 로컬 애플리케이션이 더 존재하는지에 관한 결정이 행해진다. 재개를 필요로 하는 로컬 애플리케이션이 더 이상 없는 경우, 결정 단계 1412에서 "아니오" 분기(1416)로 분기하고, 이어서 단계 1499에서 처리가 종료한다. 재개를 필요로 하는 로컬 애플리케이션이 존재하는 경우, 결정 단계 1412는 "예" 분기(1414)로 분기하고, 이어서 단계 1418에서 제1의 이러한 로컬 애플리케이션이 선택된다.
그 다음에, 결정 단계 1418에서, 선택된 로컬 애플리케이션이 현재의 컴퓨터 시스템 상에서 이용가능한지에 관한 결정이 행해진다. 운영 체제 모듈의 사용자는 현재의 컴퓨터 시스템 상에서 이용할 수 없거나 설치되어 있지 않은 로컬 애플리케이션을 이전의 컴퓨터 시스템 상에서 실행하고 있을 수도 있다. 로컬 애플리케이션이 현재의 컴퓨터 시스템 상에서 이용할 수 없는 경우, 결정 단계 1418은 "아니오" 분기(1420)으로 분기하고, 이어서 로컬 애플리케이션의 상태 정보가 로컬 애플 리케이션 상태 데이터 파일 상에 보관된다. 이 정보를 보관하는 이유는 로컬 애플리케이션이 이용가능한 장래의 컴퓨터 시스템 상에서 대응하는 로컬 애플리케이션을 복원하는 일이 가능하도록 하기 위해서이다. 그 다음에, 처리는 결정 단계 1412로 되돌아간다.
로컬 애플리케이션이 현재의 컴퓨터 시스템 상에서 이용가능한 경우, 결정 단계 1418은 "예" 분기(1422)로 분기하고, 이어서 로컬 애플리케이션의 기동을 시작한다. 단계 1426에서, 로컬 애플리케이션을 기동하기 위해 적절한 양의 메모리가 운영 체제에 의해 예비되고, 단계 1428에서 로컬 애플리케이션을 기동하기 위해 해당 실행 파일이 실행된다. 단계 1430에서, 운영 체제는 로컬 애플리케이션 상태 데이터 파일로부터의 데이터를 사용하여 로컬 애플리케이션을 모듈의 사용자가 이전에 빠져나올 때의 상태로 복원한다. 예를 들어, 로컬 애플리케이션이 워드(Word)인 경우, 사용자가 최종적으로 편집하고 있었던 파일이 기동되고, 편집 위치는 최종의 편집 위치로 설정되며, 도구 막대 구성은 최종의 구성으로 설정되는 등이다. 그 다음에 처리는 결정 단계 1412로 되돌아간다.
도 15는 컴퓨터 시스템 상에서 실행시키기 위해 모듈 (모듈에 저장된) 애플리케이션을 초기화하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 1500에서 시작하고, 이어서 단계 1510에서 운영 체제는 분리형 운영 체제/애플리케이션 모듈로부터 애플리케이션 상태 데이터 파일을 로드한다. 애플리케이션 상태 데이터 파일은 사용자가 작업하고 있었던 파일, 편집을 하고 있었던 파일 내에서의 위치 등과 같은 정보를 포함한다. 게다가, 애플리케이션의 실행 이미지는 애플리케이션의 RAM 공간의 이미지를 저장함으로써 저장될 수 있다.
그 다음에, 결정 단계 1512에서 재개를 필요로 하는 모듈 애플리케이션이 더 존재하는지에 관한 결정이 행해진다. 재개를 필요로 하는 모듈 애플리케이션이 더 이상 존재하지 않는 경우, 결정 단계 1512는 "아니오" 분기(1516)로 분기하고, 이어서 처리는 단계 1599에서 종료한다. 재개를 필요로 하는 모듈 애플리케이션이 존재하는 경우, 결정 단계 1512는 "예" 분기(1514)로 분기하고, 이어서 결정 단계 1518에서 제1의 이러한 모듈 애플리케이션이 선택된다.
그 다음에 결정 단계 1518에서, 선택된 모듈 애플리케이션이 현재의 컴퓨터 시스템 상에서 실행될 수 있는지(그와 호환되는지)에 관한 결정이 행해진다. 모듈 애플리케이션이 현재의 컴퓨터 시스템 상에서 이용할 수 없는 경우, 결정 단계 1518은 "아니오" 분기(1520)로 분기하고, 이어서 모듈 애플리케이션의 상태 정보가 모듈 애플리케이션 상태 데이터 파일 상에 보관된다. 정보를 보관하는 이유는 모듈 애플리케이션과 호환되는 장래의 컴퓨터 시스템 상에서 대응하는 모듈 애플리케이션을 복원하는 일이 가능하도록 하기 위해서이다. 그 다음에, 처리는 결정 단계 1512로 되돌아간다.
모듈 애플리케이션이 현재의 컴퓨터 시스템과 호환되는 경우, 결정 단계 1518은 "예" 분기(1522)로 분기하고, 이어서 모듈 애플리케이션의 기동이 시작된다. 단계 1526에서, 모듈 애플리케이션을 기동시키기 위한 적절한 양의 메모리가 운영 체제에 의해 예비되고, 단계 1528에서 애플리케이션의 실행 이미지가 모듈로부터 로드된다. 애플리케이션의 최종의 실행 지점 등의 애플리케이션을 재개하는 데 필요한 다른 상태 정보도 모듈로부터 로드된다. 단계 1530에서, 운영 체제는 복원된 재개 지점에서 실행되기 시작한다. 그 다음에, 처리는 결정 단계 1512로 되돌아간다.
도 16은 모듈의 분리 이전에 분리형 운영 체제/애플리케이션 모듈 상에 모듈 애플리케이션을 저장하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 1600에서 시작하고, 이어서 분리형 운영 체제/애플리케이션 모듈 분리 애플리케이션이 운영 체제에 의해 실행된다. 그 다음에, 결정 단계 1615에서 여전히 실행되고 있는 어떤 로컬 애플리케이션 또는 프로세스가 있는지에 관한 결정이 행해진다. 실행되고 있는 채로 있는 로컬 애플리케이션 또는 프로세스가 더 이상 없는 경우, 결정 단계 1615는 "아니오" 분기(1625)로 분기되고, 처리는 단계 1650에서 계속된다.
여전히 실행되고 있는 로컬 애플리케이션 또는 프로세스가 있는 경우, 결정 단계 1615는 "예" 분기(1620)로 분기되고, 이어서 단계 1630에서 실행되고 있는 그 다음 로컬 애플리케이션 또는 프로세스가 선택된다. 단계 1635에서, 운영 체제는 프로세스 또는 로컬 애플리케이션의 실행을 종료하며, 단계 1640에서 로컬 애플리케이션 또는 프로세스의 상태 정보가 분리형 운영 체제/애플리케이션 모듈 상에 있는 로컬 애플리케이션의 상태 정보 데이터 파일에 저장된다. 예를 들어, 로컬 애플리케이션이 워드인 경우, 최종의 편집 위치, 도구 막대 구성 등이 저장된다. 그 파일이 존재하지 않는 경우, 새로운 파일이 생성된다. 단계 1645에서, 로컬 애플리케이션에 의해 현재 액세스되고 있는 모든 파일의 이름이 분리형 운영 체제/애플리케이션 모듈 상에 저장된다. 그 다음에 모듈이 컴퓨터 시스템에 삽입될 때, 해 당 파일이 해당 로컬 애플리케이션을 사용하여 해당 편집 지점에서 열리게 된다.
단계 1650에서, 운영 체제의 현재의 상태가 모듈 상에 저장된다. 이 정보는 그 다음에 모듈이 컴퓨터 시스템에 삽입될 때 운영 체제를 재시동하는 데 사용된다. 운영 체제 상태는 데스크톱 레이아웃, 바로가기 리스트, 컬러 구성, 및 다른 사용자 기본 설정 등의 항목을 포함한다.
단계 1655에서, 최종의 운영 체제 실행 지점이 결정되고 분리형 운영 체제/애플리케이션 모듈 상에 "재개" 지점으로서 저장된다. "재개" 지점은 운영 체제가 분리형 운영 체제/애플리케이션 모듈로부터 다시 로드되고 사용자가 운영 체제를 재시동하는 것과 반대로 최종의 실행 지점부터 운영 체제를 재개하기로 선택할 때 사용될 수 있다.
단계 1660에서, 원격 장치 드라이버에 관한 정보는 모듈 상의 원격 장치 드라이버 구성 파일에 저장된다. 이 정보는 그 다음에 분리형 운영 체제/애플리케이션 모듈이 컴퓨터 시스템에 삽입될 때 이용가능한 원격 장치에 재접속하기 위해 사용될 수 있다. 단계 1665에서, 임의의 다른 컴퓨터 시스템 비고유 데이터(즉, 모듈에만 관련된 데이터)도 분리형 운영 체제/애플리케이션 모듈 상에 저장된다.
도 17은 모듈의 분리 이전에 분리형 운영 체제/애플리케이션 모듈 상에 애플리케이션 상태를 저장하는 프로세스를 나타내는 플로우차트이다. 처리는 단계 1700에서 시작하고, 이어서 결정 단계 1710에서 분리형 운영 체제/애플리케이션 모듈 상에 저장할 필요가 있는 상태를 갖는 실행 중인 모듈 애플리케이션이 더 있는지에 관한 결정이 행해진다. 저장을 필요로 하는 모듈 애플리케이션이 더 이상 없 는 경우, 결정 단계 1710은 "아니오" 분기(1720)로 분기하고, 이어서 단계 1799에서 종료한다.
저장을 필요로 하는 모듈 애플리케이션이 더 있는 경우, 결정 단계 1710은 "예" 분기(1715)로 분기하고, 이어서 단계 1723에서 그 다음 모듈 애플리케이션이 선택된다. 단계 1725에서, 운영 체제는 모듈 애플리케이션의 실행을 종료하고, 단계 1730에서, 선택된 모듈 애플리케이션이 분리형 운영 체제/애플리케이션 모듈 상에 저장된다. 애플리케이션의 상태는 현재 편집 중에 있는 파일, 편집 위치, 도구 막대 및 메뉴 레이아웃, 및 다른 사용자의 기본 설정을 포함할 수 있다.
단계 1735에서, 애플리케이션의 최종의 실행 지점이 결정된다. 그 다음에 단계 1740에서 최종의 실행 지점이 "재개" 지점으로서 모듈 상에 저장된다. 실행 지점은 실행이 중지된 경우 나중에 애플리케이션의 실행을 재개하는 데 사용될 수 있다.
그 다음에 처리는 결정 단계 1710으로 되돌아가서 애플리케이션의 상태의 저장을 필요로 하는 애플리케이션이 더 존재하는지를 결정한다.
도 18은 컴퓨터 시스템에 CPU 모듈이 삽입되어 있는 경우와 삽입되어 있지 않은 경우의 컴퓨터 시스템의 상태를 나타낸 블록도이다. 컴퓨터 시스템(1810)은 운영 체제의 실행에 앞서 기본적인 입/출력 기능을 수행하기 위한 BIOS(1850), 설치된 애플리케이션 및 설치된 운영 체제, 사용자 설정 등을 저장하는 비휘발성 저장 장치(1855), 및 컴퓨터 시스템(1810)이 동작하는 동안 임시 저장을 위한 RAM(1815)을 포함한다.
게다가, 컴퓨터 시스템(1810)은 CPU 모듈(1840)을 수납하도록 구성된 모듈 인터페이스(1860)를 포함한다. CPU 모듈(1840)은 컴퓨터 시스템(1810)에 CPU 모듈(1840)을 연결한 후에 운영 체제 명령어를 실행하기 시작할 수 있는 CPU(1845)를 포함한다.
분리형 CPU 모듈(1840)을 모듈 인터페이스(1860)에 삽입할 때, BIOS(1850)는 운영 체제를 비휘발성 저장 장치(1855)로부터 RAM(1815)[운영 체제 RAM(1820)]으로 로드하기 시작한다. 운영 체제를 로드한 후에 BIOS(1850)는 CPU 모듈(1840)의 CPU(1845)를 사용하여 운영 체제의 실행을 개시한다.
이어서, 운영 체제는 비휘발성 저장 장치(1855)로부터 컴퓨터 시스템(1810)에 연결되어 있는 임의의 외부 장치에 필요한 임의의 장치 드라이버[장치 드라이버 RAM(1825)], 입/출력 구성[I/O 구성 RAM(1830)], 및 임의의 요청된 애플리케이션[애플리케이션 RAM(1835)]을 로드한다.
분리형 운영 체제 모듈(1840)을 컴퓨터 시스템(1810)으로부터 분리할 때, 로드 프로세스는 반대로 된다. 운영 체제의 상태는 비휘발성 저장 장치(1855) 상에 저장되고, 애플리케이션 정보, I/O 구성, 및 장치 드라이버는 비휘발성 저장 장치(1855) 상에서 업데이트된다. 분리 시에, 분리형 CPU 모듈은 그 모듈의 CPU가 다른 컴퓨터 시스템을 작동시킬 수 있도록 다른 호환 컴퓨터 시스템에 삽입될 수 있다.
도 19는 컴퓨터 시스템에 분리형 CPU 모듈을 삽입하고 그로부터 분리하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 1900에서 시작하고, 이어서 단계 1910에서 사용자는 분리형 CPU 모듈을 수납하도록 구성되어 있는 컴퓨터 시스템에 분리형 CPU 모듈을 삽입한다.
단계 1915에서, BIOS는 분리형 CPU 모듈을 검지하고 CPU와 컴퓨터 시스템 사이의 호환성을 결정한다. 도 20의 플로우차트는 단계 1915에서 행해지는 처리에 관한 추가의 상세 구성을 제공한다.
그 다음에, 단계 1920에서 CPU가 컴퓨터 시스템과 호환되는 것으로 결정되었는지에 관한 결정이 행해진다. CPU가 컴퓨터 시스템과 호환되지 않는 경우, 결정 단계 1920은 "아니오" 분기(1930)로 분기하고 이어서 단계 1945에서 사용자는 호환되지 않음을 통지 받으며, 단계 1999에서 처리가 종료한다.
CPU가 컴퓨터 시스템과 호환되는 경우, 결정 단계 1920은 "예" 분기(1925)로 분기하고, 이어서 단계 1935에서 운영 체제는 로드되고 분리형 CPU 모듈 상의 CPU를 사용하여 실행되기 시작한다. 도 21의 플로우차트는 단계 1935에서 행해지는 처리에 관한 추가의 상세 구성을 제공한다.
단계 1950에서, 운영 체제는 컴퓨터 시스템을 관리한다. 운영 체제는 사용자 또는 실행 중인 애플리케이션에 의해 요청된 작업을 수행한다. 도 10의 플로우차트는 단계 1950에서 행해지는 처리에 관한 상세 구성을 제공한다.
결정 단계 1955에서 사용자가 분리형 운영 체제 모듈의 분리를 요청하였는지에 관한 결정이 행해진다. 사용자가 분리형 운영 체제 모듈의 분리를 아직 요청하지 않은 경우, 결정 단계 1955는 "아니오" 분기(1965)로 분기하고 단계 1950으로 되돌아가서 운영 체제는 계속하여 요청된 작업을 수행한다.
사용자가 분리형 운영 체제 모듈의 분리를 요청한 경우, 결정 단계 1955는 "예" 분기(1960)로 분기하고, 처리는 단계 1970으로 진행하여 운영 체제의 상태가 분리형 운영 체제 모듈 상에 저장된다. 도 11의 플로우차트는 단계 1970에서 행해지는 처리에 관한 세부 구성을 제공한다.
단계 1975에서, 분리형 운영 체제 모듈의 분리를 위한 모든 준비가 수행된 경우, 사용자는 "모듈을 분리해도 괜찮다"는 통지를 받으며, 단계 1980에서 사용자는 분리형 운영 체제 모듈을 분리한다. 처리는 단계 1999에서 종료한다.
도 20은 BIOS가 분리형 CPU 모듈을 검지하고 모듈 상의 CPU와 컴퓨터 시스템 간의 호환성을 결정하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 2000에서 시작하고, 이어서 단계 2010에서 BIOS는 삽입된 CPU 모듈을 검지한다. CPU 모듈은 예를 들어 플러그-앤-플레이 타입 프로토콜을 사용하여 검지될 수 있다.
그 다음에 분리형 CPU 모듈이 이전에 이 컴퓨터 시스템에 삽입된 적이 있는지에 관한 결정이 행해진다. 분리형 CPU 모듈이 이전에 이 컴퓨터 시스템에 삽입된 적이 없는 경우, 결정 단계 2015는 "아니오" 분기(2020)로 분기하고, 이어서 처리는 단계 2035에서 계속된다. 분리형 CPU 모듈이 이전에 이 컴퓨터 시스템에 삽입된 적이 있는 경우, 결정 단계 2015는 "예" 분기(2025)로 분기하고, 이어서 결정 단계 2026에서 CPU 정보를 포함하는 파일이 컴퓨터 시스템의 비휘발성 저장 장치 상에 존재하는지에 관한 결정이 행해진다. CPU 정보를 포함하는 파일이 컴퓨터 시스템 상에 존재하는 경우, 결정 단계 2026은 "예" 분기(2028)로 분기하고, 이어서 단계 2030에서 CPU 정보를 포함하는 파일이 로드되고 CPU 정보로는 CPU의 액세스 주소, CPU의 어드레싱 모드(addressing mode), 및 CPU의 데이터 전송 모드 등이 있다.
CPU 정보를 포함하는 파일이 컴퓨터 시스템 상에 존재하지 않는 경우, 결정 단계 2026은 "아니오" 분기(2029)로 분기하고, 이어서 단계 2035에서 CPU의 액세스 주소, CPU의 어드레싱 모드, 및 CPU의 데이터 전송 모드 등을 제공하도록 CPU에 질의한다. 단계 2040에서, CPU의 액세스 주소, CPU의 어드레싱 모드, 및 CPU의 데이터 전송 모드 등과 같은 제공된 데이터는 분리형 CPU 모듈의 컴퓨터 시스템으로의 장래의 삽입 동안에 사용하기 위해 컴퓨터 시스템의 비휘발성 저장 장치 상에 있는 파일에 저장된다. 이어서, 처리는 단계 2099에서 종료한다.
도 21은 BIOS가 운영 체제를 로드하고 분리형 CPU 모듈 상의 CPU를 사용하여 운영 체제를 실행하기 시작하는 프로세스를 나타낸 플로우차트이다. 그 다음에 동면 상태의 운영 체제의 이미지가 로컬 비휘발성 저장 장치에서 이용가능한지에 관한 결정이 행해진다. 이미지가 이용가능한 경우, 결정 단계 2110은 "예" 분기(2120)로 분기하고 이어서 단계 2125에서 BIOS는 컴퓨터 시스템 상의 비휘발성 저장 장치로부터 운영 체제를 로드한다. 운영 체제의 이미지가 이용할 수 없는 경우, 결정 단계 2110은 "아니오" 분기(2115)로 분기하고 이어서 처리는 단계 2165에서 계속된다. 단계 2130에서, 사용자에게 로드된 운영 체제를 재개할지 재시동할지를 촉구하고, 단계 2135에서 사용자의 입력이 수신된다.
그 다음에, 결정 단계 2140에서 사용자가 운영 체제를 재시동하기로 선택하였는지에 관한 결정이 행해진다. 사용자가 운영 체제를 재시동하기로 선택한 경 우, 결정 단계 2140은 "예" 분기(2145)로 분기하고, 이어서 처리는 다시 단계 2165에서 계속된다. 사용자가 운영 체제를 재시동하기로 선택하지 않고 그 대신에 운를 그의 최종의 실행 지점부터 재개하기로 선택한 경우, 결정 단계 2140은 "아니오" 분기(2150)로 분기하고, 이어서 단계 2155에서 운영 체제의 재개 진입점이 컴퓨터 시스템 상의 비휘발성 저장 장치로부터 획득된다. 단계 2160에서, 운영 체제는 재개 진입점부터 실행하기 시작한다.
단계 2165에서, 재시동 진입점이 컴퓨터 시스템 상의 비휘발성 저장 장치로부터 획득된다. 단계 2170에서, 운영 체제는 재시동 진입점부터 실행하기 시작한다.
단계 2175에서, 운영 체제는 CPU 주소, CPU 어드레싱 모드, 및 데이터 전송 방법 등과 같은 CPU의 이전에 결정된 속성을 통지 받는다. 이어서, 처리는 단계 2199에서 종료한다.
도 22는 컴퓨터 시스템에 (제2 CPU를 갖는) CPU 모듈이 삽입되어 있는 경우와 삽입되어 있지 않은 경우의 컴퓨터 시스템의 상태를 나타낸 블록도이다. 컴퓨터 시스템(2210)은 운영 체제의 실행에 앞서 기본적인 입/출력 기능을 수행하기 위한 BIOS(2245), 컴퓨터 시스템을 작동시키기 위한 명령어를 실행하는 CPU(2250), 설치된 애플리케이션, 설치된 운영 체제, 사용자 설정 등을 저장하는 비휘발성 저장 장치(2255), 및 컴퓨터 시스템(2210)이 동작하는 동안 임시 저장을 위한 RAM(2215)을 포함한다. RAM(2215)은 운영 시스템 RAM(2200), 장치 드라이버 RAM(2225), I/O 구성 RAM(2230), 및 애플리케이션 RAM(2235)를 포함한다.
게다가, 컴퓨터 시스템(2210)은 CPU 모듈(2260)을 수납하도록 구성된 모듈 인터페이스(2240)를 포함한다. CPU 모듈(2260)은 CPU 모듈(2260)을 컴퓨터 시스템(2210)에 연결한 후에 온-보드(on-board) CPU(2250)와 병행하여 운영 체제 명령어를 실행하기 시작할 수 있는 CPU(2265)를 포함한다.
분리형 CPU 모듈(2260)을 모듈 인터페이스(2240)에 삽입할 때, BIOS(2245)는 모듈을 검지하고 운영 체제에 부가의 CPU의 존재를 통지한다. 처음에, 운영 체제는 실행을 위한 명령어를 온-보드 CPU(2250)로만 보낸다. CPU 모듈(2260)의 삽입 후에, 운영 체제는 한쪽 CPU는 슬레이브 CPU로서 지명하고 다른쪽 CPU는 마스터 CPU로서 지명한다. 운영 체제는 이어서 명령어를 실행을 위해 양쪽 CPU로 전송하기 시작한다. 동 도면에 도시한 바와 같이, CPU(2250)는 마스터 CPU로 지명되었고 모듈 상의 CPU(2265)는 슬레이브 CPU로서 지명되었다.
도 23은 내장 CPU를 갖는 컴퓨터 시스템에 분리형 CPU 모듈을 삽입하고 그로부터 분리하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 2300에서 시작하고, 이어서 단계 2310에서 사용자는 분리형 CPU 모듈을 기존의 CPU를 갖는 컴퓨터 시스템에 삽입한다.
단계 2315에서, BIOS는 분리형 CPU 모듈을 검지하고 CPU와 컴퓨터 시스템 간의 호환성을 결정한다. 도 20의 플로우차트는 단계 2315에서 행해지는 처리에 관한 추가의 세부 구성을 제공한다.
CPU가 컴퓨터 시스템과 호환되는 것으로 판정되었는지에 관한 결정이 행해진다. 이 CPU가 컴퓨터 시스템과 호환되지 않는 것으로 결정된 경우, 결정 단계 2320은 "아니오" 분기(2330)으로 분기하고, 이어서 단계 2345에서 이 CPU가 컴퓨터 시스템과 호환되지 않음을 사용자에게 통지한다. 처리는 단계 2399에서 종료한다.
CPU가 컴퓨터 시스템과 호환되지 않는 것으로 결정된 경우, 결정 단계 2320은 "예" 분기(2325)로 분기하고, 이어서 단계 2335에서 BIOS는 제2 CPU가 존재함과 그 CPU의 속성을 운영 체제에 통지한다.
단계 2340에서 운영 체제는 CPU에 액세스하고 운영 체제 부하의 일부를 제2 CPU에 분산한다. 도 24의 플로우차트는 단계 2340에서 행해지는 처리에 관한 추가의 세부 구성을 제공한다. 이어서, 처리는 단계 2399에서 종료한다.
도 24는 운영 체제가 제2 CPU에 액세스하여 부하의 일부를 제2 CPU에 분산시키는 프로세스를 나타낸 플로우차트이다. 처리는 단계 2400에서 시작하고, 이어서 단계 2410에서 운영 체제는 CPU의 액세스 주소, CPU의 어드레싱 모드, CPU의 데이터 전송 방법 등과 같은 CPU의 속성을 BIOS로부터 수신한다. 이어서 결정 단계 2415에서 현재의 CPU 구성에 대응하는 다중 CPU의 구성 파일이 컴퓨터 시스템 상에 존재하는지에 관한 결정이 행해진다. 현재의 CPU 구성에 대응하는 다중 CPU 구성 파일이 존재하지 않는 경우, 결정 단계는 "아니오" 분기(2420)로 분기하고, 이어서 처리는 단계 2450에서 계속된다. 현재의 CPU 구성에 대응하는 다중 CPU 구성 파일이 존재하는 경우, 결정 단계 2415는 "예" 분기(2425)로 분기하고, 이어서 단계 2430에서 운영 체제는 다중 CPU의 구성 파일에 따라 CPU의 명령어의 일부는 로컬 CPU로, CPU의 명령어의 일부는 모듈 CPU로 분산한다.
이어서, 결정 단계 2435에서 모듈 CPU가 여전히 존재하는지에 관한 결정이 행해진다. 모듈 CPU가 더 이상 존재하지 않는 경우, 결정 단계 2435는 "아니오" 분기(2440)로 분기하고, 이어서 처리는 단계 2499에서 종료한다. 모듈 CPU가 여전히 존재하는 경우, 결정 단계 2435는 "예" 분기(2445)로 분기하고, 이어서 처리는 단계 2430으로 되돌아간다.
단계 2450에서 운영 체제는 어느 CPU를 마스터 CPU로서 지명하고 어느 CPU를 슬레이브 CPU로서 지명할지를 결정한다. 일 실시예에서, 마스터/슬레이브 지명은 CPU 기능에 따라 행해진다. 예를 들어, 가장 강력한 CPU가 마스터 CPU로서 지명될 수 있다.
단계 2455에서 운영 체제는 마스터 CPU와 슬레이브 CPU 간의 CPU 명령어 분산을 결정한다. 다시 말하면, 분산 결정은 CPU의 기능에 기초할 수 있다. 예를 들어, 2개의 CPU가 존재하고 이 2개의 CPU가 계산 능력에 있어서 거의 동일한 경우, 운영 체제 부하는 이 2개의 CPU 사이에 동일하게 분산될 수 있다.
서로 다른 CPU 간에 결정된 부하 분산은 컴퓨터 시스템 상의 다중 CPU 구성 파일에 저장된다. 이 정보는 나중에 이 CPU 구성이 장래에 다시 존재할 때 운영 체제에 의해 검색될 수 있다. 이어서, 처리는 단계 2430으로 계속되어 CPU 명령어는 결정된 분산에 따라 다중 CPU로 분산된다.
도 25는 컴퓨터 시스템에 운영 체제/CPU 모듈이 삽입되어 있는 경우와 삽입되어 있지 않은 경우의 컴퓨터 시스템의 상태를 나타낸 블록도이다. 컴퓨터 시스템(2510)은 운영 체제의 실행에 앞서 기본적인 입/출력 기능을 수행하기 위한 BIOS(2555), 설치된 애플리케이션, 사용자 설정 등을 저장하는 비휘발성 저장 장치 (2560), 및 컴퓨터 시스템(2510)이 동작하는 동안 임시 저장을 위한 RAM(2515)을 포함한다.
게다가, 컴퓨터 시스템(2510)은 분리형 운영 체제/CPU 모듈(2540)을 수납할 수 있는 분리형 운영 체제/CPU 모듈 인터페이스(2565)를 포함한다. 분리형 운영 체제/CPU 모듈(2540)은 컴퓨터 시스템(2510)을 동작시키기 위해 운영 체제 명령어를 실행하는 CPU(2545) 뿐만 아니라 비휘발성 저장 장치에 있는 운영 체제 실행 이미지(2550)를 포함한다.
분리형 운영 체제/CPU 모듈(2540)을 분리형 운영 체제/CPU 모듈 인터페이스(2565)에 삽입할 때, BIOS(2555)는 운영 체제 실행 이미지(2550)를 분리형 운영 체제/CPU 모듈(2540)의 비휘발성 저장 장치로부터 RAM(2515)[운영 체제 RAM(2520)]으로 로드하고 모듈 CPU(2545)를 사용하여 운영 체제의 실행을 개시한다.
이어서, 운영 체제는 비휘발성 저장 장치(2560)로부터 컴퓨터 시스템(2510)에 연결되어 있는 임의의 외부 장치에 필요한 임의의 장치 드라이버[장치 드라이버 RAM(2525)], 입/출력 구성[I/O 구성 RAM(2530)], 및 임의의 요청된 애플리케이션[애플리케이션 RAM(2535)]을 로드한다.
분리형 운영 체제/CPU 모듈(2540)을 컴퓨터 시스템(2510)으로부터 분리할 때, 로드 프로세스는 반대로 된다. 운영 체제의 현재의 상태는 분리형 운영 체제/CPU 모듈(2540) 상에서 업데이트되고, 애플리케이션 정보, I/O 구성, 및 장치 드라이버는 비휘발성 저장 장치(2560) 상에서 업데이트된다. 분리 시에, 분리형 운영 체제/CPU 모듈은 그 모듈의 운영 체제가 CPU와 함께 이제는 다른 컴퓨터 시스템 을 제어 및 작동시킬 수 있도록 또하나의 호환 컴퓨터 시스템에 삽입될 수 있다.
도 26은 분리형 운영 체제/CPU 모듈을 컴퓨터 시스템에 삽입하고 그로부터 분리하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 2600에서 시작하고, 이어서 단계 2610에서 사용자는 분리형 운영 체제/CPU 모듈을, 이 모듈을 수납하도록 구성된 컴퓨터 시스템에 삽입한다. 분리형 운영 체제/CPU 모듈은 모듈 상의 비휘발성 저장 장치 상에 저장되어 있는 운영 체제의 실행 이미지는 물론 운영 체제 명령어를 실행하기 위한 CPU도 포함한다.
단계 2612에서 컴퓨터 시스템의 BOIS는 삽입 시에 분리형 운영 체제/CPU 모듈을 검지하고 CPU의 속성을 결정한다. 도 27의 플로우차트는 단계 2612에서 행해지는 처리에 관한 추가의 세부 구성을 제공한다.
이어서, 결정 단계 2614에서 모듈이 현재의 컴퓨터 시스템과 호환되는지에 관한 결정이 행해진다. 모듈이 컴퓨터 시스템과 호환되지 않는 것으로 결정된 경우, 결정 단계 2614는 "아니오" 분기(2616)로 분기하고, 이어서 처리는 단계 2628에서 계속된다. 단계 2628에서, 사용자는 그 모듈이 현재의 컴퓨터 시스템과 호환되지 않음을 통지 받는다.
모듈이 호환되는 것으로 결정된 경우, 결정 단계 2614는 "예" 분기(2618)로 분기하고, 이어서 단계 2620에서 BIOS는 운영 체제를 모듈로부터 로드하고 모듈 상의 CPU의 존재함 및 그 속성을 운영 체제에 통지한다. 도 6은 단계 2620에서 행해지는 처리에 관한 추가의 세부 구성을 제공한다.
단계 2622에서 운영 체제는 컴퓨터 시스템에 부착된 로컬 장치를 찾아낸다. 운영 체제는 분리형 운영 체제/CPU 모듈을 이 컴퓨터 시스템으로부터 분리하기에 앞서 그 장치를 포함하는 리스트를 현재 발견된 장치와 비교하고, 그에 따라 장치 리스트를 업데이트한다. 도 7의 플로우차트는 단계 2622에서 행해지는 처리에 관한 추가의 상세 구성을 제공한다.
단계 2624에서, 운영 체제는 사용자가 다른 컴퓨터 시스템을 사용하고 있을 때 사용자에 의해 또는 컴퓨터 시스템에 의해 액세스가능하였던 원격 장치를 찾아낸다. 도 8의 플로우차트는 단계 2624에서 행해지는 처리에 관한 추가의 상세 구성을 제공한다.
단계 2626에서, 운영 체제는 분리형 운영 체제/CPU 모듈을 컴퓨터 시스템으로부터 최종적으로 분리하기에 앞서 동면하고 있거나 달리 정지되어 있던 애플리케이션을 초기화한다. 도 9의 플로우차트는 단계 2626에서 행해지는 처리에 관한 추가의 상세 구성을 제공한다.
단계 2630에서, 운영 체제는 컴퓨터 시스템을 관리한다. 운영 체제는 사용자에 의해 또는 실행 중인 애플리케이션에 의해 요청된 작업을 수행한다. 도 10의 플로우차트는 단계 2630에서 행해지는 처리에 관한 추가의 상세 구성을 제공한다.
결정 단계 2632에서 사용자가 분리형 운영 체제/CPU 모듈의 분리를 요청하였는지에 관한 결정이 행해진다. 사용자가 분리형 운영 체제/CPU 모듈의 분리를 아직 요청하지 않은 경우, 결정 단계 2632는 "아니오" 분기(2634)로 분기하여 단계 2630으로 되돌아가 운영 체제는 계속하여 요청된 작업을 수행한다.
사용자가 분리형 운영 체제/CPU 모듈의 분리를 요청한 경우, 결정 단계 2638 에서 "예" 분기(2636)로 분기하고 처리는 단계 2638에서 계속되며, 이어서 운영 체제의 상태가 분리형 운영 체제 모듈 상에 저장된다. 도 11의 플로우차트는 단계 2638에서 행해지는 처리에 관한 추가의 상세 구성을 제공한다.
단계 2640에서 분리형 운영 체제/CPU 모듈의 분리를 위한 모든 준비가 수행된 후에, 사용자는 "모듈을 분리해도 괜찮다"고 통지받으며, 단계 2642에서 사용자는 분리형 운영 체제 모듈을 분리한다. 처리는 단계 2699에서 종료한다.
도 27은 BIOS가 분리형 운영 체제/CPU 모듈을 검지하고 모듈 상의 운영 체제 및 CPU와 컴퓨터 시스템 간의 호환성을 결정하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 2700에서 시작하고, 이어서 단계 2710에서 BIOS는 삽입된 운영 체제/CPU 모듈을 검지한다.
이어서, 분리형 운영 체제/CPU 모듈이 이전에 이 컴퓨터 시스템에 삽입된 적이 있는지에 관한 결정이 행해진다. 분리형 운영 체제/CPU 모듈이 이전에 이 컴퓨터에 삽입된 적이 없는 경우, 결정 단계 2715는 "아니오" 분기(2720)로 분기하고, 이어서 처리는 단계 2730에서 계속된다. 분리형 운영 체제/CPU 모듈이 이전에 이 컴퓨터에 삽입된 적이 있는 경우, 결정 단계 2715는 "예" 분기(2725)로 분기하고, 이어서 결정 단계 2726에서 운영 체제/CPU 정보를 갖는 파일이 컴퓨터 시스템 상의 비휘발성 저장 장치에 존재하는지에 관한 결정이 행해진다. CPU 정보를 갖는 파일이 컴퓨터 시스템 상에 존재하는 경우, 결정 단계 2726은 "예" 분기(2728)로 분기하고, 이어서 단계 2730에서 CPU의 액세스 주소, CPU의 어드레싱 모드, CPU의 데이터 전송 방법 등과 같은 CPU 정보를 포함하는 파일이 로드된다.
CPU 정보를 갖는 파일이 컴퓨터 시스템 상에 존재하지 않는 경우, 결정 단계 2726은 "아니오" 분기(2729)로 분기하고, 이어서 단계 2740에서 CPU는 CPU의 액세스 주소, CPU의 어드레싱 모드, CPU의 데이터 전송 모드를 결정하기 위해 질의를 받는다. 단계 2745에서, 운영 체제와 컴퓨터 시스템과의 호환성이 결정된다. 처리는 이어서 단계 2799에서 종료된다.
도 28은 장치를 컴퓨터 시스템에 부착하는 것과 그 장치 상의 비휘발성 저장 장치로부터 컴퓨터 시스템으로 장치 드라이버를 전송하는 것을 나타낸 블록도이다.
컴퓨터 시스템(2810)은 컴퓨터 시스템(2810)을 제어하는 CPU(2815), CPU(2825)에 연결되어 있고 데이터를 저장하는 메모리 유닛(2820), 및 컴퓨터 시스템을 기타 외부 장치에 연결시키는 통신 인터페이스(2825)를 포함한다.
장치(2830)는 장치(2830)를 제어하는 프로세서(2845), 프로세서(2845)에 연결되어 있고 장치(2830)를 기타 장치에 연결시키는 통신 인터페이스(2840), 및 프로세서(2845)에 연결되어 있고 데이터를 저장하는 비휘발성 저장 장치(2835)를 포함한다.
장치(2830)는 장치(2830) 상의 통신 인터페이스(2840) 및 컴퓨터 시스템(2810) 상의 통신 인터페이스(2825)를 통해 컴퓨터 시스템(2810)에 연결되도록 구성된 프린터 등의 외부 장치이다. 통신을 용이하게 하기 위해, 장치 드라이버가 먼저 컴퓨터 시스템 상에 설치되어야만 한다. 일반적으로, 장치 드라이버는 플로피 디스크, CD-ROM, 컴퓨터 시스템이 연결되어 있는 네트워크 등을 통해 컴퓨터 시스템에 제공된다. 장치 드라이버가 이용가능하지 않은 경우, 장치 드라이버는 기 능하지 않는다. 장치(2830)는 장치 드라이버(2850)를 비휘발성 저장 장치(2835)에 저장할 수 있으며, 장치(2830)를 컴퓨터 시스템(2810)에 연결할 때, 장치 드라이버(2850)가 컴퓨터 시스템(2810)에 제공될 수 있다. 업데이트된 장치 드라이버가 컴퓨터 시스템(2810) 상에서 이용가능한 경우, 장치 드라이버(2830)를 교체하기 위해 업데이트된 장치 드라이버가 컴퓨터 시스템(2810)으로부터 장치(2830)로 전송될 수 있다.
도 29는 장치를 컴퓨터 시스템에 부착하고 그 장치 상의 비휘발성 저장 장치로부터 컴퓨터 시스템으로 장치 드라이버를 전송하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 2900에서 시작하고, 이어서 단계 2910에서 새로운 장치가 컴퓨터 시스템에 부착된다. 장치는 컴퓨터 시스템 상에 설치되어 있어야만 하는 장치 드라이버를 사용하여 컴퓨터 시스템과 통신하도록 구성되어 있다. 단계 2915에서, 컴퓨터 시스템은 새로운 장치를 검지한다. 일 실시예에서, 장치와 컴퓨터 시스템 사이에 플러그-앤-플레이 유형 통신이 설정된다.
이어서, 장치가 그 장치 상의 펌웨어로부터 장치 드라이버를 공급할 수 있는지에 관한 결정이 행해진다. 장치가 적절한 장치 드라이버를 공급할 수 있는 경우, 결정 단계 2920은 "예" 분기(2930)로 분기하고, 이어서 단계 2935에서 컴퓨터 시스템은 장치에 새로운 장치의 장치 드라이버에 대한 요청을 전송하고 그 장치로부터 장치 드라이버를 수신한다. 장치 드라이버는 표준화된 장치 드라이버 통신 프로토콜을 사용하여 장치로부터 수신될 수 있다. 이어서, 처리는 단계 2945에서 시작된다.
장치가 장치 드라이버를 제공할 수 없는 경우, 결정 단계 2920은 "아니오" 분기(2925)로 분기하고, 이어서 단계 2940에서 컴퓨터 시스템은 부착된 장치의 호환 장치 드라이버를 획득하기 위해 로컬 저장 장치 및/또는 컴퓨터 시스템이 연결되어 있는 네트워크를 검색한다.
단계 2945에서, 새로운 장치는 운영 체제에 의해 등록된다. 운영 체제가 장치의 존재 및 그 장치의 적절한 장치 드라이버에 대한 기록을 갖도록, 장치에 관한 정보는 예를 들면 시스템 레지스트리에 추가된다. 단계 2950에서, 장치 및 장치 드라이버에 관한 정보는 로컬 장치 드라이버 구성 파일에 추가된다. 장치 드라이버 구성 파일은 컴퓨터 시스템의 최종의 종료/동면에 앞서 또는 운영 체제 모듈의 분리 시에 컴퓨터 시스템에 연결되어 있는 장치들의 리스트를 획득하기 위해 컴퓨터 시스템을 재시동하거나 재개할 때 사용될 수 있다. 단계 2955에서, 컴퓨터 시스템은 설치된 장치 드라이버를 사용하여 새로운 장치와 통신을 설정한다.
도 30은 컴퓨터 시스템이 서버 상에 저장된 장치의 장치 드라이버에 관한 정보를 획득하기 위해 XML 등의 이식성 언어(portable language)로 원격 장치 드라이버 레지스트리 서버와 통신하는 것을 나타낸 블록도이다.
컴퓨터 시스템(3010)은 컴퓨터 네트워크에 연결되어 있으며, 이 컴퓨터 네트워크에는 원격 장치 드라이버 레지스트리 서버(3015), 포토 프린터(3020) 및 고해상도 스캐너(3025)도 연결되어 있다. 컴퓨터 시스템(3010), 포토 프린터(3020), 및 고해상도 스캐너(3025) 사이의 연결을 설정하기 위해, 컴퓨터 시스템(3010)은 먼저 원격 장치 드라이버 레지스트리 서버(3015)와 통신을 설정한다. 컴퓨터 시스 템(3010)은 보편적으로 다 알고 있는 언어인 XML 등의 이식성 언어를 사용하여 원격 장치 드라이버 레지스트리 서버(3015)와 통신을 설정한다. 원격 장치 드라이버 레지스트리 서버(3015)는 컴퓨터 시스템(3010), 포토 프린터(3020)와 고해상도 스캐너(3025) 사이의 통신을 용이하게 해주는 장치 드라이버 및 기타 정보를 저장한다.
일 실시예에서, 원격 장치 드라이버 레지스트리 서버(3015)는 테이블(3055)과 테이블(3050)을 포함한다. 테이블(3050)은 이용가능한 장치에 관한 정보를 포함한다. 예를 들어, 각각의 장치에 대해, 테이블(3055)은 드라이버를 다운로드할 수 있는 네트워크 위치, 장치의 인터페이스 정의, 장치의 사용과 관련된 요금, 및 연락 네트워크 주소를 포함할 수 있다. 테이블(3050)은 예를 들어 각각의 사용자에 대해 사용자의 사용자 이름, 사용자의 패스워드, 사용자가 제1 장치에 액세스하고 있는지 여부, 사용자가 제2 장치에 액세스하고 있는지 여부, 등을 포함할 수 있다.
원격 장치 드라이버 레지스트리 서버(3015)와 통신을 설정한 후에, 컴퓨터 시스템은 해당 장치에 관한 정보를 수신한다. 컴퓨터 시스템은 이어서 포토 프린터(3020) 또는 고해상도 스캐너(3025) 등의 장치와 통신을 설정한다.
도 31은 컴퓨터 시스템이 서버 상에 저장된 장치의 장치 드라이버에 관한 정보를 획득하기 위해 XML 등의 이식성 언어로 원격 장치 드라이버 레지스트리 서버와 통신하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 3100에서 시작하고, 이어서 단계 3110에서 사용자는 고품질 인쇄를 위한 포토 프린터 등의 원격 서비스 또는 장치로의 연결을 요청한다.
단계 3115에서, 서비스 또는 장치에 대한 요청이 XML 등의 이식성 언어를 사용하여 원격 장치 드라이버 레지스트리 서버로 전송된다. 원격 장치 드라이버 레지스트리 서버는 서비스 또는 장치를 요청하는 사용자에게 장치 드라이버 및 장치에 관한 정보 뿐만 아니라 인증도 제공할 수 있다. 원격 장치 드라이버 레지스트리 서버는 드라이버의 위치, 서비스 또는 장치와 통신하기 위한 인터페이스 정의, 장치를 사용하기 위한 적정 요금, 문제가 있을 경우 연락 주소 등과 같은 정보를 제공할 수 있다.
단계 3120에서, 원격 장치 드라이버 레지스트리 서버는 임의의 서비스 또는 장치가 사용자에 의해 액세스가능한 경우 어떻게 되는지를 원격 장치 드라이버 레지스트리 서버가 결정하기 위해 사용자에게 사용자 이름과 패스워드를 제공하도록 요청한다. 이어서 결정 단계 3125에서 사용자가 요청된 서비스 또는 장치에 액세스하도록 허가받았는지에 관한 결정이 행해진다. 원격 장치 드라이버 레지스트리 서버는 입력된 사용자 이름과 패스워드를 원격 장치 드라이버 레지스트리 서버 상에 보유되어 있는 사용자 이름, 패스워드 및 액세스 허용의 테이블과 비교함으로써 허가 여부를 결정한다. 사용자가 요청된 장치 또는 서비스에 액세스하도록 허가를 받지 못한 경우, 결정 단계 3125는 "아니오" 분기(3130)로 분기하고, 이어서 처리는 단계 3145에서 계속된다. 단계 3145에서, 사용자는 요청된 장치 또는 서비스에 대한 액세스 허가가 거부되었음을 통지받는다.
사용자가 요청된 서비스 또는 장치에 액세스하도록 허가를 받은 경우, 결정 단계 3125는 "예" 분기(3135)로 분기하고, 이어서 단계 3140에서 컴퓨터 시스템은 선택된 서비스 도는 장치와 통신을 설정한다. 도 32의 플로우차트는 단계 3140에서 행해지는 처리에 대한 추가의 상세 구성을 제공한다. 이어서, 처리는 단계 3199에서 종료한다.
도 32는 컴퓨터 시스템과 원격 서비스/장치 사이에 통신을 설정하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 3200에서 시작하고, 이어서 단계 3210에서 원격 장치 드라이버 레지스트리 서버는 선택된 장치 드라이버의 속성을 요청 컴퓨터 시스템으로 전송한다. 원격 장치 드라이버 레지스트리 서버와 컴퓨터 시스템 사이의 통신은 XML 등의 이식성 언어로 행해진다. 단계 3215에서, 원격 장치 드라이버 레지스트리 서버는 요청 컴퓨터 시스템으로 장치 드라이버와 통신하는 데 필요한 인터페이스를 전송한다. 원격 장치 드라이버 레지스트리 서버와 컴퓨터 시스템 사이의 통신은 또다시 XML 등의 이식성 언어로 행해진다.
단계 3220에서, 요청 컴퓨터 시스템은 장치 드라이버와 관련된 수신 정보를 나중에 재호출하기 위해 장치 드라이버 구성 파일에 저장한다. 단계 3230에서, 요청 컴퓨터 시스템은 원격 장치 드라이버 레지스트리 서버에 의해 요청 컴퓨터 시스템에 제공된 인터페이스 및 기타 정보를 사용하여 장치에 액세스한다. 이어서, 처리는 단계 3299에서 종료한다.
도 33은 장치로의 불법 액세스를 방지하기 위한 보안 장치를 갖는 분리형 운영 체제 모듈을 나타낸 블록도이다. 분리형 모듈(3310)은 모듈 CPU(3315), 운영 체제 실행 이미지(3330), 및/또는 모듈 애플리케이션(3335)을 포함할 수 있다.
게다가, 분리형 모듈(3310)은 분리형 모듈의 불법적 사용을 방지하기 위해 분리형 모듈을 잠금 및 보호하기 위한 수단을 포함한다. 분리형 모듈(3310)은 예를 들어 망막 스캐너(3345), 지문 스캐너(3350) 및/또는 키패드(3355)와 협력하여 인증을 제공하는 보안 데이터(3340)를 포함한다. 망막 스캐너(3345)는 사용자의 망막을 스캔하고 스캔된 이미지를 보안 데이터(3340)에 저장된 이미지와 비교하여 사용자가 분리형 모듈(3310)을 사용할 권한이 있는지를 결정한다. 지문 스캐너(3350)는 사용자의 손가락을 스캔하고 스캔된 이미지를 보안 데이터(3340)에 저장된 이미지와 비교하여 사용자가 분리형 모듈(3310)을 사용할 권한이 있는지를 결정한다. 키패드(3355)는 사용자가 패스워드를 입력할 수단을 제공하고 이어서 이 패스워드는 보안 데이터(3340)에 저장된 패스워드와 비교되어 사용자가 분리형 모듈(3310)을 사용할 권한이 있는지를 결정한다.
분리형 모듈(3310)은 또한 잠금/잠금 해제 표시기(3325)를 포함한다. 잠금/잠금 해제 표시기(3325)는 예를 들어 모듈이 잠금되어 있음을 나타내는 적색 LED와 모듈이 잠금 해제되어 있음을 나타내는 녹색 LED를 포함할 수 있다.
잠금 버튼(3320)은 분리형 모듈(3310)이 잠금 해제되어 있을 때는 언제라도 분리형 모듈(3310)을 잠금하는 데 사용될 수 있다. 또다른 실시예에서, 분리형 모듈(3310)은 컴퓨터 시스템으로부터 분리시에 또는 일정 시간 비활성인 후에 또는 시간표에 따라 자동적으로 잠금될 수 있다.
도 34는 모듈 상의 보안 장치를 사용하여 분리형 운영 체제 모듈로의 불법 액세스를 방지하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 3400에서 시 작하고, 이어서 단계 3410에서 사용자는 컴퓨터 시스템으로부터 분리형 모듈을 분리한다.
결정 단계 3415에서 모듈이 컴퓨터 시스템으로부터 분리 시에 자동 잠금되도록 설정되어 있는지에 관한 결정이 행해진다. 모듈이 컴퓨터 시스템으로부터 분리 시에 자동 잠금되도록 설정되어 있는 경우, 결정 단계 3415는 "예" 분기(3435)로 분기하고, 이어서 단계 3440에서 모듈은 자동 잠금된다. 처리는 단계 3445에서 계속된다. 모듈이 컴퓨터 시스템으로부터 분리 시에 자동 잠금되도록 설정되어 있지 않은 경우, 결정 단계 3415는 "아니오" 분기(3420)로 분기하고, 이어서 결정 단계 3425에서 모듈 상의 잠금 버튼이 눌러졌는지에 관한 결정이 행해진다. 잠금 버튼이 눌러진 경우, 결정 단계 3425는 "예" 분기(3430)로 분기하고, 이어서 처리는 단계 3445에서 계속된다. 잠금 버튼이 눌러지지 않은 경우, 결정 단계 3425는 "아니오" 분기(3475)로 분기하고, 이어서 단계 3480에서 모듈은 잠금 해제되고, 작동 가능 상태에 있으며 컴퓨터 시스템에 재삽입 준비가 되어 있다.
단계 3445에서, 모듈은 잠금되고 따라서 작동 불능이고 컴퓨터 시스템에서 작동할 준비가 되어 있지 않다. 다시 사용되기 위해서는, 모듈은 먼저 잠금 해제되어야 한다. 모듈 상의 표시기는 모듈이 잠금되어 있음을 나타낸다.
이어서, 결정 단계 3450에서 사용자가 모듈을 잠금 해제하려고 시도하는지에 관한 결정이 행해진다. 사용자가 모듈을 잠금 해제하려고 시도하지 않는 경우, 결정 단계 3450은 "아니오" 분기(3452)로 분기하고, 이어서 처리는 모듈이 사용자가 모듈을 잠금 해제하려고 시도하고 있는지를 다시 한번 결정하기 위해 단계 3445로 되돌아간다. 사용자가 모듈을 잠금 해제하려고 시도하고 있는 경우, 결정 단계 3450은 "예" 분기(3454)로 분기하고, 이어서 단계 3455에서 모듈은 모듈을 잠금 해제하려고 시도하는 사용자가 그렇게 할 권한을 가지고 있는지를 결정하기 위해 사용자 인증 절차를 수행한다. 도 35, 도 36 및 도 37의 플로우차트는 단계 3455에서 행해지는 처리에 대한 추가의 세부 구성을 제공한다.
결정 단계 3460에서 사용자가 인증되었는지에 관한 결정이 행해진다. 사용자가 인증되지 않은 경우, 결정 단계 3460은 "아니오" 분기(3465)로 분기하고, 이어서 처리는 단계 3455로 되돌아가서 사용자가 모듈을 잠금 해제하려는 또다른 시도를 기다린다. 사용자가 인증된 경우, 결정 단계 3460은 "예" 분기(3470)로 분기하고, 이어서 단계 3480에서 모듈은 이제 잠금 해제되고, 작동 가능하며 컴퓨터 시스템에 삽입 준비가 되어 있다. 이어서, 처리는 단계 3499에서 종료한다.
도 35는 모듈 상의 지문 스캐너(3510)를 사용하여 분리형 운영 체제 모듈을 보호하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 3500에서 시작하고, 이어서 단계 3510에서 모듈은 지문 스캐너 상에 손가락이 나타나기를 기다린다. 모듈 상에 위치하는 지문 스캐너는 식별 및 인증 목적상 사람의 지문을 스캔하는 동작을 하는 보안 장치이다.
이어서, 결정 단계 3515에서, 손가락이 스캐너 상에 존재하는지에 관한 결정이 행해진다. 손가락이 스캐너 상에 존재하지 않는 경우, 결정 단계 3515는 "아니오" 분기(3520)로 분기하고, 이어서 처리는 단계 3510으로 되돌아가서 모듈은 계속하여 지문 스캐너 상에 손가락이 나타나기를 기다린다.
손가락이 스캐너 상에 존재하는 경우, 결정 단계 3515는 "예" 분기(3525)로 분기하고, 이어서 단계 3530에서, 지문 스캐너가 작동되고 손가락 상의 지문의 이미지가 캡처된다. 단계 3535에서, 모듈 상의 인증된 지문 이미지의 데이터베이스에 액세스한다. 모듈 상에 저장되어 있는 데이터베이스는 모듈을 사용할 권한이 있는 사용자로부터의 지문의 이미지를 포함하고 있다.
이어서, 스캔된 이미지와 비교되지 않은 지문 이미지가 더 있는지에 관한 결정이 행해진다. 비교되지 않은 지문 이미지가 더 이상 존재하지 않는 경우, 결정 단계 3540은 "아니오" 분기(3550)로 분기하고, 이어서 단계 3560에서 사용자가 인증되었는지가 결정된다. 이어서, 처리는 단계 3599에서 종료한다.
비교되지 않은 지문 이미지가 더 있는 경우, 결정 단계 3540는 "예" 분기(3545)로 분기하고, 이어서 단계 3555에서 그 다음 지문 이미지가 데이터베이스로부터 로드되고 스캔된 이미지와 비교된다.
이어서, 결정 단계 3565에서 데이터베이스로부터의 지문 이미지가 스캔된 이미지와 매칭되는지에 관한 결정이 행해진다. 이미지가 매칭되지 않는 경우, 결정 단계 3565는 "아니오" 분기(3570)로 분기하고, 이어서 처리는 단계 3535로 되돌아가서 비교를 필요로 하는 이미지가 데이터베이스에 더 있는지에 관한 결정이 행해진다. 이미지가 매칭되는 경우, 결정 단계 3565는 "예" 분기(3575)로 분기하고, 이어서 단계 3580에서 사용자가 인증되었으며, 이제 모듈을 호환 컴퓨터 시스템에 삽입하여 사용할 수 있음을 나타낸다. 처리는 단계 3599에서 종료한다.
도 36은 모듈 상의 눈 망막 스캐너를 사용하여 분리형 운영 체제 모듈을 보 호하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 3600에서 시작되고, 이어서 단계 3610에서 모듈은 망막 스캐너의 전면에 눈이 나타나기를 기다린다. 모듈 상에 위치하는 망막 스캐너는 식별 및 인증 목적상 사람의 망막을 스캔하는 동작을 하는 보안 장치이다.
이어서, 결정 단계 3615에서, 망막이 스캐너의 전면에 존재하는지에 관한 결정이 행해진다. 망막이 스캐너에 존재하지 않는 경우, 결정 단계 3615는 "아니오" 분기(3620)로 분기하고, 이어서 처리는 단계 3610으로 되돌아가서 모듈은 계속하여 망막 스캐너의 전면에 망막이 나타나기를 기다린다.
망막이 스캐너에 존재하는 경우, 결정 단계 3615는 "예" 분기(3625)로 분기하고, 이어서 단계 3630에서, 망막 스캐너가 작동되고 망막의 이미지가 캡처된다. 단계 3635에서, 모듈 상의 인증된 망막 이미지의 데이터베이스에 액세스한다. 모듈 상에 저장되어 있는 데이터베이스는 모듈을 사용할 권한이 있는 사용자로부터의 망막의 이미지를 포함하고 있다.
이어서, 스캔된 이미지와 비교되지 않은 망막 이미지가 더 있는지에 관한 결정이 행해진다. 비교되지 않은 망막 이미지가 더 이상 존재하지 않는 경우, 결정 단계 3640은 "아니오" 분기(3650)로 분기하고, 이어서 단계 3660에서 사용자가 인증되었는지가 결정된다. 이어서, 처리는 단계 3699에서 종료한다.
비교되지 않은 망막 이미지가 더 있는 경우, 결정 단계 3640는 "예" 분기(3645)로 분기하고, 이어서 단계 3655에서 그 다음 망막 이미지가 데이터베이스로부터 로드되고 스캔된 이미지와 비교된다.
이어서, 결정 단계 3665에서 데이터베이스로부터의 망막 이미지가 스캔된 이미지와 매칭되는지에 관한 결정이 행해진다. 이미지가 매칭되지 않는 경우, 결정 단계 3665는 "아니오" 분기(3670)로 분기하고, 이어서 처리는 단계 3635로 되돌아가서 비교를 필요로 하는 이미지가 데이터베이스에 더 있는지에 관한 결정이 행해진다. 이미지가 매칭되는 경우, 결정 단계 3665는 "예" 분기(3675)로 분기하고, 이어서 단계 3680에서 사용자가 인증되었으며, 이제 모듈을 호환 컴퓨터 시스템에 삽입하여 사용할 수 있음을 나타낸다. 처리는 단계 3699에서 종료한다.
도 37은 패스워드를 입력하기 위한 모듈 상의 키보드를 사용하여 분리형 운영 체제 모듈을 보호하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 3700에서 시작되고, 이어서 단계 3710에서 모듈은 패스워드가 키보드 상에서 입력되기를 기다린다.
이어서, 단계 3715에서, 패스워드가 입력되었는지에 관한 결정이 행해진다. 패스워드가 입력되지 않은 경우, 결정 단계 3715는 "아니오" 분기(3720)로 분기하고, 이어서 처리는 단계 3710으로 되돌아가서 모듈은 계속하여 패스워드를 기다린다.
패스워드가 입력된 경우, 결정 단계 3715는 "예" 분기(3725)로 분기하고, 이어서 단계 3730에서, 입력된 패스워드가 수신된다. 단계 3735에서, 모듈 상의 인증된 패스워드의 데이터베이스에 액세스한다. 모듈 상에 저장되어 있는 데이터베이스는 모듈을 사용할 권한이 있는 사용자로부터의 패스워드를 포함하고 있다.
이어서, 입력된 패스워드와 비교되지 않은 패스워드가 더 있는지에 관한 결 정이 행해진다. 비교되지 않은 패스워드가 더 이상 존재하지 않는 경우, 결정 단계 3740은 "아니오" 분기(3750)로 분기하고, 이어서 단계 3760에서 사용자가 인증되지 않은 것으로 결정된다. 이어서, 처리는 단계 3799에서 종료한다.
비교되지 않은 패스워드가 더 있는 경우, 결정 단계 3740는 "예" 분기(3745)로 분기하고, 이어서 단계 3755에서 그 다음 패스워드가 데이터베이스로부터 로드되고 입력된 패스워드와 비교된다.
이어서, 결정 단계 3765에서 데이터베이스로부터의 패스워드가 입력된 패스워드와 매칭되는지에 관한 결정이 행해진다. 패스워드가 매칭되지 않는 경우, 결정 단계 3765는 "아니오" 분기(3770)로 분기하고, 이어서 처리는 단계 3735로 되돌아가서 비교를 필요로 하는 패스워드가 데이터베이스에 더 있는지에 관한 결정이 행해진다. 패스워드가 매칭되는 경우, 결정 단계 3765는 "예" 분기(3775)로 분기하고, 이어서 단계 3780에서 사용자가 인증되었으며, 이제 모듈을 호환 컴퓨터 시스템에 삽입하여 사용할 수 있음을 나타낸다. 처리는 단계 3799에서 종료한다.
도 38은 사용자에 의해 컴퓨터 시스템을 통해 제공된 보안 데이터를 사용하여 분리형 운영 체제 모듈로의 불법 액세스를 방지하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 3800에서 시작하고, 이어서 단계 3810에서, 사용자는 분리형 모듈을 컴퓨터 시스템에 삽입한다. 단계 3812에서, BIOS는 분리형 모듈을 검지하고, 모듈이 컴퓨터 시스템과 호환되는지를 결정한다.
이어서, 결정 단계 3814에서 모듈이 보안 잠금 되었는지에 관한 결정이 행해진다. 모듈이 보안 잠금되어 있지 않은 경우, 결정 단계 3814는 "아니오" 분기 (3818)로 분기하고, 이어서 처리는 단계 3848에서 계속된다. 모듈이 보안 잠금되어 있는 경우, 결정 단계 3814는 "예" 분기(3816)로 분기하고, 이어서 사용자에게 모듈을 잠금 해제시키기 위해 보안 데이터를 요청한다. 보안 데이터는 예를 들면 패스워드, 지문 스캔, 망막 스캔 등일 수 있다.
이어서, 결정 단계 3824에서 보안 데이터가 제공되었는지에 관한 결정이 행해진다. 보안 데이터가 제공되지 않은 경우, 결정 단계 3824는 "아니오" 분기(3828)로 분기하고, 처리는 단계 3822로 되돌아가서 시스템은 사용자로부터의 보안 데이터를 기다린다.
보안 데이터가 제공되었으면, 결정 단계 3824는 "예" 분기(3826)로 분기하고, 이어서 단계 3830에서 사용자에 의해 입력된 보안 데이터가 시스템에 의해 수신된다. 단계 3832에서, 모듈 상의 인증된 보안 데이터의 데이터베이스에 액세스한다. 모듈 상에 저장된 인증된 보안 데이터는 예를 들면 패스워드, 지문 스캔, 망막 스캔 등일 수 있다.
도 39는 분리형 모듈의 제작/프로그래밍을 나타낸 블록도이다. 제작 컴퓨터 시스템(3910)은 CPU(3920), RAM(3925), 및 비휘발성 저장 장치(3915)를 포함한다. 비휘발성 저장 장치(3915)는 분리형 모듈 상에 설치될 운영 체제의 마스터 카피를 포함한다.
제작 컴퓨터 시스템(3910)은 또한 분리형 모듈 스택(3947)로부터의 분리형 모듈(3930, 3935, 3940, ..., 3945)이 부착되어 있는 인터페이스도 포함하며, 이 인터페이스는 컴퓨터 시스템(3910)에 연결되어 있다. 운영 체제를 컴퓨터 시스템 (3910)에 설치한 후에, 운영 체제의 실행 이미지가 RAM(3925)으로부터 분리형 모듈(3930, 3935, 3940, ..., 3945) 각각으로 전송된다.
운영 체제가 분리형 모듈(3930, 3935, 3940, ..., 3945) 상에 설치된 후에, 분리형 모듈은 컴퓨터로부터 분리되고 이제 배포를 위한 준비가 되어 있다.
도 40은 운영 체제 모듈의 제작 및 프로그래밍하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 4100에서 시작하고, 이어서 단계 4010에서, 제작 컴퓨터 시스템 상에 운영 체제가 설치된다. 컴퓨터 시스템 상에 설치된 운영 체제는 분리형 운영 체제 모듈 상에 설치될 운영 체제이다. 단계 4015에서, 메모리에 있는 운영 체제의 실행 이미지를 획득하기 위해 운영 체제가 실행된다. 설치된 운영 체제는 분리형 운영 체제 모듈로 전송되고, 실행된 운영 체제는 상태 정보, 재개 및 재시동 지점 등을 획득하기 위해 사용된다.
단계 4020에서, 분리형 운영 체제 모듈의 제작이 시작된다. 여러가지 컴포넌트를 상호 연결하기 위한 버스, 버스에 연결되어 있고 BIOS를 설치하기 위한 인터페이스, 버스에 연결되어 있고 프로세스를 설치하기 위한 인터페이스, 버스에 연결되어 있고 비휘발성 저장 장치를 설치하기 위한 인터페이스, 및 버스에 연결되어 있고 모듈 인터페이스를 컴퓨터 시스템에 연결시키기 위한 인터페이스를 갖는 마더보드가 얻어진다.
단계 4030에서, 보드 상의 BIOS 인터페이스에 BIOS가 설치된다. BIOS는 모듈과 컴퓨터 시스템 상의 모듈 인터페이스 사이의 초기 통신을 설정하는 일을 맡고 있다. 단계 4035에서, 프로세서는 보드 상의 프로세서 인터페이스에 설치된다. 프로세서는 분리형 운영 체제 모듈로부터 컴퓨터 시스템으로의 통신은 물론 분리형 운영 체제 모듈 내의 컴포넌트들 간의 통신 등의 분리형 운영 체제 모듈의 실행을 제어한다. 단계 4040에서, 비휘발성 저장 장치는 보드 상의 비휘발성 저장 장치 인터페이스에 설치된다. 비휘발성 저장 장치는 분리형 운영 체제 모듈 상에 저장된 운영 체제의 실행 이미지를 저장하는 것은 물론 일반적으로 데이터를 저장하는 데 사용된다.
결정 단계 4045에서 제작할 모듈이 더 있는지에 관한 결정이 행해진다. 제작할 모듈이 더 있는 경우, 결정 단계 4045는 "예" 분기(4050)로 분기하고, 이어서 처리는 단계 4020으로 되돌아가서 또다른 분리형 운영 체제 모듈의 제작이 시작된다. 제작할 분리형 운영 체제 모듈이 더 이상 없는 경우, 결정 단계 4045는 "아니오" 분기(4055)로 분기하고, 이어서 단계 4060에서, 일련의 제작된 분리형 운영 체제 모듈이 제작 컴퓨터 시스템에 삽입된다. 제작 컴퓨터 시스템은 운영 체제를 몇개의 분리형 운영 체제 모듈에 동시에 로드하는 것을 용이하게 하기 위해 분리형 운영 체제 모듈에 연결되도록 구성된 다수의 인터페이스를 가질 수 있다.
단계 4070에서, 제작 컴퓨터 시스템 상에서 실행되는 운영 체제의 실행 이미지가 제작 컴퓨터 시스템에 부착되어 있는 분리형 운영 체제 모듈에 로드된다. 운영 체제는 분리형 운영 체제 모듈의 비휘발성 저장 장치로 전송된다.
결정 단계 4080에서 운영 체제의 로드를 필요로 하는 모듈이 더 있는지에 관한 결정이 행해진다. 운영 체제의 로드를 필요로 하는 분리형 운영 체제 모듈이 더 있는 경우, 결정 단계 4080은 "예" 분기(4085)로 분기하고, 이어서 처리는 단계 4060으로 되돌아가서 또다른 일련의 분리형 운영 체제 모듈이 제작 컴퓨터 시스템에 삽입된다. 운영 체제의 로드를 필요로 하는 분리형 운영 체제 모듈이 더 이상 없는 경우, 결정 단계 4080은 "아니오" 분기(4090)로 분기하고, 이어서 처리는 단계 4099에서 종료한다.
도 41은 사용자가 실행 중인 운영 체제 설치 파일을 사용하여 운영 체제 모듈을 프로그래밍하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 4100에서 시작되고, 이어서 단계 4110에서, 사용자는 컴퓨터 시스템을 부팅시킨다. 단계 4115에서, 사용자는 컴퓨터 시스템을 사용하여 운영 시스템의 제조업자의 웹 사이트에 접속한다. 웹 사이트에서, 사용자는 분리형 운영 체제 모듈 상에 운영 체제를 설치하기 위해 파일을 구매 및 다운로드해줄 것을 요청한다.
단계 4120에서, 사용자는 구매 웹 페이지로 이동하여 그곳에서 사용자는 신용 카드를 사용하여 운영 체제를 구매한다. 단계 4125에서, 사용자는 구매한 운영 체제를 설치가능한 이미지 형태로 다운로드 및 수신한다.
이어서, 결정 단계 4130에서 운영 체제가 분리형 운영 체제 모듈을 컴퓨터 시스템에 연결시키기 위한 분리형 운영 체제 모듈 인터페이스를 포함하는지에 관한 결정이 행해진다. 컴퓨터 시스템이 분리형 운영 체제 모듈 인터페이스를 포함하지 않는 경우, 결정 단계 4130은 "아니오" 분기(4134)로 분기하고, 이어서 단계 4140에서 분리형 운영 체제 모듈 인터페이스가 컴퓨터 시스템에 부착된다. 이어서, 처리는 단계 4150에서 계속된다.
컴퓨터 시스템이 분리형 운영 체제 모듈 인터페이스를 포함하는 경우, 결정 단계 4130은 "예" 분기(4150)로 분기하고, 이어서 단계 4150에서, 분리형 운영 체제 모듈이 분리형 운영 체제 모듈 인터페이스에 삽입된다. 단계 4160에서, 삽입된 분리형 운영 체제 모듈은 컴퓨터 시스템에 의해 검지되어 설치된다.
단계 4170에서, 사용자는 구매한 운영 체제의 설치를 시작하기 위해 실행가능한 다운로드한 운영 체제를 실행시킨다. 사용자는 요구를 받는 경우 구매한 운영 체제를 설치할 장소로서 분리형 운영 체제 모듈을 선택한다. 설치가 완료된 후에, 단계 4180에서 사용자는 컴퓨터 시스템을 재시동하여, 새로 설치한 운영 체제 이미지를 사용해 컴퓨터 시스템을 재시동하기로 선택한다. 설치한 운영 체제 이미지는 실행 이미지일 수 있다.
단계 4185에서, 사용자는 운영 체제 및 실행 중인 애플리케이션의 상태를 분리형 운영 체제 모듈의 비휘발성 저장 장치 상에 저장하기 위해 분리형 운영 체제 모듈 분리 애플리케이션을 실행시키고, 이어서 분리형 운영 체제 모듈을 분리형 운영 체제 모듈 인터페이스로부터 분리한다. 처리는 단계 4199에서 종료한다.
도 42는 사용자가 실행 중인 운영 체제 업데이트 설치 파일을 사용하여 운영 체제 모듈을 업데이트하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 4200에서 시작하고, 이어서 단계 4210에서, 사용자는 분리형 운영 체제 모듈을 수납하도록 구성되어 있는 분리형 운영 체제 모듈 인터페이스를 갖는 컴퓨터 시스템에 분리형 운영 체제 모듈을 삽입한다. 단계 4215에서, 분리형 운영 체제 모듈은 컴퓨터 시스템의 BIOS에 의해 검지되고, 운영 체제는 분리형 운영 체제 모듈의 비휘발성 저장 장치로부터 로드된다.
단계 4220에서, 사용자는 운영 체제 제조업자의 웹 사이트에 접속하여 운영 체제의 업데이터를 요청한다. 이어서 결정 단계 4225에서 업데이트가 무료로 제공되는지에 관한 결정이 행해진다. 업데이트가 무료로 제공되지 않는 경우, 결정 단계 4225는 "아니오" 분기(4230)로 분기하고, 이어서 단계 4255에서 사용자는 신용 카드를 사용하여 업데이트를 구매한다. 처리는 단계 4240에서 계속된다.
업데이트가 무료로 제공되는 경우, 결정 단계 4225는 "예" 분기(4235)로 분기하고, 이어서 단계 4240에서 사용자는 실행가능한 구매한 운영 체제 업데이트를 운영 체제 제조업자의 웹 사이트에서 다운로드 및 수신한다. 단계 4245에서, 사용자는 다운로드한 운영 체제 업데이트를 실행시키고, 단계 4250에서 분리형 운영 체제 모듈 상의 운영 체제가 업데이트된다.
단계 4260에서, 컴퓨터는 재부팅되고, 단계 4265에서 업데이트된 운영 체제가 분리형 운영 체제 모듈로부터 로드되며, 그의 업데이트된 형태로 사용자에 의해 사용될 준비가 된다. 처리는 단계 4299에서 종료한다.
도 43은 모듈 인터페이스를 갖는 퍼스널 컴퓨터를 나타낸 블록도이다.
컴퓨터 시스템(4310)은 처음에 BIOS(4325), 비휘발성 저장 장치(4320), 메모리(4315), 및 장치의 장치 드라이버를 갖는 부가 장치(4330)를 포함하도록 제조된다.
모듈 인터페이스(4350)는 또한 분리형 모듈을 컴퓨터 시스템(4310)에 연결시킬 수 있도록 하기 위해 컴퓨터 시스템에 부착되어 있다.
도 44는 모듈 인터페이스 및 모듈 인터페이스에 부착된 서로 다른 구성 옵션 을 갖는 모듈을 구비한 퍼스널 컴퓨터를 제조하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 4400에서 시작되고, 이어서 단계 4410에서 컴퓨터 시스템의 제조가 시작된다.
단계 4415에서, 여러가지 컴포넌트를 상호 연결하기 위한 버스, 버스에 연결되어 있고 BIOS를 설치하기 위한 인터페이스, 버스에 연결되어 있고 CPU를 설치하기 위한 인터페이스, 버스에 연결되어 있고 RAM 유닛을 설치하기 위한 인터페이스, 버스에 연결되어 있고 비휘발성 저장 장치를 부착하기 위한 인터페이스, 및 버스에 연결되어 있고 부가 장치를 부착시키기 위한 인터페이스를 갖는 마더보드가 얻어진다.
단계 4420에서, 마더보드 상의 BIOS 인터페이스에 BIOS가 설치된다. BIOS는 운영 시스템을 로드하기에 앞서 컴퓨터 시스템이 기본적인 입/출력을 수행하고 이어서 운영 체제를 로드할 수 있게 해준다. 단계 4425에서, 마더보드 상의 RAM 인터페이스에 RAM 유닛이 부착된다. RAM 유닛은 컴퓨터 시스템이 실행되는 동안 임시 고속 메모리로서 기능한다. 단계 4430에서, 마더보드 상의 비휘발성 저장 장치 인터페이스에 비휘발성 저장 장치가 부착된다. 비휘발성 저장 장치는 운영 체제, 애플리케이션 등의 설치를 위한 영구 저장 장치로서 기능한다.
단계 4435에서, 컴퓨터 시스템의 버스에 모듈 인터페이스가 부착 및 연결된다. 모듈 인터페이스는 분리형 모듈을 수납하고 또 분리형 모듈을 버스를 통해 컴퓨터 시스템에 연결하도록 구성되어 있다.
단계 4440에서, 비휘발성 저장 장치를 가지며 모듈형 CPU, 및/또는 비휘발성 저장 장치에 저장되어 있는 모듈형 애플리케이션, 및/또는 역시 비휘발성 저장 장치에 저장되어 있는 하나 이상의 모듈형 운영 체제를 수납하도록 구성되어 있는 모듈이 얻어진다. 이 모듈은 그 모듈을 컴퓨터 시스템의 모듈 인터페이스에 부착함으로써 컴퓨터 시스템에 연결되도록 구성되어 있다.
단계 4445에서, 하나 이상의 운영 체제가 컴퓨터 시스템 상에 및/또는 분리형 모듈 상에 설치된다. 도 45의 플로우차트는 단계 4445에서 행해지는 처리에 대해 보다 상세히 기술한다.
단계 4460에서, 하나 이상의 애플리케이션이 컴퓨터 시스템 상에 및/또는 분리형 모듈 상에 설치된다. 도 46의 플로우차트는 단계 4460에서 행해지는 처리에 대해 보다 상세히 기술한다.
단계 4465에서, 하나 이상의 CPU가 컴퓨터 시스템 상에 및/또는 분리형 모듈 상에 설치된다. 도 47의 플로우차트는 단계 4465에서 행해지는 처리에 대해 보다 상세히 기술한다. 처리는 단계 4499에서 종료한다.
도 45는 컴퓨터 시스템 상에 및/또는 모듈 상에 운영 체제를 설치하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 4510에서 시작하고, 이어서 결정 단계 4510에서 컴퓨터 시스템 상에 또는 모듈 상에 설치할 운영 체제가 더 있는지에 관한 결정이 행해진다. 설치할 운영 체제가 더 이상 없는 경우, 결정 단계 4510은 "아니오" 분기(4520)로 분기하고, 이어서 처리는 단계 4599에서 종료한다.
설치할 운영 체제가 더 있는 경우, 결정 단계 4510은 "예" 분기(4515)로 분기하고, 이어서 결정 단계 4525에서 분리형 모듈의 비휘발성 저장 장치와 컴퓨터 시스템의 비휘발성 저장 장치 양쪽 모두에 그 다음 운영 체제를 설치할지 여부에 관한 또다른 결정이 행해진다. 분리형 모듈의 비휘발성 저장 장치와 컴퓨터 시스템의 비휘발성 저장 장치 양쪽 모두에 그 운영 체제가 설치될 것이면, 결정 단계 4525는 "예" 분기(4530)로 분기하고, 이어서 단계 4570에서 운영 체제는 컴퓨터 시스템의 마더보드 상의 비휘발성 저장 장치 상에 설치된다. 단계 4575에서, 운영 체제의 실행 이미지가 모듈 상의 비휘발성 저장 장치 상에 설치된다. 이어서, 처리는 결정 단계 4510으로 되돌아가서 설치할 운영 체제가 더 있는지에 관한 결정이 행해진다.
분리형 모듈의 비휘발성 저장 장치와 컴퓨터 시스템의 비휘발성 저장 장치 양쪽 모두에 그 운영 체제가 설치되지 않을 것이면, 결정 단계 4525는 "아니오" 분기(4535)로 분기하고, 이어서 결정 단계 4540에서 컴퓨터 시스템의 마더보드 상의 비휘발성 저장 장치 상에 운영 체제를 설치할지 여부에 관한 또다른 결정이 행해진다. 운영 체제가 컴퓨터 시스템의 마더보드 상의 비휘발성 저장 장치 상에 설치될 것인 경우, 결정 단계 4540은 "예" 분기(4545)로 분기하고, 이어서 단계 4580에서 컴퓨터 시스템의 비휘발성 저장 장치 상에 운영 체제가 설치된다.
운영 체제가 컴퓨터 시스템의 마더보드 상의 비휘발성 저장 장치 상에 설치되지 않을 것인 경우, 결정 단계 4540은 "아니오" 분기(4550)로 분기하고, 이어서 결정 단계 4555에서 분리형 모듈의 비휘발성 저장 장치 상에 운영 체제를 설치할지 여부에 관한 또다른 결정이 행해진다. 운영 체제가 모듈의 비휘발성 저장 장치 상에 설치될 것인 경우, 결정 단계 4555는 "예" 분기(4560)로 분기하고, 이어서 단계 4585에서 분리형 모듈 상의 비휘발성 저장 장치 상에 운영 체제의 실행 이미지가 설치된다.
운영 체제가 모듈의 비휘발성 저장 장치 상에 설치될 것이 아닌 경우, 결정 단계 4555는 "아니오" 분기(4565)로 분기하고, 이어서 처리는 결정 단계 4510으로 되돌아가서 컴퓨터 시스템 상에 및/또는 분리형 모듈 상에 설치할 운영 체제가 더 있는지 여부를 결정한다.
도 46은 컴퓨터 시스템 상에 및/또는 모듈 상에 애플리케이션을 설치하는 프로세스를 나타낸 플로우차트이다. 처리는 단계 4600에서 시작하고, 이어서 결정 단계 4610에서 컴퓨터 시스템 상에 또는 분리형 모듈 상에 설치할 애플리케이션이 더 있는지에 관한 결정이 행해진다. 설치할 애플리케이션이 더 이상 없는 경우, 결정 단계 4610는 "아니오" 분기(4615)로 분기하고, 이어서 처리는 단계 4699에서 종료한다. 설치할 애플리케이션이 더 있는 경우, 결정 단계 4610은 "예" 분기(4620)로 분기하고, 이어서 결정 단계 4625에서 분리형 모듈의 비휘발성 저장 장치 및 컴퓨터 시스템의 비휘발성 저장 장치 양쪽 모두 상에 그 다음 애플리케이션을 설치할지 여부에 관한 또다른 결정이 행해진다. 애플리케이션이 분리형 모듈의 비휘발성 저장 장치 및 컴퓨터 시스템의 비휘발성 저장 장치 양쪽 모두 상에 설치될 것인 경우, 결정 단계 4625는 "예" 분기(4630)로 분기하고, 이어서 단계 4670에서 애플리케이션이 컴퓨터 시스템의 마더보드 상의 비휘발성 저장 장치 상에 설치된다. 단계 4675에서, 애플리케이션의 실행 이미지가 모듈 상의 비휘발성 저장 장치 상에 설치된다. 이어서, 처리는 결정 단계 4610으로 되돌아가서 설치될 애플리케 이션이 더 있는지 여부를 결정한다.
애플리케이션이 분리형 모듈의 비휘발성 저장 장치 및 컴퓨터 시스템의 비휘발성 저장 장치 양쪽 모두 상에 설치되지 않을 것인 경우, 결정 단계 4625는 "아니오" 분기(4635)로 분기하고, 이어서 단계 4640에서 애플리케이션을 컴퓨터 시스템의 마더보드 상의 비휘발성 저장 장치 상에 설치할지 여부에 관한 결정이 행해진다. 애플리케이션이 컴퓨터 시스템의 마더보드 상의 비휘발성 저장 장치 상에 설치될 것인 경우, 결정 단계 4640는 "예" 분기(4645)로 분기하고, 이어서 단계 4680에서 애플리케이션은 컴퓨터 시스템의 비휘발성 저장 장치 상에 설치된다.
애플리케이션이 컴퓨터 시스템의 마더보드 상의 비휘발성 저장 장치 상에 설치되지 않을 것인 경우, 결정 단계 4640은 "아니오" 분기(4650)로 분기하고, 이어서 결정 단계 4655에서 분리형 모듈의 비휘발성 저장 장치 상에 애플리케이션을 설치할지에 관한 또다른 결정이 행해진다. 애플리케이션이 모듈의 비휘발성 저장 장치 상에 설치될 것인 경우, 결정 단계 4655는 "예" 분기(4660)로 분기하고, 이어서 단계 4685에서 애플리케이션의 실행 이미지가 분리형 모듈의 비휘발성 저장 장치 상에 설치된다.
애플리케이션이 모듈의 비휘발성 저장 장치 상에 설치되지 않을 것인 경우, 결정 단계 4655는 "아니오" 분기(4665)로 분기하고, 이어서 처리는 결정 단계 4610으로 돌아가서 컴퓨터 및/또는 분리형 모듈 상에 설치할 애플리케이션이 더 있는지를 결정한다.
도 47은 컴퓨터 시스템 및/또는 모듈 상에 CPU를 설치하는 프로세스를 나타 낸 플로우차트이다. 처리는 단계 4700에서 시작하고, 이어서 결정 단계 4710에서 컴퓨터 시스템 또는 분리형 모듈 상에 설치될 CPU가 더 있는지에 관한 결정이 행해진다. 설치될 CPU가 더 이상 없는 경우, 결정 단계 4710은 "아니오" 분기(4715)로 분기하고, 이어서 처리는 단계 4799에서 종료한다.
설치될 CPU가 더 있는 경우, 결정 단계 4710은 "예" 분기(4720)으로 분기하고, 이어서 결정 단계 4725에서 분리형 모듈 및 컴퓨터 시스템 양쪽 모두 상에 그 다음 CPU를 설치할지에 관한 또다른 결정이 행해진다. CPU가 분리형 모듈 및 컴퓨터 시스템 양쪽 모두 상에 설치될 것인 경우, 결정 단계 4725는 "예" 분기(4730)로 분기하고, 이어서 단계 4770에서 CPU가 컴퓨터 시스템의 마더보드 상에 설치된다. 단계 4775에서, CPU는 모듈 상에 설치된다. 이어서, 처리는 결정 단계 4710으로 되돌아가서 설치될 CPU가 더 있는지를 결정한다.
CPU가 분리형 모듈 및 컴퓨터 시스템 양쪽 모두 상에 설치되지 않을 것인 경우, 결정 단계 4725는 "아니오" 분기(4735)로 분기하고, 이어서 결정 단계 4740에서 CPU를 컴퓨터 시스템의 마더보드 상에 설치할지에 관한 결정이 행해진다. CPU가 컴퓨터 시스템의 마더보드 상에 설치될 것인 경우, 결정 단계 4740은 "예" 분기(4745)로 분기하고, 이어서 단계 4780에서 CPU는 컴퓨터 시스템 상에 설치된다.
CPU가 컴퓨터 시스템의 마더보드 상에 설치되지 않을 것인 경우, 결정 단계 4740은 "아니오" 분기(4750)로 분기하고, 결정 단계 4755에서 CPU를 분리형 모듈 상에 설치할지에 관한 또다른 결정이 행해진다. CPU가 모듈 상에 설치될 것인 경우, 결정 단계 4755는 "예" 분기(4760)로 분기하고, 이어서 단계 4785에서 CPU는 분리형 모듈 상에 설치된다.
CPU가 모듈 상에 설치되지 않을 것인 경우, 결정 단계 4755는 "아니오" 분기(4765)로 분기하고, 이어서 처리는 결정 단계 4710으로 되돌아가서 컴퓨터 시스템 및/또는 분리형 모듈 상에 설치될 CPU가 더 있는지를 결정한다.
도 48은 본 명세서에 기술된 동작을 수행할 수 있는 컴퓨터 시스템의 단순화된 일례인 정보 처리 시스템을 나타낸 블록도이다.
도 48은 본 명세서에 기술된 컴퓨팅 동작을 수행할 수 있는 컴퓨터 시스템의 단순화된 일례인 정보 처리 시스템(4801)을 나타낸 블록도이다. 컴퓨터 시스템(4801)은 호스트 버스(4802)에 연결된 프로세서(4800)를 포함한다. 2차(L2) 캐시 메모리(4804)도 호스트 버스(4802)에 연결되어 있다. 호스트-PCI 브리지(4806)는 메인 메모리(4808)에 연결되어 있으며, 캐시 메모리 및 메인 메모리 제어 기능을 포함하고 또 PCI 버스(4810), 프로세서(4800), L2 캐시(4804), 메인 메모리(4808) 및 호스트 버스(4802) 사이의 전송을 처리하기 위한 버스 제어를 제공한다. 메인 메모리(4808)는 호스트 버스(4802) 뿐만 아니라 호스트-PCI 브리지(4806)에도 연결되어 있다. LAN 카드(4830) 등의 호스트 프로세서(4800)에 의해서만 사용되는 장치들은 PCI 버스(4810)에 연결되어 있다. 서비스 프로세서 인터페이스 및 ISA 액세스 패스쓰루(4812)는 PCI 버스(4810)와 PCI 버스(4814) 사이의 인터페이스를 제공한다. 이와 같이, PCI 버스(4814)는 PCI 버스(4810)와 분리되어 있다. 플래시 메모리(4818) 등의 장치들은 PCI 버스(4814)에 연결되어 있다. 한 구현에서, 플래시 메모리(4818)는 각종의 하위 레벨 시스템 기능 및 시스템 부트 기능에 대해 필 요한 프로세서 실행가능 코드를 포함하는 BIOS 코드를 포함한다.
PCI 버스(4814)는 예를 들어 플래시 메모리(4818)를 비롯한 호스트 프로세서(4800) 및 서비스 프로세서(4816)에 의해 공유되는 각종의 장치들에 대한 인터페이스를 제공한다. PCI-ISA 브리지(4835)는 PCI 버스(4814)와 ISA 버스(4840) 사이의 전송을 처리하기 위한 버스 제어, USB(universal serial bus) 기능(4845), 전력 관리 기능(4855)를 제공하고, 실시간 클록(RTC), DMA 제어, 인터럽트 지원, 및 시스템 관리 버스 지원 등의 도시하지 않은 기타 기능 요소를 포함할 수 있다. 비휘발성 RAM(4820)은 ISA 버스(4820)에 부착되어 있다. 서비스 프로세서(4816)는 초기화 단계 동안에 프로세서(4800)와 통신하기 위한 JTAG/I2C 버스(4822)를 포함한다. JTAG/I2C 버스(4822)는 또한 L2 캐시(4804), 호스트-PCI 브리지(4806), 및 메인 메모리(4808)에도 연결되어 프로세서, 서비스 프로세서, L2 캐시, 호스트-PCI 브리지 및 메인 메모리 사이의 통신 경로를 제공한다. 서비스 프로세서(4816)는 또한 정보 처리 장치(4801)의 전원 차단을 위해 시스템 전력 자원에도 액세스한다.
주변 장치 및 입/출력(I/O) 장치는 각종의 인터페이스[예를 들어, ISA 버스(4840)에 연결된 병렬 인터페이스(4862), 직렬 인터페이스(4864), 키보드 인터페이스(4868), 및 마우스 인터페이스(4870)]에 부착될 수 있다. 다른 대안에서, 많은 I/O 장치들은 ISA 버스(4840)에 부착된 수퍼 I/O 콘트롤러(도시 생략)에 의해 조정될 수 있다.
네트워크를 통해 파일을 복사하기 위해 컴퓨터 시스템(4801)을 다른 컴퓨터 시스템들에 연결시키기 위해, LAN 카드(4830)가 PCI 버스(4810)에 연결되어 있다. 이와 유사하게, 컴퓨터 시스템(4801)을 ISP에 연결하여 전화선 연결을 사용하여 인터넷에 접속하기 위해, 모뎀(4875)이 직렬 포트(4864)와 PCI-ISA 브리지(4835)에 연결되어 있다.
도 48에 기술된 컴퓨터 시스템이 본 명세서에 설명한 프로세스들을 실행할 수 있지만, 이 컴퓨터 시스템은 컴퓨터 시스템의 일례에 불과하다. 당업자라면 많은 다른 컴퓨터 시스템 설계가 본 명세서에 기술한 프로세스를 수행할 수 있음을 잘 알 것이다.
본 발명의 양호한 구현들 중 하나는 애플리케이션, 즉 예를 들면 컴퓨터의 랜덤 액세스 메모리에 상주할 수 있는 코드 모듈 내의 일단의 명령어(프로그램 코드)이다. 컴퓨터에 의해 요구될 때까지, 그 일단의 명령어는 또다른 컴퓨터 메모리에, 예를 들면 하드 디스크 드라이브에 또는 광학 디스크(궁극적으로 CD-ROM에서 사용하기 위한 것임) 또는 플로피 디스크(궁극적으로 플로피 디스크 드라이브에서사용하기 위한 것임) 등의 분리형 저장 장치에 저장되어 있거나 인터넷 또는 기타 컴퓨터 네트워크를 통해 다운로드될 수 있다. 따라서, 본 발명은 컴퓨터에서 사용하기 위한 컴퓨터 프로그램 제품으로서 구현될 수 있다. 게다가, 비록 본 명세서에 기술한 여러가지 방법들이 편리하게도 소프트웨어에 의해 선택적으로 기동 또는 재구성되는 범용 컴퓨터에서 구현되고 있지만, 당업자라면 이러한 방법들이 하드웨어로, 펌웨어로, 또는 요구되는 방법 단계들을 수행하도록 구성된 더 특수한 장치에서 수행될 수 있음도 잘 알 것이다.
본 발명의 특정의 실시예들에 대해 도시하고 기술하였지만, 본 명세서의 개 시 내용에 기초하여 변경 및 수정이 본 발명의 범위 및 그에 대한 광의의 특징들을 벗어나지 않고 행해질 수 있으며 따라서 첨부된 청구항들이 본 발명의 진정한 사상 및 범위 내에 속하는 것처럼 이러한 모든 변경 및 수정을 청구항의 범위 내에 포함한다는 것이 당업자에게는 명백할 것이다. 게다가, 본 발명은 첨부된 청구항들에 의해서만 한정되는 것임을 잘 알 것이다. 당업자라면 의도적으로 특정 개수의 청구항 요소가 소개되어 있는 경우 이러한 의도는 청구항에 명식적으로 기재되고 있으며, 이러한 기재가 없는 경우 이러한 제한은 존재하지 않음을 잘 알 것이다. 이해에 도움을 주기 위한 것인 비제한적인 일례로서, 이하의 첨부된 청구항들은 청구항 요소들을 소개하기 위해 "적어도 하나"와 "하나 이상"이라는 도입 문구의 사용을 포함하고 있다. 그렇지만, 이러한 문구의 사용은 청구항 요소를 불특정 단수 한정사를 사용하여 청구항 요소를 소개한 것이 이러한 소개된 청구항 요소를 포함하는 임의의 특정의 청구항을 이러한 요소를 단지 하나만 포함하는 발명으로 한정함을 암시하는 것으로 해석되어서는 안된다. 심지어 동일한 청구항이 "하나 이상" 또는 "적어도 하나"이라는 도입 문구 및 불특정 단수 한정사를 포함하고 있더라도, 특정 한정사를 갖는 청구항에서의 사용에 있어서도 마찬가지이다.
본 발명은 운영 체제의 실행 이미지를 분리형 운영 체제 모듈 상에 저장하는 방법 및 시스템을 제공한다. 이 모듈은 먼저 제1 컴퓨터 시스템에 삽입된다. 운영 체제는 제1 컴퓨터 상에 설치되고, 운영 체제의 실행이 개시되며, 운영 체제의 실행 이미지가 분리형 모듈의 비휘발성 메모리 유닛에 저장된다. 분리형 모듈은 제1 컴퓨터 시스템으로부터 분리되고 제2 컴퓨터 시스템으로 삽입되며, 이 경우 운영 체제의 실행 이미지가 제2 컴퓨터 시스템에 포함된 하나 이상의 프로세서들에 의해 액세스가능한 제2 메모리로 로드된다. 운영 체제는 이어서 그 프로세서들에 의해 실행된다. 사용자는 제조업자의 웹 사이트에 접속하여 업데이트를 다운로드하거나 또는 분리형 운영 체제를 업데이트를 위해 제조업자에게 보냄으로써 운영 체제를 업데이트할 수 있다.

Claims (24)

  1. 운영 체제를 분리형 모듈 상에 저장하는 방법으로서,
    상기 분리형 모듈을 제1 컴퓨터 시스템에 삽입하는 단계로서, 상기 분리형 운영 체제 모듈은 상기 분리형 모듈을 전원이 켜진 컴퓨터 시스템에 접속하도록 구성되어 있는 인터페이스 및 비휘발성 메모리 유닛을 포함하는 것인 삽입 단계, 및
    운영 체제의 실행 이미지를 상기 분리형 운영 체제 모듈의 상기 비휘발성 메모리 유닛에 저장하는 단계로서, 상기 저장 후에, 상기 운영 체제는 상기 분리형 모듈을 제2 컴퓨터 시스템에 삽입할 때 상기 제2 컴퓨터 시스템에 의해 수행되도록 구성되어 있는 것인 저장 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 운영 체제의 실행 이미지를 상기 분리형 운영 체제 모듈의 상기 비휘발성 메모리 유닛에 저장하는 단계 전에,
    상기 운영 체제를 상기 제1 컴퓨터 시스템에 설치하는 단계,
    상기 운영 체제를 실행시키는 단계,
    상기 실행 중인 운영 체제의 실행 이미지를 저장하는 단계, 및
    상기 운영 체제의 상기 저장된 실행 이미지를 상기 분리형 모듈에 포함된 상기 비휘발성 메모리 유닛으로 전송하는 단계를 포함하는 방법.
  3. 제1항에 있어서, 상기 분리형 모듈을 상기 제1 컴퓨터 시스템으로부터 분리하고 상기 분리형 운영 체제 모듈을 상기 제2 컴퓨터 시스템의 사용자에게 출하하 는 단계를 더 포함하는 방법.
  4. 제3항에 있어서, 상기 분리형 모듈을 상기 제2 컴퓨터 시스템 상에 위치한 물리적 인터페이스에 삽입하는 단계,
    상기 분리형 모듈의 상기 물리적 인터페이스로의 상기 삽입을 검지하는 단계,
    상기 운영 체제의 상기 실행 이미지를 상기 분리형 모듈로부터 상기 제2 컴퓨터 시스템 내에 포함된 하나 이상의 프로세서들이 액세스가능한 제2 메모리로 로드하는 단계, 및
    상기 운영 체제를 상기 프로세서들에 의해 실행하는 단계를 더 포함하는 방법.
  5. 제4항에 있어서, 상기 제2 컴퓨터 시스템을 컴퓨터 네트워크에 접속시키는 단계,
    상기 제2 컴퓨터 시스템으로부터 운영 체제 업데이트의 요청을 전송하는 단계,
    상기 요청에 응답하여 상기 제2 컴퓨터 시스템에서 상기 운영 체제의 제2 실행 이미지를 수신하는 단계, 및
    상기 제2 실행 이미지를 사용하여 상기 비휘발성 메모리 유닛 상에 저장된 상기 운영 체제의 상기 실행 이미지를 업데이트하는 단계를 더 포함하는 방법.
  6. 제5항에 있어서, 상기 제2 컴퓨터 시스템에서 상기 운영 체제 업데이트에 대응하는 지불 금액(payment amount)을 수신하는 단계, 및
    상기 컴퓨터 네트워크를 통해 상기 제2 컴퓨터 시스템으로부터 상기 지불 금액에 대응하는 전자 지불(electronic payment)을 전송하는 단계를 더 포함하는 방법.
  7. 제6항에 있어서, 상기 컴퓨터 네트워크를 통해 상기 제2 컴퓨터 시스템을 제조업자의 웹사이트에 접속시키는 단계를 더 포함하며,
    상기 지불 정보는 상기 웹 사이트로부터 수신되고,
    상기 전자 지불은 상기 제조업자의 웹사이트로 전송되는 것인 방법.
  8. 제4항에 있어서, 상기 제2 컴퓨터 시스템으로부터 상기 분리형 모듈을 분리하는 단계,
    상기 분리형 모듈을 운영 체제 서비스 제공자에게 발송하는 단계로서, 상기 서비스 제공자가 상기 분리형 모듈 상의 상기 운영 체제의 상기 실행 이미지를 업데이트하는 것인 발송 단계, 및
    상기 서비스 제공자로부터, 상기 업데이트된 운영 체제를 갖는 상기 분리형 모듈을 수취하는 단계를 더 포함하는 방법.
  9. 운영 체제를 분리형 운영 체제 모듈 상에 저장하는 정보 처리 시스템으로서,
    하나 이상의 프로세서들,
    상기 프로세서들에 접속되어 있고, 상기 운영 체제의 실행 이미지를 저장하도록 구성되어 있는 제1 메모리 유닛, 및
    상기 하나 이상의 프로세스들에 접속되어 있고, 상기 분리형 운영 체제 모듈을 수납하도록 구성되어 있는 분리형 운영 체제 모듈 인터페이스를 포함하며,
    상기 분리형 운영 체제 모듈은 제2 메모리 유닛을 포함하고,
    상기 하나 이상의 프로세서들은 상기 운영 체제의 상기 실행 이미지를 상기 제1 메모리 유닛으로부터 상기 제2 메모리 유닛으로 전송하는 것을 용이하게 하도록 구성되어 있으며,
    상기 전송 후에, 상기 운영 체제는 상기 분리형 모듈을 제2 정보 처리 시스템에 삽입할 때 이 제2 정보 처리 시스템에 의해 수행되도록 구성되어 있는 것인 정보 처리 시스템.
  10. 제9항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 운영 체제를 상기 제1 메모리 유닛으로 처음으로 로딩하는 것,
    상기 운영 체제의 상기 실행 이미지를 생성하기 위해 상기 운영 체제를 실행하는 것, 및
    상기 운영 체제의 상기 이미지를 상기 분리형 운영 체제 모듈 상의 상기 제2 메모리 유닛으로 전송하는 것
    을 용이하게 하도록 구성되어 있는 것인 정보 처리 시스템.
  11. 제9항에 있어서, 상기 분리형 운영 체제 모듈은,
    상기 분리형 운영 체제 모듈 인터페이스로부터 분리되도록 구성되어 있으며,
    상기 제2 정보 처리 시스템의 사용자에게 출하되도록 구성되어 있는 것인 정보 처리 시스템.
  12. 제11항에 있어서, 상기 분리형 운영 체제 모듈은 또한
    상기 제2 정보 처리 시스템의 제2 분리형 운영 체제 모듈 인터페이스에 삽입되도록 구성되어 있고,
    상기 제2 분리형 운영 체제 모듈 인터페이스에 의해 검지되도록 구성되어 있으며,
    상기 제2 정보 처리 시스템의 제3 메모리 유닛으로 상기 분리형 운영 체제 모듈의 상기 제2 메모리 유닛 상에 저장된 상기 운영 체제의 상기 실행 이미지를 전송하도록 구성되어 있고,
    상기 제3 메모리 유닛은 상기 제2 정보 처리 시스템의 제2 세트의 하나 이상의 프로세서들에 의해 액세스가능하며,
    상기 제2 세트의 하나 이상의 프로세서들은 상기 운영 체제의 상기 전송된 실행 이미지를 실행하는 동작을 하는 것인 정보 처리 시스템.
  13. 제12항에 있어서, 상기 제2 세트의 하나 이상의 프로세서들은,
    컴퓨터 네트워크에의 접속을 용이하게 하도록 구성되어 있고,
    운영 체제 업데이트의 요청의 전송을 용이하게 하도록 구성되어 있으며,
    상기 요청에 응답하여 상기 운영 체제의 제2 실행 이미지의 수신을 용이하게 하도록 구성되어 있고,
    상기 제2 실행 이미지를 사용하여 상기 제2 메모리 유닛 상에 저장된 상기 운영 체제의 상기 실행 이미지의 업데이트를 용이하게 하도록 구성되어 있는 것인 정보 처리 시스템.
  14. 제13항에 있어서, 상기 제2 세트의 하나 이상의 프로세서들은 또한
    상기 운영 체제 업데이트의 비용에 대응하는 지불 금액의 수신을 용이하게 하도록 구성되어 있고,
    컴퓨터 네트워크를 통해 상기 지불 금액에 대응하는 전자 지불의 전송을 용이하게 하도록 구성되어 있는 것인 정보 처리 시스템.
  15. 제14항에 있어서, 상기 제2 세트의 하나 이상의 프로세서들은 또한
    상기 컴퓨터 네트워크를 통해 제조업자의 웹사이트에의 접속을 용이하게 하도록 구성되어 있으며,
    상기 지불 정보는 상기 제조업자의 웹사이트로부터 수신되고,
    상기 전자 지불은 상기 제조업자의 웹사이트로 전송되는 것인 정보 처리 시스템.
  16. 제11항에 있어서, 상기 분리형 운영 체제 모듈은,
    상기 제2 분리형 운영 체제 모듈 인터페이스로부터 분리되도록 구성되어 있고,
    상기 분리형 운영 체제 모듈 상의 상기 운영 체제의 상기 실행 이미지를 업데이트하는 운영 체제 서비스 제공자로 발송되도록 구성되어 있으며,
    상기 제2 분리형 운영 체제 모듈 인터페이스에 재접속되도록 구성되어 있는 것인 정보 처리 시스템.
  17. 컴퓨터 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체로서, 상기 컴퓨터 프로그램은,
    분리형 운영 체제 모듈 인터페이스와 통신하게 하는 명령으로서, 상기 분리형 운영 체제 모듈 인터페이스는 분리형 운영 체제 모듈을 수납하도록 구성되어 있고 상기 분리형 운영 체제 모듈은 비휘발성 메모리 유닛을 포함하는 것인 통신 명령, 및
    운영 체제의 실행 이미지를 상기 분리형 운영 체제 모듈의 상기 비휘발성 메모리 유닛 상에 저장하게 하는 명령으로서, 상기 저장 후에 상기 운영 체제는 상기 분리형 모듈을 컴퓨터 시스템에 삽입할 때 상기 컴퓨터 시스템에 의해 수행되도록 구성되어 있는 것인 저장 명령을 포함하는 기록 매체.
  18. 제17항에 있어서, 상기 컴퓨터 프로그램은,
    상기 운영 체제의 실행 이미지를 제1 메모리 유닛으로 로드하게 하는 명령,
    상기 운영 체제를 실행하게 하는 명령, 및
    상기 운영 체제의 상기 실행 이미지를 상기 제1 메모리 유닛으로부터 상기 분리형 모듈의 상기 비휘발성 메모리 유닛으로 전송하게 하는 명령을 더 포함하는 것인 기록 매체.
  19. 제17항에 있어서, 상기 분리형 운영 체제 모듈은,
    상기 분리형 운영 체제 모듈 인터페이스로부터 분리되도록 구성되어 있고,
    상기 컴퓨터 시스템의 사용자에게 출하되도록 구성되어 있는 것인 기록 매체.
  20. 제19항에 있어서, 상기 분리형 운영 체제 모듈은 또한
    제2 컴퓨터 시스템의 제2 분리형 운영 체제 모듈 인터페이스에 삽입되도록 구성되어 있고,
    상기 제2 분리형 운영 체제 모듈 인터페이스에 의해 검지되도록 구성되어 있으며,
    상기 운영 체제의 상기 실행 이미지를 상기 분리형 운영 체제 모듈로부터 상기 제2 컴퓨터 시스템 내에 포함된 하나 이상의 프로세서들에 의해 액세스 가능한 제2 메모리로 전송하도록 구성되어 있고,
    상기 제2 컴퓨터 시스템은 상기 운영 체제의 상기 전송된 실행 이미지를 실행하도록 구성되어 있는 것인 기록 매체.
  21. 제20항에 있어서, 상기 제2 컴퓨터 시스템은,
    컴퓨터 네트워크에 접속되도록 구성되어 있고,
    운영 체제 업데이트의 요청을 전송하도록 구성되어 있으며,
    상기 요청에 응답하여 상기 운영 체제의 제2 실행 이미지를 수신하도록 구성되어 있고,
    상기 제2 실행 이미지를 사용하여 상기 분리형 운영 체제 모듈 상에 저장된 상기 운영 체제의 상기 실행 이미지를 업데이트하도록 구성되어 있는 것인 기록 매체.
  22. 제21항에 있어서, 상기 제2 컴퓨터 시스템은,
    상기 운영 체제 업데이트에 대응하는 지불 금액을 수신하도록 구성되어 있고,
    상기 지불 금액에 대응하는 전자 지불을 상기 컴퓨터 네트워크를 통해 전송하도록 구성되어 있는 것인 기록 매체.
  23. 제22항에 있어서, 상기 제2 컴퓨터 시스템은 상기 컴퓨터 네트워크를 통해 제조업자의 웹사이트에 접속되도록 구성되어 있으며,
    상기 지불 정보는 상기 웹사이트로부터 수신되고,
    상기 전자 지불은 상기 제조업자의 웹사이트로 전송되는 것인 기록 매체.
  24. 제19항에 있어서, 상기 분리형 운영 체제 모듈은,
    상기 제2 컴퓨터 시스템으로부터 분리되도록 구성되어 있고,
    상기 분리형 운영 체제 모듈 상의 상기 운영 체제의 상기 실행 이미지를 업데이트하는 운영 체제 서비스 제공자로 발송되도록 구성되어 있으며,
    상기 서비스 제공자에 의해 운영 체제가 업데이트되어 다시 발송되도록 구성되어 있는 것인 기록 매체.
KR1020040061716A 2003-08-14 2004-08-05 삽입형 휴대용 운영 체제 모듈의 제조 및 업데이트 시스템및 방법 KR100641665B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/641,363 2003-08-14
US10/641,363 US7225440B2 (en) 2003-08-14 2003-08-14 System and method for manufacturing and updating insertable portable operating system module

Publications (2)

Publication Number Publication Date
KR20050018753A KR20050018753A (ko) 2005-02-28
KR100641665B1 true KR100641665B1 (ko) 2006-11-03

Family

ID=34136324

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040061716A KR100641665B1 (ko) 2003-08-14 2004-08-05 삽입형 휴대용 운영 체제 모듈의 제조 및 업데이트 시스템및 방법

Country Status (4)

Country Link
US (1) US7225440B2 (ko)
JP (1) JP4608265B2 (ko)
KR (1) KR100641665B1 (ko)
CN (1) CN1275152C (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100671153B1 (ko) * 2001-04-25 2007-01-17 엘지전자 주식회사 디바이스 드라이버 설치방법
US7225448B2 (en) 2003-08-14 2007-05-29 Lenovo (Singapore) Pte. Ltd. System and method for hibernating application state data on removable module
US7225440B2 (en) 2003-08-14 2007-05-29 International Business Machines Corporation System and method for manufacturing and updating insertable portable operating system module
US7120789B2 (en) * 2003-08-14 2006-10-10 International Business Machines Corporation System and method for portable on-demand central processing unit
US7032053B2 (en) * 2003-08-14 2006-04-18 International Business Machines Corporation System and method for loading, executing, and adapting a portable running operation system from a removable module to multiple computer systems
US20050038879A1 (en) * 2003-08-14 2005-02-17 International Business Machines Corporation System and method for discovery of remote device driver functionality and interface
US7308584B2 (en) * 2003-08-14 2007-12-11 International Business Machines Corporation System and method for securing a portable processing module
DE10358019A1 (de) * 2003-12-11 2005-07-14 Siemens Ag Verfahren zur Aktualisierung eines Automatisierungssystems
US20050235281A1 (en) * 2004-04-19 2005-10-20 Telefonaktiebolaget L M Ericsson (Publ) Combined software installation package
KR100792786B1 (ko) * 2005-08-26 2008-01-14 이철호 백업 이미지 파일을 이용한 컴퓨터의 최적화 운영체제 복구방법
KR100810473B1 (ko) * 2006-03-08 2008-03-07 김예진 운영체계 소스 공급 경로를 가변 시키는 멀티유저 환경의제공 방법 및 그에 따른 컴퓨터 시스템
JP4969301B2 (ja) * 2006-05-09 2012-07-04 株式会社リコー コンピュータ装置
DE102006057708A1 (de) * 2006-12-07 2008-06-12 Sick Ag Systemarchitektur und Verfahren zum sicheren Aktualisieren von Firmware
CN101645964B (zh) * 2008-08-08 2013-06-05 深圳富泰宏精密工业有限公司 移动终端及其快速显示图形的方法
US9424017B2 (en) * 2008-08-29 2016-08-23 Red Hat, Inc. Live operating system installation for Universal Serial Bus devices
KR100989191B1 (ko) * 2009-12-23 2010-10-20 주식회사 노바칩스 유에스비3.0 프로토콜로 통신하는 이동식 저장 장치 및 이를 포함하는 컴퓨터 시스템
JP5602424B2 (ja) 2009-12-24 2014-10-08 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US20120042113A1 (en) * 2010-08-12 2012-02-16 Robert Lee Mobile computing appliance for hosting a portable, bootable medium
US8819672B2 (en) * 2010-09-20 2014-08-26 International Business Machines Corporation Multi-image migration system and method
US8789034B1 (en) * 2011-12-31 2014-07-22 Parallels IP Holdings GmbH Method for updating operating system without memory reset
US9286496B2 (en) 2012-10-08 2016-03-15 Hand Held Products, Inc. Removable module for mobile communication terminal
TW201415365A (zh) * 2012-10-15 2014-04-16 Askey Computer Corp 作業系統更新的方法及手持電子裝置
US20140380292A1 (en) * 2013-06-25 2014-12-25 Xiaomi Inc. Method, device, and storage medium for upgrading operating system
CN104298531A (zh) * 2014-10-31 2015-01-21 南京酷派软件技术有限公司 操作系统的应用方法、操作系统的应用装置及终端
KR102369319B1 (ko) * 2015-11-17 2022-03-03 삼성전자주식회사 전자 장치 및 전자 장치의 핸드오프 기능 제공 방법
KR102278811B1 (ko) * 2015-12-02 2021-07-19 삼성전자주식회사 모바일 장치를 이용한 호스트 장치의 부팅 방법
CN106572104A (zh) * 2016-10-28 2017-04-19 鄢碧珠 一种安全的移动式数据存储方法
CN108270846A (zh) * 2017-12-19 2018-07-10 西安电子科技大学 一种云环境下支持安全操作系统动态部署的便携式装置
JP7053979B2 (ja) * 2018-06-29 2022-04-13 株式会社Pfu 情報処理装置、情報処理方法、及びプログラム
RU2739866C2 (ru) * 2018-12-28 2020-12-29 Акционерное общество "Лаборатория Касперского" Способ обнаружения совместимых средств для систем с аномалиями

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980050678A (ko) * 1996-12-21 1998-09-15 구자홍 네트워크 컴퓨터의 데이터 저장 장치 및 방법
US5815706A (en) 1992-02-07 1998-09-29 Dell Usa, L.P. Computer system with plug-in override of system ROM
KR20000009369A (ko) * 1998-07-23 2000-02-15 윤종용 피씨카드를장착가능한컴퓨터시스템및그것의부팅방법
KR100247952B1 (ko) 1997-04-11 2000-03-15 윤종용 이동단말시스템의부팅제어장치및방법
KR20030003611A (ko) * 2001-07-03 2003-01-10 (주)싸이버뱅크 대용량 메모리를 가지는 휴대형 단말 장치 및 그 동작 방법
KR20030060342A (ko) * 2002-01-08 2003-07-16 엘지전자 주식회사 개인 휴대 정보 단말기의 부팅 방법
KR20050022708A (ko) * 2003-08-29 2005-03-08 한국기계연구원 압착성형장치의 편심보정용 자가정렬 스테이지

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4590557A (en) 1983-09-12 1986-05-20 Pitney Bowes Inc. Method and apparatus for controlling software configurations in data processing systems
US4991085A (en) 1988-04-13 1991-02-05 Chips And Technologies, Inc. Personal computer bus interface chip with multi-function address relocation pins
US5311397A (en) 1992-08-06 1994-05-10 Logistics Management Inc. Computer with modules readily replaceable by unskilled personnel
US5392433A (en) 1992-09-25 1995-02-21 International Business Machines Corporation Method and apparatus for intraprocess locking of a shared resource in a computer system
JPH07219885A (ja) 1994-02-04 1995-08-18 Canon Inc 情報処理システム及び電子機器及び制御方法
US5625829A (en) 1994-03-25 1997-04-29 Advanced Micro Devices, Inc. Dockable computer system capable of symmetric multi-processing operations
US5694546A (en) * 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US5547283A (en) * 1994-11-01 1996-08-20 Kronberg; James W. Optical temperature sensor using thermochromic semiconductors
US5748912A (en) 1995-06-13 1998-05-05 Advanced Micro Devices, Inc. User-removable central processing unit card for an electrical device
US6385645B1 (en) 1995-08-04 2002-05-07 Belle Gate Investments B.V. Data exchange system comprising portable data processing units
JP3386640B2 (ja) 1995-09-29 2003-03-17 株式会社東芝 コンピュータシステムおよびこのシステムで使用される拡張ユニット
US5694600A (en) * 1996-02-09 1997-12-02 Iomega Corporation Methods and apparatus for booting a computer having a removable media disk drive
US5923897A (en) 1996-04-01 1999-07-13 Microsoft Corporation System for adapter with status and command registers to provide status information to operating system and processor operative to write eject command to command register
US6292941B1 (en) * 1996-04-30 2001-09-18 Sun Microsystems, Inc. Operating system installation
US5974473A (en) 1996-06-14 1999-10-26 Texas Instruments Incorporated System for controlling insertion, locking, and removal of modules by removing plurality of device drivers for module to be removed from BIOS and informing BIOS of module removal
US6029183A (en) 1996-08-29 2000-02-22 Xybernaut Corporation Transferable core computer
US6141711A (en) 1996-12-19 2000-10-31 National Semiconductor Corporation Method and apparatus to enable insertion/ejection of a device in a computer system while maintaining operation of the computer system and application software
US6041372A (en) 1996-12-30 2000-03-21 Intel Corporation Method and apparatus for providing a processor module for a computer system
US6160813A (en) 1997-03-21 2000-12-12 Brocade Communications Systems, Inc. Fibre channel switching system and method
US6154834A (en) 1997-05-27 2000-11-28 Intel Corporation Detachable processor module containing external microcode expansion memory
US6170055B1 (en) 1997-11-03 2001-01-02 Iomega Corporation System for computer recovery using removable high capacity media
US6298443B1 (en) * 1998-04-24 2001-10-02 Dell Usa, L.P. Method and system for supplying a custom software image to a computer system
US6216185B1 (en) 1998-05-01 2001-04-10 Acqis Technology, Inc. Personal computer peripheral console with attached computer module
US6484309B2 (en) 1998-10-08 2002-11-19 Intel Corporation Enabling software designed for one operating system to operate on another operating system
US6195695B1 (en) * 1998-10-27 2001-02-27 International Business Machines Corporation Data processing system and method for recovering from system crashes
US6438622B1 (en) 1998-11-17 2002-08-20 Intel Corporation Multiprocessor system including a docking system
US6772328B1 (en) 1999-06-18 2004-08-03 Samsung Electronics Co., Ltd. Dynamic initialization of processor module via motherboard interface
US6516372B1 (en) 1999-09-29 2003-02-04 Silicon Graphics, Inc. Partitioning a distributed shared memory multiprocessor computer to facilitate selective hardware maintenance
US6735708B2 (en) 1999-10-08 2004-05-11 Dell Usa, L.P. Apparatus and method for a combination personal digital assistant and network portable device
KR100462591B1 (ko) 1999-11-10 2004-12-20 삼성전자주식회사 휴대형 컴퓨터의 도킹 시스템
US6473789B1 (en) 1999-11-23 2002-10-29 Inventec Corporation Notebook/desktop docking system allowing both peripheral sharing and parallel processing
US6215705B1 (en) 2000-02-10 2001-04-10 Advanced Micro Devices, Inc. Simultaneous program, program-verify scheme
US6505258B1 (en) 2000-02-29 2003-01-07 Compaq Information Technologies Group, L.P. Comprehensive interface between bios and device drivers to signal events
US6594721B1 (en) 2000-02-29 2003-07-15 Hewlett-Packard Development Company, L.P. Surprise hot bay swapping of IDE/ATAPI devices
US6549968B1 (en) 2000-03-31 2003-04-15 Intel Corporation Context transferring between portable computer processor and docking station processor upon docking and undocking
US6668318B1 (en) 2000-05-31 2003-12-23 Xybernaut Corp. System and method for loading one of a plurality of operating systems and adjusting the operating frequency accordingly using transferable core computer that recognizes a system environment
US6636918B1 (en) 2000-06-29 2003-10-21 International Business Machines Corporation Mobile computing device and associated base stations
EP1176500A1 (en) 2000-07-28 2002-01-30 Hewlett-Packard Company, A Delaware Corporation Method and apparatus for job preview in printer device
US6421232B2 (en) 2000-08-02 2002-07-16 Xybernaut Corporation Dual FPD and thin client
KR20020066151A (ko) 2001-02-09 2002-08-14 한국통신정보기술 주식회사 개방형 gis 기반의 공간정보 유통시스템 및 방법
US6728734B2 (en) 2001-06-11 2004-04-27 Sony Corporation Method and apparatus to facilitate data updates between a base processing unit and a portable processing unit
KR100557554B1 (ko) * 2001-06-21 2006-03-03 주식회사 하이닉스반도체 불소가 치환된 벤질 카르복실레이트 그룹을 포함하는단량체 및 이를 함유한 포토레지스트 중합체
US6552454B2 (en) * 2001-07-12 2003-04-22 Generac Power Systems, Inc. Generator structure incorporating multiple electrical generator sets
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
US20030112585A1 (en) 2001-12-13 2003-06-19 Silvester Kelan Craig Multiprocessor notebook computer with a tablet PC conversion capability
US20030137689A1 (en) 2002-01-18 2003-07-24 General Instrument Corporation. Remote printer driver server
US7533101B2 (en) * 2002-03-04 2009-05-12 Microsoft Corporation Extensible loader
US7379982B2 (en) * 2002-04-15 2008-05-27 Bassam Tabbara System and method for custom installation of an operating system on a remote client
US7043588B2 (en) 2002-05-24 2006-05-09 Dell Products L.P. Information handling system featuring multi-processor capability with processor located in docking station
CN1141831C (zh) 2002-06-24 2004-03-10 西安大唐电信有限公司 一种语音短信息传输系统
US7225440B2 (en) 2003-08-14 2007-05-29 International Business Machines Corporation System and method for manufacturing and updating insertable portable operating system module
US7555568B2 (en) 2004-02-28 2009-06-30 Huang Evan S Method and apparatus for operating a host computer from a portable apparatus

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815706A (en) 1992-02-07 1998-09-29 Dell Usa, L.P. Computer system with plug-in override of system ROM
KR19980050678A (ko) * 1996-12-21 1998-09-15 구자홍 네트워크 컴퓨터의 데이터 저장 장치 및 방법
KR100247952B1 (ko) 1997-04-11 2000-03-15 윤종용 이동단말시스템의부팅제어장치및방법
KR20000009369A (ko) * 1998-07-23 2000-02-15 윤종용 피씨카드를장착가능한컴퓨터시스템및그것의부팅방법
KR20030003611A (ko) * 2001-07-03 2003-01-10 (주)싸이버뱅크 대용량 메모리를 가지는 휴대형 단말 장치 및 그 동작 방법
KR20030060342A (ko) * 2002-01-08 2003-07-16 엘지전자 주식회사 개인 휴대 정보 단말기의 부팅 방법
KR20050022708A (ko) * 2003-08-29 2005-03-08 한국기계연구원 압착성형장치의 편심보정용 자가정렬 스테이지

Also Published As

Publication number Publication date
JP4608265B2 (ja) 2011-01-12
US7225440B2 (en) 2007-05-29
CN1275152C (zh) 2006-09-13
US20050038960A1 (en) 2005-02-17
KR20050018753A (ko) 2005-02-28
CN1595356A (zh) 2005-03-16
JP2005071347A (ja) 2005-03-17

Similar Documents

Publication Publication Date Title
KR100641665B1 (ko) 삽입형 휴대용 운영 체제 모듈의 제조 및 업데이트 시스템및 방법
US7225448B2 (en) System and method for hibernating application state data on removable module
US7032053B2 (en) System and method for loading, executing, and adapting a portable running operation system from a removable module to multiple computer systems
US7308584B2 (en) System and method for securing a portable processing module
US7600216B2 (en) Method for executing software applications using a portable memory device
EP2483799B1 (en) Portable desktop device and method of host computer system hardware recognition and configuration
US6804774B1 (en) Software image transition aid comprising building a disk image based on identified hardware
JP3714119B2 (ja) Biosプリブート環境を利用したユーザ認証型ネットワークosブート方法及びシステム
EP1991927B1 (en) Portable device comprising a bios setting
US7313685B2 (en) Unattended BIOS recovery
US7353375B2 (en) Method and apparatus for managing processor availability using a microcode patch
US8554686B2 (en) Anti-hack protection to restrict installation of operating systems and other software
US8245022B2 (en) Method and system to support ISCSI boot through management controllers
US7797526B2 (en) Service processor host flash update over LPC
CN1399194A (zh) 创建和使用具有选定功能的操作系统的方法和系统
WO2006023274A2 (en) System and method for configuring computer for operation
KR100678974B1 (ko) 보안성과 사용자의 편의성을 고려한 컴퓨터 시스템의재부팅 방법 및 장치
US7120789B2 (en) System and method for portable on-demand central processing unit
JP2011150499A (ja) シンクライアントシステム、シンクライアント端末およびシンクライアントプログラム
US20050038945A1 (en) System and method for interfacing a portale processing unit with computer system
US20050038879A1 (en) System and method for discovery of remote device driver functionality and interface
CN102681859A (zh) 一种从USB大容量存储设备中启动Windows操作系统的方法
Halsey Startup and Repair Troubleshooting
KR20040097852A (ko) 자체 업그레이드 기능을 갖는 클라이언트 컴퓨터 및 그 업그레이드 방법

Legal Events

Date Code Title Description
A201 Request for examination
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: 20121009

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131010

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141008

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee