KR100417778B1 - 서로 다른 컴퓨터 상에서 동시에 실행되는 동일 디스크상의 다수의 운영 체제를 지원하는 방법 및 시스템 - Google Patents

서로 다른 컴퓨터 상에서 동시에 실행되는 동일 디스크상의 다수의 운영 체제를 지원하는 방법 및 시스템 Download PDF

Info

Publication number
KR100417778B1
KR100417778B1 KR10-2001-0004896A KR20010004896A KR100417778B1 KR 100417778 B1 KR100417778 B1 KR 100417778B1 KR 20010004896 A KR20010004896 A KR 20010004896A KR 100417778 B1 KR100417778 B1 KR 100417778B1
Authority
KR
South Korea
Prior art keywords
partition
reservation
processors
system resource
shared system
Prior art date
Application number
KR10-2001-0004896A
Other languages
English (en)
Other versions
KR20010082040A (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 KR20010082040A publication Critical patent/KR20010082040A/ko
Application granted granted Critical
Publication of KR100417778B1 publication Critical patent/KR100417778B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • 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/4416Network booting; Remote initial program loading [RIPL]
    • 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
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 동일한 공유 시스템 리소스로부터 다수의 운영 체제를 동시에 서로 다른 컴퓨터 상에 실행하기 위한 방법 및 시스템을 제공한다. 이것은 예를 들어, 지속적인 기본적(elemental) 디스크 예약(reservation)을 사용함으로써 달성된다. 각각의 머신은 부트될 운영 체제의 파티션을 결정하기 위해 예약없이 마스터 부트 레코드를 판독한다. 각각의 머신은 운영 체제 부트 파티션에 억세스하기 위한 기본적인 배타적 기입 지속적 예약을 한다. 그 다음에는 각각의 머신이 운영 체제 파티션 자체에 억세스하기 위한 또 하나의 기본적인 배타적 기입 지속적 예약을 한다. 각각의 머신은 그들이 동일한 운영 체제를 실행할지라도 서로 다른 운영 체제에 할당된다. 이들 예약을 위한 고유 예약 키는 프로세서 ID, 클러스터 ID, 다중 프로세서 파티션 ID, 비균일 메모리 억세스 컴플렉스 ID, 및/또는 비균일 메모리 억세스 노드 ID 중 적어도 하나로부터 생성된다.

Description

서로 다른 컴퓨터 상에서 동시에 실행되는 동일 디스크 상의 다수의 운영 체제를 지원하는 방법 및 시스템{METHOD AND SYSTEM FOR SUPPORTING MULTIPLE OPERATING SYSTEMS ON THE SAME DISK RUNNING ON DIFFERENT COMPUTERS AT THE SAME TIME}
본 발명은 일반적으로 개선된 데이터 프로세싱 시스템에 관한 것으로, 특히 다수의 운영 체제를 지원하기 위한 방법 및 장치에 관한 것이다. 보다 구체적으로는, 본 발명은 동일한 물리적 디스크 상에 상주하는 다수의 운영 체제가 서로 다른 컴퓨터 상에서 동시에 실행가능하게 되는 방법을 제공하는 것이다.
운영 체제(OS)를 로딩하고 실행하는 것은 부트스트랩 프로그램을 사용하여 달성된다. 통상적으로, 운영 체제를 스타팅하는 것은 어떤 운영 체제가 로드되어야 하는지를 결정하는 "간단한" 부트 프로그램 및 선택된 운영 체제를 실제로 로드하는 보다 복잡한 부트 프로그램을 포함하는 2 단계 프로세스이다. 비휘발성 시스템 RAM(NVRAM)에 보통 저장되어 있는 간단한 부트 프로그램은 시스템 리소스 초기화를 수행하는데 사용된다. 특히, 간단한 부트 프로그램은 중앙 처리 장치(CPU) 내의 레지스터를 초기화하고 시스템 디스크 및 메모리용 콘트롤러와 같은 장치 콘트롤러를 초기화한다. 간단한 부트 프로그램은 메모리에서 판독하고 기입할 수 있고 시스템 디스크 상의 부트 블럭으로부터 로드할 수 있다. 부트 블럭은 마스크 부트 레코드(MBR)를 포함하고 시스템 디스크 드라이브의 섹터 0에 위치한다.
마스터 부트 레코드(MBR)는 시스템 디스크로부터 로드되고 파티션(partition) 테이블 및 소정의 실행가능한 코드를 포함한다. 마스터 부트 레코드 실행가능한 코드는 단일 액티브 파티션용 파티션 테이블을 스캔하고, 액티브 파티션으로부터의 제1 섹터를 메모리 내로 로드하고, 선택된 운영 체제용의 부트 코드인 이 코드를 실행한다. 이 운영 체제 부트 코드는 부트되고 있는 운영 체제를 로드하고 운영 체제를 정의된 방식으로 스타트시킨다.
하드 디스크가 예를 들어 MS-DOS 파티션, LINUX 파티션, Windows NT 파티션, 및 IBM OS/2 파티션을 포함하면, 사용자는 액티브 파티션을 변경시킴으로써 이들 시스템중 어느 것이 스타트되는지를 변경한다. 액티브 파티션은 이 정보를 불휘발성 RAM(NVRAM)에 저장함으로써 설정될 수 있다. 정상적으로 시스템 디스크 드라이브 상에 설치된 최종 운영 체제는 이 운영 체제가 부트되도록 NVRAM을 업데이트한다. 그러나 운영 체제는 서로 다른 운영 체제가 NVRAM 내의 액티브 파티션으로서 지정되게 하는 유틸리티 프로그램을 제공한다. 이것은 다음에 다음 리부트를 다른 운영 체제로 부트하는 것을 가능하게한다.
상기 방법이 사용자가 시스템 스타트업시 부트될 운영 체제를 선택하게 하지만, 이 방법은 서로 다른 머신 상의 2개 이상의 운영 체제가 동일한 시스템 디스크로부터 동일한 시간에 실행하게 하지는 못한다. 그러므로, 액티브 파티션으로서 예를 들어 OS/2 파티션을 갖는 공유 시스템 디스크를 사용하는 임의의 머신은 OS/2 운영 체제하에서 자체적으로 실행하여야 한다. 이것은 시스템의 융통성을 제한하고 파일 시스템의 타입과 같은, 억세스될 수 있는 시스템 리소스에 제한을 준다. 그러므로, 시스템 디스크 드라이브와 같이 공유 시스템 리소스에 억세스하기 위한 방법 및 시스템을 제공하여, 서로 다른 머신이 서로 다른 운영 체제를 실행시키고 적당한 시스템 리소스에 동시에 억세스하는 것이 유리하다.
본 발명은 동일한 공유 시스템 리소스로부터 다수의 운영 체제를 동시에 서로 다른 컴퓨터 상에 실행하기 위한 방법 및 시스템을 제공한다. 이것은 예를 들어, 지속적인 기본적 디스크 예약(reservation)을 사용함으로써 달성된다. 각각의 머신은 부트될 운영 체제의 파티션을 결정하기 위해 예약없이 마스터 부트 레코드를 판독한다. 각각의 머신은 운영 체제 부트 파티션에 억세스하기 위한 기본적인 배타적 기입 지속적 예약을 한다. 그 다음에는 각각의 머신이 운영 체제 파티션 자체에 억세스하기 위한 또 하나의 기본적인 배타적 기입 지속적 예약을 한다. 각각의 머신은 그들이 동일한 운영 체제를 실행할지라도 서로 다른 운영 체제에 할당된다. 이들 예약을 위한 고유 예약 키는 프로세서 ID, 클러스터 ID, 다중 프로세서 파티션 ID, 비균일 메모리 억세스 컴플렉스 ID, 및/또는 비균일 메모리 억세스 노드 ID 중 적어도 하나로부터 생성된다.
도 1은 본 발명이 구현될 수 있는 네트워크된 데이터 프로세싱 환경을 도시한 예시적인 도면.
도 2는 본 발명이 구현될 수 있는 데이터 프로세싱 시스템을 도시한 예시적인 도면.
도 3은 본 발명의 한 실시예에 따라 동일한 시스템 소스 상에서 동시에 실행되는 다수의 운영 체제를 도시한 예시적인 도면.
도 4는 본 발명의 한 실시예에 따라 새로운 운영 체제가 시스템에 부가될 때 마스터 부트 레코드를 업데이트하기 위한 예시적인 동작을 개략하는 플로우차트.
도 5는 본 발명의 한 실시예에 따라 부트 프로세스의 예시적인 동작을 개략하는 플로우차트.
<도면의 주요 부분에 대한 부호의 설명>
100: 분산 데이터 프로세싱 시스템
102: 네트워크
108: 컴퓨터
200: 데이터 프로세싱 시스템
202; 프로세서
204: 메인 메모리
300: 디스크 드라이브
304: 마스터 부트 레코드
본 발명의 신규한 특징이라고 믿어지는 특성은 첨부된 특허청구범위에 기술된다. 그러나, 양호한 사용 모드, 나아가 목적 및 장점 뿐만 아니라 본 발명 자체는 동일 참조 번호가 동일 소자를 표시한 첨부 도면을 참조하여 다음의 상세한 설명을 참조하면 더 분명해질 것이다.
전형적인 컴퓨터 시스템에서 시스템 디스크 드라이브는 디스크가 제조되는 때에 결정된 고정 크기 및 수의 물리적 섹터로 나누어진다. 디스크 드라이브 상의 파티션은 서로 인접한 섹터의 논리적 시퀀스이다. 다수의 운영 체제가 동일 디스크 드라이브 상에 상주하기 위해서, 운영 체제의 각각의 카피는 디스크상의 그 자체의 파티션에 할당된다. 이 예약은 배타적일 수 있고, 특정의 고유 키를 갖는 컴퓨터만이 할당된 파티션에 억세스할 수 있다는 것을 의미한다. 파티션 예약은 또한 지속적일 수 있고, 즉, 시스템의 하드 리셋과 같은 이니셔에이터(initiator) 고장에 대해 보호될 수 있다. 지속적인 예약은 그 예약이 해제될 때까지 디스크 드라이브에 의해 보유된다.
지속적인 예약은 또한 기본적일 수 있고, 그들은 하드 디스크의 인접한 섹터의 그룹을 예약할 수 있다는 것을 의미한다. 디스크의 예약된 부분 내의 데이터가 변경될 예정이면, 기본적인 지속적 예약은 기입 예약이다. 컴퓨터에 디스크의 부분 상의 기본적인 배타적 기입 지속적 예약을 허용하는 것은 그것의 고유 예약 키를 갖는 컴퓨터만이 디스크 드라이브의 그 일부에 억세스할 수 있다는 것을 의미한다. 비균일 메모리 억세스(NUMA)와 같은 단일 프로세서 머신에서, 이 키는 클러스터 ID, 다중 프로세서 파티션 ID, NUMA 컴플렉스 ID, 또는 NUMA 노드 ID를 포함 할 것이다. 이 키는 간단히 예약 키라고 한다.
이제 도면을 참조하면, 도 1은 본 발명이 구현될 수 있는 네트워크된 데이터 프로세싱 시스템을 도시한 예시적인 도면이다. 분산 데이터 프로세싱 시스템(100)은 예를 들어 근거리 통신망(LAN), 광역 통신망(WAN), 인터넷, 인트라넷 등과 같은 컴퓨터의 네트워크이다. 분산 데이터 프로세싱 시스템(100)은 다양한 장치들과 분산 데이터 프로세싱 시스템(100) 내에 함께 접속된 컴퓨터 간의 통신 링크를 제공하는데 사용되는 매체인 적어도 하나의 네트워크(102)를 포함한다. 네트워크(102)는 와이어 또는 광섬유 케이블과 같은 영구 접속, 또는 전화 접속을 통해 이루어지는 임시 접속을 포함할 수 있다.
도시된 예에서, 서버(104)는 저장 유닛(106)과 함께 네트워크(102)에 접속된다. 또한, 클라이언트(108, 110, 및 112)는 또한 부가 서버(114, 116, 및 118) 뿐만 아니라 네트워크(102)에 접속된다. 이들 클라이언트(108, 110, 및 112)는 예를 들어 퍼스널 컴퓨터 또는 네트워크 컴퓨터일 수 있다. 본원의 목적을 위해, 네트워크 컴퓨터는 네트워크에 결합된 또 하나의 컴퓨터로부터 프로그램 또는 다른 어플리케이션(application)을 수신하는 네트워크에 결합된 임의의 컴퓨터로 고려된다. 도시된 예에서, 서버(104)는 클라이언트(108-112)에 데이터 또는 어플리케이션을 제공할 수 있다. 클라이언트(108, 110 , 및 112)는 서버(104)에 대한 클라이언트이다. 분산 데이터 프로세싱 시스템(100)은 부가적인 서버, 클라이언트, 디스크(106 및 122)와 같은 공유 디스크 드라이브, 및 도시되지 않은 다른 장치들을 를 포함할 수 있다.
도시된 예에서, 분산 데이터 프로세싱 시스템(100)은 서로 통신하기 위해 TCP/IP 쌍(suite)의 프로토콜을 사용하는 네트워크 및 게이트웨이의 월드와이드 컬렉션을 나타내는 네트워크(102)와의 인터넷이다. 인터넷의 중심부에는 데이터 및 메시지를 루트하는 수천개의 상업, 정부, 교육 및 다른 컴퓨터 시스템으로 이루어진 주요 노드들 또는 호스트 컴퓨터들 간의 고속 데이터 통신 라인들의 근간이 있다. 물론, 분산 데이터 프로세싱 시스템(100)은 또한 예를 들어, 인트라넷, 근거리 통신망(LAN), 또는 광역 통신망(WAN)과 같은 여러가지 다른 형태의 네트워크로 구현된다. 예를 들어, LAN 상에서, 디스크 드라이브(106)는 클라이언트(108, 110, 112) 간에 공유될 수 있고, 이들 클라이언트들 각각은 디스크(106)에 상주하는 다른 운영 체제를 부트할 수 있다.
도 1은 본 발명의 구조적 제한으로서가 아니라, 예로서 의도된 것이다. 예를 들어, 본 발명과 관련하여, "컴퓨터"는 각각의 프로세서가 그 자신의 메모리 파티션을 갖는 다중 프로세서를 구비한 단일 머신 내의 프로세서들일 수 있다. 이 경우에, 다중 운영 체제는 각각의 운영 체제가 그 자신의 프로세서 및 그 자신의 파티션에 할당되는 "동일한 머신" 상에서 동시에 실행될 수 있다.
이제 도 2를 참조하면, 예시적인 블럭도가 본 발명이 구현될 수 있는 데이터 프로세싱 시스템을 도시하고 있다. 데이터 프로세싱 시스템(200)은 본 발명의 프로세스를 구현하는 코드 또는 명령이 위치될 수 있는 도 1 내의 컴퓨터(108)와 같은 컴퓨터의 일예이다. 데이터 프로세싱 시스템(200)은 주변 소자 상호접속 (PCI) 로컬 버스 아키텍처를 이용한다. 도시된 예가 PCI 버스를 이용하지만, 마이크로 채널 및 산업 표준 아키텍처(ISA)와 같은 다른 버스 아키텍처가 사용될 수 있다. 프로세서(202) 및 메인 메모리(204)는 PCI 브릿지(208)를 통해 PCI 로컬 버스(206)에 접속된다. PCI 브릿지(208)는 또한 통합된 메모리 제어기 및 프로세서(202)용캐시 메모리를 포함할 수 있다.
PCI 로컬 버스(206)와의 부가 접속은 직접적인 소자 상호접속 또는 애드-인(add-in) 보드를 통해 이루어질 수 있다. 도시된 예에서, 근거리 통신망(LAN) 어댑터(210), 소형 컴퓨터 시스템 인터페이스 SCSI 호스트 버스 어댑터(212), 및 확장 버스 인터페이스(214)는 직접적인 소자 접속에 의해 PCI 로컬 버스(206)에 접속된다. 반면에, 오디오 어댑터(216), 그래픽 어댑터(218), 및 오디오/비디오 어댑터(219)는 확장 슬롯 내에 삽입된 애드-인 보드에 의해 PCI 로컬 버스(206)에 접속된다. 확장 버스 인터페이스(214)는 키보드 및 마우스 어댑터(220), 모뎀(222), 및 부가 메모리(224)용 접속을 제공한다. SCSI 호스트 버스 어댑터(212)는 하드 디스크 드라이브(226), 테이프 드라이브(228), 및 CD-ROM 드라이브(230)에 접속을 제공한다. 전형적인 PCI 로컬 버스 구현은 3개 또는 4개의 PCI 확장 슬롯 또는 애드-인 접속기를 지원할 것이다.
운영 체제는 프로세서(202) 상에서 실행되고 도 2 내의 데이터 프로세싱 시스템(200) 내의 다양한 소자를 조정하고 제어한다. 운영 체제는 인터내셔널 비즈니스 머신즈 코포레이션으로부터 입수될 수 있는 OS/2, 마이크로소프트 코퍼레이션으로부터 입수될 수 있는 Window NT 등과 같이 상업적으로 입수할 수 있는 운영 체제일 수 있다. 운영 체제용 명령, 어플리케이션 또는 프로그램은 하드 디스크 드라이브(226)와 같은 저장 장치 상에 위치될 수 있고, 프로세서(202)에 의해 실행하기 위해 메인 메모리(204) 내로 로드될 수 있다. 본 발명에서 상세되는 바와 같이, 운영 체제는 도 1의 디스크(106)와 같이 네트워크상의 공유 디스크 드라이브상에 상주하고, 도 2에 도시된 컴퓨터 시스템이 이 공유 디스크 드라이브로부터 운영 체제를 로드하는 것이 또한 가능하다.
본 기술에 숙련된 자들은 도 2의 하드웨어가 구현에 따라 변화할 수 있다는 것을 알 것이다. 플래시 ROM(또는 등가적인 불휘발성 메모리) 또는 광 디스크 드라이브등과 같은 다른 내부적 하드웨어 또는 주변 장치가 도 2에 도시된 하드웨어에 부가하여 또는 그 대신에 사용될 수 있다. 또한, 본 발명의 프로세스는 멀티프로세서 데이터 프로세싱 시스템에 적용될 수 있다.
예를 들어, 네트워크 컴퓨터로 선택적으로 구성되는 경우, 데이터 프로세싱 시스템(200)은 선택적으로 포함하는 것을 표시하는 도 2의 점선으로 표시된 바와 같이 SCSI 호스트 버스 어댑터(212), 하드 디스크 드라이브(226), 테이프 드라이브(228), CD-ROM(230)을 포함하지 않을 수 있다. 그 경우에, 데이터 프로세싱 시스템(200)은 LAN 어댑터(210), 모뎀(222) 등과 같은 네트워크 통신 인터페이스를 포함할 수 있다. 또 하나의 예로서, 데이터 프로세싱 시스템(200)은 데이터 프로세싱 시스템(200)이 네트워크 통신 인터페이스를 포함하는지 여부에 따라, 네트워크 통신 인터페이스에 의존하지 않고 부트가능하도록 구성되는 독립형(stand-alone) 시스템일 수 있다. 도 2에 도시된 예와 위에 설명된 예는 구조적 제한을 함축하도록 의도된 것은 아니다. 예를 들어, 본 발명은 비균일 메모리 억세스(NUMA) 컴퓨터와 같이, 다중 프로세서 시스템에서 구현될 수 있다.
이제 도 3을 참조하면, 예시적인 도면은 본 발명의 양호한 실시예에 따라 동일한 디스크로부터 동시에 서로 다른 머신 상에서 실행되는 다수의 운영 체제를 도시한다. 도시된 예에서, 복수의 장치에 의해 억세스되는 시스템 리소스는 하드 디스크 드라이브(300)이나, 본 발명은 이러한 실시예에 제한되지 않는다. 기본적인 배타적 지속적 예약을 사용하여 분할(partitioned)될 수 있는 임의의 시스템 리소스가 본 발명의 취지 및 범위를 벗어나지 않고서 사용될 수 있다. 예를 들어, 시스템 리소스는 ZIP 디스크 드라이브, JAZ 디스크 드라이브, 재기입가능한 CD 디스크 등일 수 있다. 또한 도시된 컴퓨터 시스템은 비균일 메모리 억세스 컴퓨터와 같은 다수의 프로세서 시스템일 수 있다.
디스크 드라이브(300)는 간단히 하기 위해 예약 ID 1 내지 7로 도시된 복수의 머신에 의해 억세스된다. 디스크(300) 상에서 운영 체제를 실행하는 각각의 컴퓨터에는 그것의 운영 체제를 위한 별도의 파티션이 할당되고 이 파티션을 예약하기 위한 키로서 그것의 예약 ID를 사용한다. 도시된 예에서, 컴퓨터(302)는 부트 프로세스의 스타트시 마스터 부트 레코드(304)에 현재 억세스하고 있다. 컴퓨터(306)는 이미 마스터 부트 레코드를 판독하고 OS/2 오퍼레이팅을 부트하는지를 결정한다. 이것은 이제 OS/2 부트 파티션(308)을 실행한다. 컴퓨터(310)는 마이크로소프트 코포레이션의 제품인 Windows NT 운영 체제를 현재 실행하고 있다. 그것의 예약 ID (# 3)은 디스크(300) 상의 Windows NT 파티션(312)을 위한 기본적인 지속적 예약을 예약하기 위해 키로서 사용된다. 컴퓨터(314)는 리눅스를 실행하며 그것의 예약 ID (# 4)를 키로서 사용하여 디스크(300) 상의 리눅스 파티션(316)을 예약하였다. 컴퓨터(318)은 MS-DOS를 실행하고 그것의 예약 ID(#5)를 키로서 사용하여 디스크(300) 상의 MS-DOS 파티션(320)을 예약하였다. 컴퓨터(322)는 리눅스를 실행하나, 디스크(300) 상의 그것의 리눅스 파티션(324)은 컴퓨터(308)에 의해 예약된 리눅스 파티션(316)과 다르다는 것을 인식한다. 컴퓨터(326)는 OS/2를 실행하고 그것의 예약 ID(#7)을 키로서 사용하여 디스크(300) 상의 OS/2 파티션(328)을 예약하였다. 그러므로, 서로 다른 예약 ID 및 공유 디스크 드라이브 상의 서로 다른 파티션을 사용함으로써, 서로 다른 컴퓨터가 공유 디스크 드라이브로부터의 서로 다른 운영 체제를 동시에 실행할 수 있다.
도 3에서, 예약 ID는 간단한 정수로서 도시된다. 본 기술에 숙련된 자들이 알 수 있는 바와 같이, 실제 값은 보다 복잡하다. 또한, 도 3에서의 디스크 드라이브(300) 상의 파티션의 예시는 물리적 디스크 공간의 실제적인 상대적 양을 나타내지 않는다. 예를 들어, 마스터 부트 레코드는 디스크의 오직 하나의 섹터를 취할 수 있는 한편 운영 체제 파티션은 수만 개의 섹터를 취할 수 있다.
도 4를 참조하면, 플로우차트는 새로운 운영 체제가 본 발명의 양호한 실시예에 따라 시스템에 부가될 때 마스터 부트 레코드를 업데이트하기 위한 예시적인 동작을 개략하고 있다. 예를 들어, 도 3의 파티션(312, 316, 320, 324, 및 328)과 같은 운영 체제 파티션이 디스크 드라이브(300)에 부가될 때마다 마스터 부트 레코드내의 파티션 테이블은 변경되어야 한다. 운영 체제가 설치될 때, 디스크 드라이브(300)와 같은, 시스템 리소스 상의 파티션은 예약되고, 파티션 정보는 마스터 부트 레코드(304)에 부가된다. 2개의 운영 체제는 설치 과정 중에 동시에 마스터 부트 레코드를 수정하기를 시도하지 않고 그렇지 않은 경우에 마스터 부트 레코드 내의 파티션 테이블은 다수의 운영 체제에 대한 올바른 정보를 포함하지 않는다는 것은 중요하다.
운영 체제 또는 운영 체제 대신에 동작하는 유틸리티 프로그램은 마스터 부트 레코드 영역 상에 기본적인 배타적 지속적 예약을 한다(단계 400). 예약이 성공하지 않으면(단계 402: 아니오), 마스터 부트 레코드에 대한 수정은 실패하고(단계 404), 에러 신호가 운영 체제 설치 프로그램에 보내진다(단계 406). 운영 체제 부트 파티션 상의 예약이 성공하면(단계 402: 예), 운영 체제 또는 유틸리티 프로그램은 마스터 부트 레코드에 부트 파티션 정보를 부가한다(단계 408). 운영 체제 또는 유틸리티 프로그램은 다음에 마스터 부트 레코드 영역 상의 기본적인 배타적 기입 지속적 예약을 해제하고(단계 410) 마스터 부트 레코드의 수정은 종료한다.
본 기술에 숙련된 자가 알 수 있는 바와 같이, 도 4에 설명된 과정은 운영 체제에 의해 호출된 유틸리티 프로그램에 의해 수행될 수 있다. 이 방법을 사용하여, 유틸리티 프로그램에 대한 변경은 운영 체제 자체를 변경하는 것을 필요로 하지 않는다.
이제 도 5를 참조하면, 플로우 차트가 본 발명의 한 실시예에 따른 부트 프로세스의 예시적인 동작을 개략한다. 이 점에 있어서 2개 이상의 운영 체제는 동일한 시스템 리소스 상에 성공적으로 설치되었다고 가정한다. 도 3 내의 머신은 운영 체제를 부팅하는 다양한 스테이지에 도시된다. 컴퓨터(302)는 마스터 부트레코드(304)를 판독하고, 컴퓨터(306)는 OS/2 부트 파티션(308)을 판독하고, 컴퓨터(310, 314, 318, 322 및 326)는 부트 과정을 완료하였다.
초기에는, 부트 코드는 예약없이 시스템 리소스를 판독한다(단계 500). 다음에, 부트 코드는 시스템 리소스로 지속적인 예약 키를 등록한다(단계 502). 부트 코드는 마스터 부트 레코드(MBR)를 판독하고 NVRAM에 저장된 액티브 운영 체제 파티션 정보에 기초하여 부트될 운영 체제에 대한 파티션을 결정한다(504). 부트 코드는 다음에 운영 체제 부트 파티션 상에 기본적인 배타적 기입 지속적 예약을 한다(단계 506). 예약이 성공하지 않으면(단계 508: 아니오), 부트는 실패한다(단계 510).
운영 체제 상의 예약이 성공하면(단계 508: 예), 운영 체제 부트 파티션 내의 코드가 실행된다(단계 512). 운영 체제 부트 파티션은 운영 체제 파티션 상의 기본적인 배타적 기입 지속적 예약을 한다(단계 514). 예약이 성공하지 않으면(단계 516: 아니오), 부트는 실패한다(단계 518). 운영 체제 부트 파티션 상의 예약이 성공하면(단계 516: 예), 운영 체제 파티션 내의 코드가 실행된다(단계 520).
다수의 운영 체제가 서로 간섭하지 않기 위해서, 각각의 운영 체제는 고유 예약 키를 갖는다. 또한, 운영 체제 부트 프로세스의 완전성은 운영 체제 부트 코드가 동일한 디스크 드라이브로부터 동일한 운영 체제를 부팅하는 다른 머신 상에 부트 프로세스가 있을 수 있는 환경에서 운영 체제 파티션 상에 기본적인 지속적 예약을 위치하게 함으로써 보존된다. 다양한 운영 체제 파티션에 대한 파일 시스템 구성은 호환될 필요가 없다는 것에 주목하는 것은 중요하다. 부트 프로그램 각각이 마스트 부트 레코드에서의 정보를 정확하게 판독하고 번역할 수 있는 것이 필요로 하는 전부이다.
요약하면, 이들 운영 체제가 서로 다른 머신 상에서 실행할 때에도, 종래 기술에서, 2개 이상의 운영 체제가 동일한 디스크로부터 부트될 수 있었지만 동시에 실행되지 않았다. 본 발명에서 제시된 위에 설명된 방식으로 지속적인 기본적 디스크 예약을 사용함으로써, 동일한 시스템 리소스로부터의 서로 다른 머신상에서 동시에 실행하는 다수의 운영 체제를 갖는 것이 가능하다.
본 발명의 상기 설명이 시스템 디스크 드라이브를 공유하는 복수의 컴퓨터를 가정하였지만, 본 발명은 이러한 실시예에 제한되지 않는다. 특히, 본 발명에서 개발된 방법은 각각의 프로세서가 그 자신의 메모리 파티션을 갖고 그 자신의 운영 체제하에서 동작하는 다중 프로세서를 갖는 머신으로 확장될 수 있다. 이 경우에, 다수의 운영 체제는 각각의 운영 체제가 그 자신의 프로세서 및 그 자신의 메모리 파티션에 할당되는 "동일한 머신" 상에서 동시에 실행될 수 있다. 본 기술에 숙련된 자들이 알 수 있는 바와 같이, 유사한 셋업이 NUMA(비균일 메모리 억세스) 컴플렉스에 대해 가능하다.
본 발명이 완전히 기능하는 데이터 프로세싱 시스템에 관련하여 설명되었지만, 본 기술에 숙련된 자들은 본 발명의 프로세스가 명령의 컴퓨터 판독가능 매체의 형태 및 다양한 형태로 분배될 수 있고 본 발명은 분배를 수행하는데 실제로 사용되는 신호 포함 매체의 특정 형태에 관계없이 동일하게 적용된다. 컴퓨터 판독가능 매체의 예는 플로피 디스크, 하드 디스크 드라이브, RAM, 및 CD-ROM 및 디지털 및 아날로그 통신 링크와 같은 전송형 매체를 포함한다.
본 발명의 설명은 예시 및 설명의 목적을 위해 제시되었지만, 개시된 형태로 발명이 제한되지 않는다. 다양한 변형 및 변화가 본 기술에 숙련된 자에게 분명하다. 예를 들어, 저장 영역 네트워크(SAN)은 본 발명에서 개략된 바와 같이 보다 공유되는 보다 성행하는 것이다. 본 발명의 원리를 실제 응용으로 보다 잘 설명하기 위해서 그리고 본 기술에 숙련된 자가 고려된 특정 사용에 맞게 다양한 변형을 갖는 다양한 실시예의 발명을 이해시키기 위해 선택 및 설명되었다.

Claims (16)

  1. 공유 시스템 리소스로부터 복수의 프로세서에 대한 복수의 운영 체제를 부팅하기 위한 방법에 있어서,
    상기 복수의 프로세서중 하나의 프로세서에 의해 상기 공유 시스템 리소스로부터 마스터 부트 레코드를 판독하여 사용될 상기 복수의 운영 체제중 하나의 운영 체제의 파티션을 결정하는 단계;
    운영 체제 부트 파티션에 억세스하기 위해 상기 프로세서에 의한 고유 예약 키를 사용하여 상기 공유 시스템 리소스의 일부를 예약하는 단계; 및
    운영 체제 파티션에 억세스하기 위해 상기 프로세서에 의한 상기 고유 예약 키를 사용하여 상기 공유 시스템 리소스의 일부를 예약하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 공유 시스템 리소스의 일부의 예약은 상기 공유 시스템 리소스 상의 섹터의 연속적인 시퀀스에 대한 기본적인 배타적 기입 지속적 예약에 의해 달성되는 방법.
  3. 제1항에 있어서, 상기 마스터 부트 레코드는 예약 없이 상기 공유 시스템 리소스로부터 상기 프로세서에 의해 초기에 판독되는 방법.
  4. 제1항에 있어서, 상기 운영 체제 부트 파티션 및 상기 운영 체제 파티션 상에 상기 공유 시스템 리소스의 일부를 예약하기 위한 상기 고유 예약 키는 프로세서 ID, 클러스터 ID, 다중 프로세서 파티션 ID, 비균일 메모리 억세스 컴플렉스 ID 및 비균일 메모리 억세스 노드 ID 중 적어도 하나로부터 생성되는 방법.
  5. 제1항에 있어서, 상기 시스템 리소스는 시스템 하드 디스크 드라이브, ZIP 디스크 드라이브, JAZ 디스크 드라이브, 재기입가능한 CD 디스크, 플렉서블 디스크 드라이브, 테이프 드라이브, 또는 유사한 장치 중 하나인 방법.
  6. 분산 데이터 프로세싱 시스템에서, 공유 시스템 리소스로부터 상기 분산 데이터 프로세싱 시스템내의 복수의 프로세서에 대한 복수의 운영 체제를 실행하기 위한 방법에 있어서, 상기 프로세서에 의해 구현되는,
    상기 복수의 프로세서를 위한 운영 체제를 식별하기 위해 상기 복수의 프로세서 각각에 의해 상기 공유 시스템 리소스로부터 마스터 부트 레코드를 판독하는 단계;
    상기 복수의 프로세서 각각의 고유 예약 키를 사용하여 운영 체제 부트 파티션에 억세스하는데 사용하기 위한 상기 공유 시스템 리소스의 일부를 상기 복수의 프로세서 각각에 의해 예약하는 단계; 및
    상기 예약 키를 사용하여 운영 체제 파티션에 억세스하기 위한 상기 공유 시스템 리소스의 일부를, 상기 공유 시스템 리소스로부터 상기 복수의 운영 체제를 동시에 실행하는 상기 복수의 프로세서 각각에 의해 예약하는 단계
    를 포함하는 방법.
  7. 데이터 프로세싱 시스템에서, 공유 시스템 리소스 상에 복수의 프로세서로부터의 복수의 운영 체제를 설치하기 위한 방법에 있어서,
    상기 복수의 프로세서중 하나의 프로세서가 상기 공유 시스템 리소스 상의 마스터 부트 레코드로의 배타적인 억세스를 예약하는 상기 복수의 운영 체제중 하나의 운영 체제를 설치하는 단계;
    상기 프로세서가 상기 마스터 부트 레코드 내의 파티션 테이블에 상기 운영 체제 부트 정보를 부가하는 단계; 및
    상기 프로세서가 상기 마스터 레코드로의 상기 배타적인 억세스를 해제하는 단계
    를 포함하는 방법.
  8. 제7항에 있어서, 상기 공유 시스템 리소스의 상기 마스터 부트 레코드로의 배타적인 억세스의 상기 예약은 상기 마스터 부트 레코드를 포함하는 상기 공유 시스템 리소스 일부에 대한 기본적인 배타적 기입 지속적 예약에 의해 달성되는 방법.
  9. 제7항에 있어서, 상기 마스터 부트 레코드 상의 기본적인 배타적 기입 지속적 예약이 실패하는 경우 에러 메시지가 운영 체제 설치 프로그램에 보내지는 방법.
  10. 공유 시스템 리소스로부터 복수의 프로세서에 대한 복수의 운영 체제를 부팅하기 위한 분산 데이터 프로세싱 시스템에 있어서,
    상기 복수의 프로세서중 하나의 프로세서가 상기 공유 시스템 리소스로부터 마스터 부트 레코드를 판독하여 부트될 상기 복수의 운영 체제중 하나의 운영 체제를 결정하기 위한 결정 수단;
    상기 프로세서가 고유 예약 키를 사용하여 운영 체제 부트 파티션에 억세스하기 위한 상기 공유 시스템 리소스의 일부를 예약하는 예약 수단; 및
    상기 프로세서가 상기 고유 예약 키를 사용하여 운영 체제 파티션에 억세스하기 위한 상기 공유 시스템 리소스의 일부를 예약하는 예약 수단
    을 포함하는 분산 데이터 프로세싱 시스템.
  11. 제10항에 있어서, 상기 공유 시스템 리소스의 일부의 예약은 상기 공유 시스템 리소스 상의 섹터의 연속적인 블럭에 대한 기본적인 배타적 기입 지속적 예약에 의해 달성되는 시스템.
  12. 제10항에 있어서, 상기 마스터 부트 레코드는 예약 없이 상기 공유 시스템 리소스로부터 상기 프로세서에 의해 초기에 판독되는 시스템.
  13. 제10항에 있어서, 상기 운영 체제 부트 파티션 및 상기 운영 체제 파티션 상에 상기 공유 시스템 리소스의 일부를 예약하기 위한 상기 고유 예약 키는 프로세서 ID, 클러스터 ID, 다중 프로세서 파티션 ID, 비균일 메모리 억세스 컴플렉스 ID 및 비균일 메모리 억세스 노드 ID중 적어도 하나로부터 생성되는 시스템.
  14. 공유 시스템 리소스로부터 분산 데이터 프로세싱 시스템내의 복수의 프로세서에 대한 복수의 운영 체제를 실행하기 위한 분산 데이터 프로세싱 시스템에 있어서,
    상기 복수의 프로세서를 위한 운영 체제를 식별하기 위해 상기 복수의 프로세서 각각에 의해 상기 공유 시스템 리소스로부터 마스터 부트 레코드를 판독하기 위한 판독 수단;
    상기 복수의 프로세서 각각의 고유 예약 키를 사용하여 운영 체제 부트 파티션에 억세스하는데 사용하기 위한 상기 공유 시스템 리소스의 일부를 상기 복수의 프로세서 각각에 의해 예약하기 위한 예약 수단; 및
    상기 예약 키를 사용하여 운영 체제 파티션에 억세스하기 위한 상기 공유 시스템 리소스의 일부를, 상기 공유 시스템 리소스로부터 상기 복수의 운영 체제를 동시에 실행하는 상기 복수의 프로세서 각각에 의해 예약하기 위한 예약 수단
    을 포함하는 분산 데이터 프로세싱 시스템.
  15. 데이터 프로세싱 시스템에서, 공유 시스템 리소스로부터 복수의 프로세서에 대한 복수의 운영 체제를 부팅하기 위한 프로그램을 저장하는 컴퓨터 판독 가능한 프로그램 기억 매체에 있어서, 상기 프로그램은,
    상기 복수의 프로세서중 하나의 프로세서가 상기 공유 시스템 리소스로부터 마스터 부트 레코드를 판독하여 부트될 복수의 운영 체제중 하나의 운영 체제를 결정하기 위한 명령;
    상기 프로세서가 고유 예약 키를 사용하여 운영 체제 부트 파티션에 억세스하기 위한 상기 공유 시스템 리소스의 일부를 예약하는 명령; 및
    상기 프로세서가 상기 고유 예약 키를 사용하여 운영 체제에 억세스하기 위한 상기 공유 시스템 리소스의 일부를 예약하는 명령
    을 포함하는 컴퓨터 판독 가능한 프로그램 기억 매체.
  16. 제15항에 있어서, 상기 고유 예약 키는 프로세서 ID, 클러스터 ID, 다중 프로세서 파티션 ID, 비균일 메모리 억세스 컴플렉스 ID, 및 비균일 메모리 억세스 노드 ID중 적어도 하나로부터 생성되는 컴퓨터 판독 가능한 프로그램 기억 매체.
KR10-2001-0004896A 2000-02-17 2001-02-01 서로 다른 컴퓨터 상에서 동시에 실행되는 동일 디스크상의 다수의 운영 체제를 지원하는 방법 및 시스템 KR100417778B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/506,232 2000-02-07
US09/506,232 US6532538B1 (en) 2000-02-17 2000-02-17 Method and system for supporting multiple operating systems on the same disk running on different computers at the same time

Publications (2)

Publication Number Publication Date
KR20010082040A KR20010082040A (ko) 2001-08-29
KR100417778B1 true KR100417778B1 (ko) 2004-02-05

Family

ID=24013734

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0004896A KR100417778B1 (ko) 2000-02-17 2001-02-01 서로 다른 컴퓨터 상에서 동시에 실행되는 동일 디스크상의 다수의 운영 체제를 지원하는 방법 및 시스템

Country Status (9)

Country Link
US (1) US6532538B1 (ko)
EP (1) EP1126369A3 (ko)
JP (1) JP3629518B2 (ko)
KR (1) KR100417778B1 (ko)
CN (1) CN1186715C (ko)
BR (1) BR0005790A (ko)
CA (1) CA2332084C (ko)
SG (1) SG97177A1 (ko)
TW (1) TW574668B (ko)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6622163B1 (en) * 2000-03-09 2003-09-16 Dell Products L.P. System and method for managing storage resources in a clustered computing environment
US6654902B1 (en) * 2000-04-11 2003-11-25 Hewlett-Packard Development Company, L.P. Persistent reservation IO barriers
WO2001080215A1 (en) * 2000-04-19 2001-10-25 Broadcom Corporation Apparatus and method for persistent display interface
US6804703B1 (en) * 2000-06-22 2004-10-12 International Business Machines Corporation System and method for establishing persistent reserves to nonvolatile storage in a clustered computer environment
US20020087854A1 (en) * 2000-11-10 2002-07-04 Haigh C. Douglas Diskless computer
US6810478B1 (en) * 2000-12-12 2004-10-26 International Business Machines Corporation System for remote booting of muntliple operating systems using chained bootstrap mechanism in a network
EP1274009A3 (en) * 2001-07-03 2003-12-03 Hewlett-Packard Company System and method to enable a legacy BIOS system to boot from a disk that includes EFI GPT partitions
KR100431142B1 (ko) * 2001-11-16 2004-05-12 인벤텍 코오포레이션 메뉴를 통한 다중 피디에이 운영 체제의 시동 방법 및시스템
US6904482B2 (en) * 2001-11-20 2005-06-07 Intel Corporation Common boot environment for a modular server system
CA2391717A1 (en) * 2002-06-26 2003-12-26 Ibm Canada Limited-Ibm Canada Limitee Transferring data and storing metadata across a network
US20040025045A1 (en) * 2002-07-30 2004-02-05 Sentry Technologies Pte, Ltd. Method for switching rapidly between computing modes
US6704810B1 (en) * 2002-08-27 2004-03-09 Lsi Logic Corporation Method for handling persistent reservation registrations in a storage device
US6813708B2 (en) * 2002-10-29 2004-11-02 Electronic Data Systems Corporation System and method for searching a BIOS for a type of computer network drive to boot and an operating system for migrating an operating system to a computer
US6895480B2 (en) * 2002-12-10 2005-05-17 Lsi Logic Corporation Apparatus and method for sharing boot volume among server blades
US6990573B2 (en) * 2003-02-05 2006-01-24 Dell Products L.P. System and method for sharing storage to boot multiple servers
US7290260B2 (en) * 2003-02-20 2007-10-30 International Business Machines Corporation Dynamic processor redistribution between partitions in a computing system
CN100336036C (zh) * 2003-07-18 2007-09-05 英业达股份有限公司 多种操作系统引导加载方法
US7499988B2 (en) * 2003-10-16 2009-03-03 International Business Machines Corporation Method for SAN-based BOS install volume group
FR2861867A1 (fr) * 2003-11-04 2005-05-06 France Telecom Differenciation de contexte d'utilisation dans un ordinateur de poche
DE102004004795B4 (de) * 2004-01-30 2008-06-05 Siemens Ag Mehrprozessorsystem und Verfahren zum Betrieb eines Mehrprozessorsystems
CN1658185A (zh) * 2004-02-18 2005-08-24 国际商业机器公司 相互独立地共存多个操作系统的计算机系统与其切换方法
CN100371922C (zh) * 2004-02-25 2008-02-27 英特维数位科技股份有限公司 具远程遥控特性的操作系统共享应用程序的架构及其方法
US20060047797A1 (en) * 2004-06-21 2006-03-02 Brown Norman P System and method for determining one of a plurality of shells based on user identification information
US20060070069A1 (en) * 2004-09-30 2006-03-30 International Business Machines Corporation System and method for sharing resources between real-time and virtualizing operating systems
US7484082B2 (en) 2004-11-18 2009-01-27 Samsung Electronics Co., Ltd. Method and apparatus for multiple boot environments within a hard disk drive
US7529921B2 (en) * 2004-12-17 2009-05-05 Cardiac Pacemakers, Inc. Fast initialization of medical device system having multiple operating systems
US8327068B2 (en) * 2005-03-03 2012-12-04 Panasonic Corporation Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method
WO2006095875A1 (ja) * 2005-03-10 2006-09-14 Nippon Telegraph And Telephone Corporation ネットワークシステム、ストレージ装置へのアクセス制御方法、管理サーバ、ストレージ装置、ログイン制御方法、ネットワークブートシステムおよび単位記憶ユニットのアクセス方法
CN101504702B (zh) * 2005-03-10 2012-05-30 日本电信电话株式会社 存储系统和存储控制方法
US7516315B2 (en) * 2005-03-18 2009-04-07 Research In Motion Ltd. Electronic device having an alterable configuration and methods of manufacturing and configuring the same
KR100750132B1 (ko) 2005-09-27 2007-08-21 삼성전자주식회사 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체
US7716465B2 (en) 2005-11-14 2010-05-11 Intel Corporation Method and apparatus for maintaining a partition when booting another partition while an address line is disabled
US7418586B2 (en) 2005-12-05 2008-08-26 Intel Corporation Method and apparatus for assigning devices to a partition
US7693811B2 (en) * 2006-02-28 2010-04-06 International Business Machines Corporation Generating unique identifiers for logical partitions
US7610481B2 (en) 2006-04-19 2009-10-27 Intel Corporation Method and apparatus to support independent systems in partitions of a processing system
US7797555B2 (en) 2006-05-12 2010-09-14 Intel Corporation Method and apparatus for managing power from a sequestered partition of a processing system
US20070288740A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for secure boot across a plurality of processors
US7594104B2 (en) 2006-06-09 2009-09-22 International Business Machines Corporation System and method for masking a hardware boot sequence
US20070288738A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for selecting a random processor to boot on a multiprocessor system
KR101121641B1 (ko) * 2006-07-03 2012-04-16 엘지전자 주식회사 시스템 동작 제어 장치 및 방법
US8156296B2 (en) 2006-07-28 2012-04-10 Dell Products L.P. System and method for managing resets in a system using shared storage
US8037291B2 (en) * 2007-01-29 2011-10-11 Hewlett-Packard Development Company, L.P. Master boot record management
TWI352909B (en) * 2007-09-05 2011-11-21 Htc Corp Method and system for supporting network sharing a
US8151266B2 (en) * 2008-03-31 2012-04-03 Qualcomm Incorporated Operating system fast run command
US7840730B2 (en) 2008-06-27 2010-11-23 Microsoft Corporation Cluster shared volumes
US8719473B2 (en) * 2008-09-19 2014-05-06 Microsoft Corporation Resource arbitration for shared-write access via persistent reservation
CN101894028B (zh) * 2009-05-20 2015-01-14 广州盛华信息技术有限公司 Linux内核镜像数据支持多种CPU的实现方法及装置
US8495626B1 (en) * 2009-10-08 2013-07-23 American Megatrends, Inc. Automated operating system installation
CN101833537A (zh) * 2010-04-23 2010-09-15 浪潮电子信息产业股份有限公司 一种基于ccnuma多处理器架构下的多结点初始化同步方法
US8930666B1 (en) 2010-06-14 2015-01-06 American Megatrends, Inc. Virtual disk carousel
US8495318B2 (en) 2010-07-26 2013-07-23 International Business Machines Corporation Memory page management in a tiered memory system
US8595463B2 (en) 2010-09-15 2013-11-26 International Business Machines Corporation Memory architecture with policy based data storage
CN102955704A (zh) * 2011-08-26 2013-03-06 联咏科技股份有限公司 软件执行方法及其电子装置
CN102999471B (zh) * 2011-09-09 2015-11-04 中国科学院声学研究所 一种多处理器共享非易失性存储卡的方法及系统
CN102609307A (zh) * 2012-03-07 2012-07-25 汉柏科技有限公司 多核多线程双操作系统网络设备及其控制方法
US9158662B1 (en) 2013-10-17 2015-10-13 American Megatrends, Inc. Automated operating system installation on multiple drives
WO2018078495A1 (en) 2016-10-26 2018-05-03 Simpleway Technologies Ltd. System and method for device interoperability and synchronization
CN109232297A (zh) * 2017-07-11 2019-01-18 中国医学科学院药物研究所 芬乐胺晶b型、制备方法和其组合物与用途
US11003369B1 (en) 2019-01-14 2021-05-11 Pure Storage, Inc. Performing a tune-up procedure on a storage device during a boot process
TWI736842B (zh) * 2019-02-18 2021-08-21 緯創資通股份有限公司 設定組態控制方法及其相關電腦系統
CN111045962B (zh) * 2019-12-18 2023-06-09 湖南国科微电子股份有限公司 一种sd卡数据保密方法、系统、设备及计算机介质
CN112562104A (zh) * 2020-11-26 2021-03-26 东南大学 一种可编程自适应单片式车载单元

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4747040A (en) 1985-10-09 1988-05-24 American Telephone & Telegraph Company Dual operating system computer
US4747080A (en) * 1985-11-12 1988-05-24 Nippon Telegraph & Telephone Corporation Semiconductor memory having self correction function
US5367688A (en) * 1987-09-04 1994-11-22 Digital Equipment Corporation Boot system for distributed digital data processing system
US5146568A (en) * 1988-09-06 1992-09-08 Digital Equipment Corporation Remote bootstrapping a node over communication link by initially requesting remote storage access program which emulates local disk to load other programs
US5278973A (en) 1989-03-27 1994-01-11 Unisys Corporation Dual operating system computer
GB2272085A (en) 1992-10-30 1994-05-04 Tao Systems Ltd Data processing system and operating system.
JP3088269B2 (ja) * 1995-07-26 2000-09-18 日本電気通信システム株式会社 コンピュータネットワークシステム及びそのオペレーティングシステムの版数管理方法
US5870554A (en) * 1996-04-01 1999-02-09 Advanced Micro Devices, Inc. Server selection method where a client selects a server according to address, operating system and found frame for remote booting
US5960175A (en) * 1996-04-01 1999-09-28 Advanced Micro Devices, Inc. Identification and selection of a desired server from a plurality of servers of varying protocols on the same network via a single boot ROM
US5848367A (en) * 1996-09-13 1998-12-08 Sony Corporation System and method for sharing a non-volatile memory element as a boot device
US6647508B2 (en) * 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US6178503B1 (en) * 1998-09-11 2001-01-23 Powerquest Corporation Managing multiple operating systems on a single computer
US6330669B1 (en) * 1998-11-30 2001-12-11 Micron Technology, Inc. OS multi boot integrator

Also Published As

Publication number Publication date
US6532538B1 (en) 2003-03-11
SG97177A1 (en) 2003-07-18
KR20010082040A (ko) 2001-08-29
CN1308288A (zh) 2001-08-15
BR0005790A (pt) 2001-11-27
CA2332084A1 (en) 2001-08-17
CA2332084C (en) 2006-08-01
JP2001249812A (ja) 2001-09-14
JP3629518B2 (ja) 2005-03-16
CN1186715C (zh) 2005-01-26
TW574668B (en) 2004-02-01
EP1126369A2 (en) 2001-08-22
EP1126369A3 (en) 2006-08-30

Similar Documents

Publication Publication Date Title
KR100417778B1 (ko) 서로 다른 컴퓨터 상에서 동시에 실행되는 동일 디스크상의 다수의 운영 체제를 지원하는 방법 및 시스템
US10261800B2 (en) Intelligent boot device selection and recovery
US6996706B1 (en) Booting an operating system or running other pre-boot code from a file stored under a different operating system
US7107330B1 (en) Data processing system and method for distributing a device driver to a plurality of client computer systems each executing different operating systems
KR101903818B1 (ko) 가상 디스크 스토리지 기술
US7617391B2 (en) Method and apparatus for dynamically selecting one of multiple firmware images for booting an I/O controller
CN111819545A (zh) 分布式计算系统中的虚拟机的动态迁移
US20070180206A1 (en) Method of updating a duplicate copy of an operating system on the same disk
US6658563B1 (en) Virtual floppy diskette image within a primary partition in a hard disk drive and method for booting system with virtual diskette
US20080256530A1 (en) System and Method for Determining Firmware Compatibility for Migrating Logical Partitions
US20080126792A1 (en) Systems and methods for achieving minimal rebooting during system update operations
JPH09120390A (ja) 高稼働率コンピュータ・システム
US8539214B1 (en) Execution of a program module within both a PEI phase and a DXE phase of an EFI firmware
KR100393721B1 (ko) 컴퓨터기억장치의시뮬레이션방법
US12050927B2 (en) Techniques for concurrently supporting virtual NUMA and CPU/memory hot-add in a virtual machine
US6574705B1 (en) Data processing system and method including a logical volume manager for storing logical volume data
JPH11175378A (ja) Ramディスクを使用するためのシステムおよび方法
KR20050056221A (ko) 선호 메모리 친화도를 위한 시스템 및 방법
US6701332B1 (en) Cluster file system multi-volume root support
CN111913753A (zh) 一种windows系统云迁移中启动方式的变更方法及系统
CN110851183B (zh) 在多处理器体系结构中快速启动处理器的方法
US20080004857A1 (en) Restoring base configuration on software testing computer
US7103767B2 (en) Method and apparatus to support legacy master boot record (MBR) partitions
US7210033B1 (en) Method, system, and computer-readable medium for enabling multi-segmented recovery of basic input output system program code in a computer system
MXPA01001732A (en) Method and system for supporting multiple operating systems on the same disk running on different computers at the same time

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: 20101210

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee