KR100430468B1 - 운영체제의 초기화 및 재시작 방법 및 장치 - Google Patents

운영체제의 초기화 및 재시작 방법 및 장치 Download PDF

Info

Publication number
KR100430468B1
KR100430468B1 KR10-2000-7012023A KR20007012023A KR100430468B1 KR 100430468 B1 KR100430468 B1 KR 100430468B1 KR 20007012023 A KR20007012023 A KR 20007012023A KR 100430468 B1 KR100430468 B1 KR 100430468B1
Authority
KR
South Korea
Prior art keywords
image
operating system
configuration
configurations
device driver
Prior art date
Application number
KR10-2000-7012023A
Other languages
English (en)
Other versions
KR20010043130A (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 KR20010043130A publication Critical patent/KR20010043130A/ko
Application granted granted Critical
Publication of KR100430468B1 publication Critical patent/KR100430468B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Jib Cranes (AREA)
  • Steering Control In Accordance With Driving Conditions (AREA)

Abstract

기초 시스템 구성의 구성 세팅의 가상 이미지를 만듦으로써 운영체제가 능률적으로 초기화되고 재시작될 수 있다. 상기 세팅은 저장되어서 예를들어, 이그제큐티브를 사용해서, 기초 구성으로 시스템을 초기화시키기 위해 사용될 수 있다. 기초구성은 하드웨어 및 소프트웨어 구성의 변화에 대응해서 자동적으로 변경될 수 있다. 상기 변화는 기초 구성정보에 저장된다. 충돌이 발생했을 때, 운영체제를 불필요하게 재부팅시킬 필요 없이 시스템을 재저장하기 위해서 가상 이미지가 사용될 수 있다.

Description

운영체제의 초기화 및 재시작 방법 및 장치{INITIALIZING AND RESTARTING OPERATING SYSTEMS}
처음에 컴퓨터 시스템이 켜질 때, 기초 입/출력 시스템 또는 "BIOS"는 동작을 시작한다. BIOS는 어떻게 키 스트로크를 해석하고, 어떻게 스크린에 문자열을 나타내고, 어떻게 다른 디바이스와 통신을 하는가등의 다수의 개인용 컴퓨터의 중요한 기능을 제어한다. BIOS는 사용자가 컴퓨터를 켤 때마다, 컴퓨터가 자신을 테스트하도록 명령하는 것이 전형적이다. 이를위해, BIOS는 파워 온 셀프 테스트 또는 "POST"를 사용한다.개인용 컴퓨터가 시작할 때는 이른바 "실모드(real mode)"로 들어가는 것이 전형적이다. 컴퓨터는 BIOS 코드를 가리키는 점프 명령을 포함하는 프로그램 명령을 보유하고 있는 특수 메모리 위치를 액세스한다. 개시시에, BIOS는 마이크로 프로세서가 시스템의 모든 구성요소를 실행해서 구성요소가 적절하게 동작하는가를 판정한다. 이후에, 인스톨된 임의의 확장 보드가 체크되고 마이크로 프로세서는 실제 부팅과정을 초기화한다. 부팅과정 동안 BIOS 코드는, 마이크로 프로세서가 플로피, 하드 디스크 또는 CD-ROM드라이브의 제 1 섹터를 판독하는 방법을 마이크로 프로세서에 지시하는 코드의 섹션으로 점프하도록 명령할 수 있다. 이후에, 마이크로 프로세서는 실제 컴퓨터의 연산을 시작시키는 운영체제를 로드한다.
아마도, 윈도우운영체제가 개인용 컴퓨터에서 가장 많이 사용되는 운영체제일 것이다. 이는 상이한 컴퓨터에도 적용할 수 있고 임의의 주어진 컴퓨터 시스템 상에서의 하드웨어의 교체에도 적용할 수 있는 "오픈" 시스템이다. 적어도, 일부는 상기 오픈에 기인해서, 윈도우운영체제가 시작하는데 상당한 시간이 걸릴 수 있다. 일부 사용자에게는 이런 지연이 지루할 수 있고, 일부 경우에는 시작하는 과정이 시스템이 동작하는 방식을 방해할 수 있다.
예를들어, 셋톱(set top)개인용 컴퓨터는 아날로그 및 디지털 텔레비전 성능에, 인터넷 액세스등의 컴퓨터 성능을 결합시킨 텔레비전 시스템과 연관된 개인용 컴퓨터이다. 셋톱 개인용 컴퓨터의 사용자는 이런 컴퓨터가 일반 전자기구와 유사하다고 생각할 것이라고 예상된다. 그러므로, 사용자는 시작할 때의 지연 또는 그들의 텔레비전 스크린의 에러 메세지를 순순히 용납하지 않을 것이다. 예를들어, 픽처-내-픽처(picture-within-picture)시스템에 있는 사용자는 동시에 윈도우운영체제로 실행되는 게임을 하고 동시에 텔레비전을 본다. 만약 게임이 충돌하면, 에러 메세지가 스크린 상에 나타나서 정상적인 텔레비전의 시청을 방해하고 짧은 기간이라도, 텔레비전 화면이 컴퓨터의 충돌에 영향을 받는다.
실질적으로 이런 모든 경우에서, 사용자는 프로그램 동작의 시작이 빠르면 이익일 것이다. 이는 적어도 세가지 영역에서 발생한다. 우선, 컴퓨터를 켜는 경우, 가능한한 빨리 연산을 시작하는 것이 바람직하다. 두번째로, 프로그램에 에러 또는 충돌이 발생한 경우, 가능한 한 빨리 컴퓨터를 재시작하는 것이 바람직하다. 유사하게, 다양한 발행이 컴퓨터 연산 도중에 발생하는 경우에, 일부 사용자는 프로그램 소스를 식별하거나 프로그램 소스를 확인하는 것을 피하기 위해 간단하게 컴퓨터를 재시작하는 것이 바람직할 수 있다.
현재의 컴퓨터 시스템은 컴퓨터 시스템의 시작 속도를 향상시키는 성능을 가지고 있다. 예를들어, POST 경로의 전체 또는 일부를 통과하는 "패스트 온(fast on)" 성능을 사용하는 것이 공지되어 있다. 유사하게, 일부 랩탑 컴퓨터는 중지/재개 동작을 구비하고 있다. 필요하면, 사용자는 중지 버튼을 눌려서 컴퓨터상의 모든 세팅을 저장할 수 있다. 이후에 컴퓨터의 전원이 켜질 때, 컴퓨터는, 중지가 발생했었고, 컴퓨터가 중지되기 이전의 위치에서 즉시 동작을 재개했슴을 인식한다. 또한, 일부 컴퓨터는, 문제가 없다면 절대로 컴퓨터를 재부팅시킬 필요가 없는 "지속적인 온(always on)" 모드로 동작한다. 예를들어, 윈도우98은 절대 꺼지지 않는 컴퓨터 시스템과 유사한 진보된 전원 및 구성 인터페이스(ACPI:Advanced Configuration and Power Interface)기능을 구비할 것이다. 퍼스널 데이터 어시스턴트(PDAs)등의 일부 간단한 컴퓨터 시스템은 컴퓨터를 빠르게 시작시키는 실시간 운영체제(RTOS)로 공지된 것을 사용한다.
상기 설명된 어느 기술도 프로그램이 충돌했을 때, 도움을 주지 못한다. 상기 각각의 경우에서, 초기화 동작의 적어도 상당한 부분은 충돌후에 다시 행해진다. 이로인해, 상당한 지연을 유발해서, 시스템 사용자에게 시임레스(seamless) 어피어런스를 창출해주는 것을 방해한다. 따라서 예를들어, 충돌후에 또는 개시시에 특히 오픈 운영체제를 켤 때, 운영체제가 더 빠르게 초기화되고 재시작할 수 있게 하는 방법이 지속적으로 요구되고 있다. 유사하게, 셋톱 개인용 컴퓨터 등의 특정 컴퓨터 시스템과 연관해서, 정상의 컴퓨터 동작은 사용자에게 보이지 않게 하는 것이 바람직하다.
본발명은 일반적으로 운영체제에 관한 것으로, 더 상세하게는 예를들어, 시작시에 전원을 켠 이후 또는 충돌이 발생한 이후에 운영체제를 초기화하거나 재시작시키는 것이 관한 것이다.
도 1은 본 발명의 일 실시예를 도시한 다이어그램.
도 2는 신속한 초기화 프로그램의 흐름도.
도 3은 도 1에 도시된 본발명의 실시예를 구현할 수 있는 컴퓨터 시스템의 블록도.
도 4는 도 1에 도시된 기초 운영체제 이미지의 더 상세한 다이어그램.
도 5는 시스템 오류를 방지하는 프로그램의 흐름도.
도 6은 어떻게 기초 이미지가 생성되고 이용되는지를 도시한 개략도.
도 7은 본발명의 일실시예에 따른 운영체제의 초기화를 도시한 흐름도.
도 8은 도 2에 대응하는 다른 실시예를 도시한 흐름도.
도 9는 프로그램 충돌후에 본발명의 일 실시예의 동작을 도시한 흐름도.
본발명의 일태양에 따라서, 시스템의 오류를 방지하는 방법은 특정구성에 채용되는 운영체제용 이미지를 개발하는 것을 포함한다. 그 다음, 이미지가 저장된다. 프로그램 오류가 검출되면, 이미지는 시스템 메모리에 로드된다.
도 1을 참조로, 하드디스크 드라이브(10)는 윈도우운영체제등의 운영체제를 위한 복수의 파일을 저장할 수 있다. 전형적인 파일(12)은 사용자 파일, 레지스트리 파일 및 다른 운영체제 파일이 될 수 있다. 스페셜 디스크 파티션(14)은 새로운 기초 이미지(16) 및 기초 운영체제 이미지(18)용 영역을 제공한다.
기초 운영체제 이미지(18)는 처음의 컴퓨터 제조 설비에서 사전에 로드된, 저장된 가상 이미지로 이루어 질 수 있다. 이미지는 미리 정해진 하드웨어 및 소프트웨어 구성 파라미터의 세트를 갖춘 기초 컴퓨터 시스템용 시스템 구성을 캡쳐한다. 이들 파라미터는 처음의 구성에 따라서, 또는 컴퓨터 구성에 정확하게 일치하거나 일치하지 않을 수 있는 구성의 가상세트가 될 수 있는 것에 따라서 특정 컴퓨터에 적용될 수 있다. 예를들어, 기초 운영체제 이미지(18)는 초기 레지스터 세팅, 디바이스 세팅, 기초메모리 페이지 파일등을 포함한다. 즉, 전용 애플리케이션 및 사용자 셸을 포함해서 실행 시간에서 메모리에 로드되는 모든 것을 포함한다.
기본적으로, 이미지는 실제 또는 가상 컴퓨터 구성을 운영하기 위해서, 윈도우운영체제와 같은 운영체제용 모든 필수 파라미터를 포함한다. 이는 소정의 기초 컴퓨터 구성의 운영체제 부팅 시퀀스동안 전개되는 메모리, 및 레지스터에 관한 정보와 일치한다. 따라서, 이미지는 구성의 스냅샷에 비유될 수 있는, 소정의 특성을 가진 부팅한 후의 운영체제의 가상 이미지가 바람직하다. 이미지(18)는 부팅 이후에, 실제 또는 가상 베이스 머신의 메모리 및 레지스터에 관한 정보를 포함한다.
시작할 때, 스페셜 디스크 파티션(14)에 포함된 정보는 블록(20)단위로 지시되어서 시스템 메모리(22)에 전송된다. 이런 식으로, 사실상 기초 구성을 위해서 함수가 미리 실행되기 때문에 일반적인 운영체제 부팅 동작을 행할 필요가 없다. 그 결과, 운영체제 동작을 더 빠르게 시작할 수 있다.
윈도우운영체제등의 오픈 운영체제에서는 특히, 조사되어서 기록되어야 하는 구성의 수로 인해서 부팅시간이 상당할 수 있다. 일 실시예에서, 가상 이미지와 관련된 파일은 비교적 큰 파일이 될 수 있다. 예를들어, 다수의 상이한 하드웨어 및 소프트웨어 구성 세팅을 구비한 시스템에서, 이미지는 상대적으로 많은 수의 데이터를 구비할 수 있다. 따라서, 초고속으로 판독될 수 있는 파일을 부호화하기 위해 매우 낮은 레벨의 함수를 사용하는 것이 바람직하다. 이와같이하여, 윈도우운영체제등과 같은 시스템의 초기화시간은, 현재 하드디스크로부터의 데이터 전송율로 분단위의 시간 주기에서 초단위의 시간으로 줄어든다.
일실시예의 예시적인 동작은 텔레비전 튜너를 동작시키는 셋톱 개인용 컴퓨터 및 스크린 디스플레이상의 스크린의 비디오 게임을 포함한다. 만약 시스템을 재시작시킬 필요가 있다면, 시임레스 트랜지션이 발생하는 것이 바람직하다. 즉, 사용자가 비디오 게임 또는 텔레비전 화상에서의 큰 변화를 감지하지 않게, 시스템은 재시작되어야 한다.
운영체제의 이미지를 시스템 메모리에 빠르게 전송해서 현재의 세팅을 달성함으로써, 모든 디스플레이가 유지될 수 있다. 현재의 세팅정보는 애플리케이션(예를들어, 비디오 게임, 게임의 스코어, 텔레비전 튜너 및 채널 세팅)을 포함한다.
상기 이미지는 컴퓨터의 오픈 운영체제를 재시작하기 위해 요구되는 것보다 훨씬 더 빠르게 로드될 수 있었다. 이미지를 구현하도록 이미지 및 소프트웨어를 전송함으로써, 시스템은 사용자가 예상하는 방식으로 간섭없이, 빠르게 재시작될 수 있다.
도 1을 다시 참조하면, 스페셜 디스크 파티션(14)은 또한 새로운 기초 이미지(16)를 포함한다. 이미지(16)는 컴퓨터 시스템의 소프트웨어 및 하드웨어 구성이 변화된 이후에 기록될 수 있다. 컴퓨터 시스템은 운영체제를 재시작하고 다시 초기화할 필요가 있을 때마다, 새로운 소프트웨어 및 하드웨어 구성을 고려해서 운영체제가 빠르게 다시 초기화될 수 있도록 상기 변화를 메모리 시스템(16)에 자동적으로 저장하기 위해서 채용될 수 있다.
상기 어프로치는 현재의 오픈 운영체제에서 사용되는 것과는 상당히 상이하다. 상기 시스템은 오픈 시스템이기 때문에, 시스템이 재시작하거나 다시 초기화할 때마다, 모든 세팅 및 구성을 질의함으로써 시작된다. 이는 약간의 시간이 소요되지만, 많은 변화가, 다른 환경에 다른 운영체제를 요구하지 않고 설명될 수 있다는 확신을 준다. 도 1에 도시된 어프로치는 본질적으로 정반대의 방식으로 실행된다. 상기 어프로치는 초기 가상 이미지를 기록한 이후에 필요에 따라 다시 조절한다. 사실상, 상기 어프로치는 기초 구성을 가정하고, 복잡한 부팅 시퀀스의 필요를 피하기 위해 상기 이미지를 기록해서, 컴퓨터 시스템이 전개하기에 필요한 만큼 상기 이미지를 변경한다.
도 2에 도시된 바와 같이 고속 초기화 프로그램의 예시적인 흐름은 블록(120)에서 지시하는 바에 따라서, 오픈 운영체제를 제공하는 것부터 시작한다. 이후에, 기초 이미지는 블록(122, 124)에 나타난 바와 같이, 설명되는 바와 같이 전개되어서 이미지가 저장된다. 시스템이 부팅된 이후에(블록(126)), 이미지는 메모리에 로드된다(블록(128)). 이후에 블록(130)에 설명된 바와 같이, 제어가 운영체제로 넘어간다.
도 3에, 도시된 바와 같이, 예시적인 컴퓨터 시스템(23)은 시스템 메모리(22)에 접속된 프로세서(24)를 포함한다. 프로세서(24) 및 시스템 메모리(22)는 브릿지(26)를 통해서 버스(28)에 접속될 수 있다. 버스(28)는 주변 구성요소 상호접속(PCI) 버스를 포함한 컴퓨터 시스템에서 사용되는 임의의 종래의 버스가 될 수 있다. 제시된 실시예에서, TV튜너 또는 모니터등의 비디오 디바이스(30)는 버스(28)에 접속될 수 있다. 제 1 브릿지(32)는 버스(28)와 기타 버스(34)사이도 상호접속될 수 있다. 버스(34)는 종래의 익스텐디드 인더스트리 시스템 아키텍처(에이사:EISA)버스 또는 임의의 기타 종래의 버스가 될 수 있다. 제시된 실시예에서, 입/출력 인터페이스(36)는 버스(34), 마우스(40) 및 키보드(38)에 접속된다. 유사하게, 인터페이스(42)는 파일(12, 16, 18)을 포함하는 하드 드라이브(10)를 접속시킨다.
셋 톱 개인용 컴퓨터로 사용되는 것을 포함하여 기타 컴퓨터 시스템은 이미지(16, 18)를 사용하면서 초기화되고 재시작된다. 상기 디바이스는 상기 설명된 바와 동일한 일반적인 구성을 구비할 수 있지만, 예를들어, 비디오 기능(30)을 추가로 제공하는 디바이스를 구비할 수 있다. 셋 톱 컴퓨터는 인터넷 접속용 모뎀을 포함하고, 키보드, 플로피 또는 CD-ROM드라이브 등의 소망의 주변 장치와 접속하기 위해서 유니버설 시리얼 버스(USB)등의 버스를 채택한다. 셋 톱 컴퓨터는 일반적으로 모니터 등의 텔레비전 세트를 사용한다.
도 4를 참조로, 기초 이미지(18)는 가상 디바이스 드라이버(VxD:102), 애플리케이션 프로그램 인터페이스(API:100), 및 VxD 및 이그제큐티브(102)를 포함한다. 예를들어, VxD API(100)는 윈도우32비트 운영체제가 제공되는 디바이스 I/O 컨트롤 API가 될 수 있다. API(100)는 VxD(102)가 기초 이미지(18) 또는 새로운 이미지(16)를 생성하게 해서 VxD(102)를 초기화시킨다.
전용 애플리케이션(106)은 심지어 충돌이후에도, 시임레스 방식으로 유익하게 실행하는 중요한 프로그램 애플리케이션이다. 예를들어, 셋 톱 개인용 컴퓨터에서, 디지털 텔레비전 기능에 대응하는 애플리케이션 프로그램은 예를들어, 게임등의 윈도우애플리케이션에서 충돌이 발생하는 경우 사용자가 디지털 텔레비전 화면에서 충돌을 감지하지 못하도록 시임레스 방식으로 수행되는 것이 바람직하다. 상기 전용화된 애플리케이션(106)에는 이미지(16 또는 18), API(100), 및 VxD 및 이그제큐티브(102)가 로드된다.
가상 머신 메니저(VMM)는 32비트 윈도우운영체제에서 유용한 메니저이다. VxD(102)는 애플리케이션 상태 정보를 VMM(104)에 질문할 수 있다. 예를들어, VxD(102)는 충돌이 발생했는지를 감지하기 위해 VMM(104)를 사용할 수 있다. VMM 커맨드는 충돌이 검출되었음을 나타내는 일반적인 프로텍션 바이올레이션 또는 프로그램 에러 표시가 발행되었는가를 판정하기 위해서 후크된다.
레지스트리(112)는 윈도우레지스트리와 같은 상태 데이터 베이스이다. 레지스트리(112)는 이미지(16 또는 18)의 일부가 아니지만 하드웨어 및 소프트웨어구성의 최신 정보를 제공한다. 이는, (충돌이후의) 시스템을 충돌직전에 존재하던 모든 세팅으로 되돌리기 위해 이미지(18)에 의해 사용된다. 즉, 시스템이 다시 저장될 때, 레지스트리(112)로부터의 전용 애플리케이션(106)에 의해 얻어진 정보를 사용해서 최신 세팅은 리콜된다. 예를들어, 셋 톱 개인용 컴퓨터 애플리케이션에서, 충돌이 발생했을 때, 시청되고 있던 텔레비전 채널은 레지스트리(112)로 부터 획득될 수 있다.
공유 메모리(110)에 의해 기초 이미지(18)는 시스템 관리 모드(SMM) 메모리(108)와 통신하게 된다. 도 4에 도시된 바와 같이, SMM은 보호되는 시스템 관리 메모리 스페이스에서 실행된다. 상기 스페이스는 링(O)에 존재해서 잘 보호된다. 따라서, VxD 및 이그제큐티브(102)는 SMM메모리(108)에 직접 액세스할 수 없다. 공유 메모리(110)는 VxD(102)에 의해 액세스된다. 공유 메모리(110)는 윈도우운영체제 등의 운영체제에 인식되지 않는 것이 바람직하다. 공유 메모리(110)가 운영체제에 매핑되지 않는 경우, 운영체제는 액세스할 수 없다. 그러나, VxD(102)는 시스템 관리 모드 메모리(108)와 VxD 및 이그제큐티브(102)사이에 통신이 가능하게 하도록 메모리(110)에 액세스할 수 있다.
도 5에 도시된 바와 같이, 시스템 오류를 방지하는 일프로그램은 블록(132)에 나타난 바와 같은 기초 구성의 이미지를 전개시킴으로써 개시된다. 이미지는 저장된다(블록(134)). 프로그램 오류가 검출되는 경우(판정블록(136)), 이미지는 로드된다(블록(138)).
도 6을 참조하면, 이미지(16 또는 18)는 이그제큐티브(102)에 의해 생성된다. VxD 및 이그제큐티브(102)는 전용 애플리케이션 및 사용자 셀이 로드되는 포인트에서 호출되어서 웨이크업 신호의 VxD API(100)를 질문할 준비를 한다. 이미지는 일부 시스템 파일과 함께, 프로세서 및 디바이스의 하드웨어 레지스터를 포함한 머신의 완전한 메모리 상태를 포함할 수 있다. 이미지는 컴퓨터 제조플랜트에서 생성될 수 있지만, 새로운 이미지는 예를들어, 시스템 구성이 변화될 때, 동일한 VxD 호출을 만듦으로써 생성된다. 예를들어, 만일 새로운 전용 애플리케이션이 추가되면, 새로운 이미지를 저장하는 것이 바람직하다.
예를들어, 시스템이 충돌한 이후에, 이미지를 재저장하는 것이 바람직한 경우, SMM은 이미지를 시스템 메모리(22)에 로드해서 블록(108)에 도시된 바와 같이, 컨트롤을 VxD(102)에 패스한다. VxD(102)는 재저장을 완료한 후, 호출된 API(100)에 있는 엔트리에서 리턴한다. 전용 애플리케이션(106)은 사용준비를 해서 지속적인 실행이 가능해진다. 상기 애플리케이션(106)은 화살표(A)로 도시된 바와 같이, 각각 VxD 및 이그제큐티브(102)를 API(100)를 통해서 문의하고, 깨어 있음(awake)을 학습하고(learn), 구성상태를 검색한다. 이와같이, 충돌이전과 동일한 상태로 가상으로 인터럽트되지 않게 나타남으로써 사용자에게 전용 애플리케이션이 시임레스하게 수행된다는 것을 나타낸다.
사실상, VxD는 윈도우운영체제의 커널 레벨의 기능을 추가하거나 확장할 수 있다. 물론, 만약 운영체제 커널을 액세스한다면, 동일한 기능이 운영체제 커널에 기록될 수도 있다. VxD를 사용함으로써, 소망의 기능이 현재의 운영체제 커널에 추가될 수 있다.
도 7에 도시된 바와 같이, 운영체제 초기화와 관련된 가상 이미지의 사용은, DOS(디스크 운영체제)의 부팅이 완료된 이후에, 특정 실시예에서 시작할 수 있다. 필요하다면, 간결하게 한 DOS 부팅 시퀀스는 비핵심적인 다양한 동작을 제거함으로써 초기화될 수 있다. 예를들어, POST루틴의 일부 또는 전부는 제거될 수 있다. 블록(50)에 도시된 바와 같이, 초기화 시퀀스는 실 모드에서 빠른 DOS 부팅으로 시작한다. 블록(52)에서, 부팅 시퀀스는 보호 모드로 전환되어서 DOS부팅 시퀀스가 계속된다.
블록(54)에서, 운영체제 초기화 시퀀스가 시작한다. 처음에, 스텝(56)에 도시된 바와 같이, 시퀀스는 시스템 관리 모드(SMM)로 전환될 수 있다. 시스템 관리 모드는 잘 보호되는 어드레스 스페이스에서 운영되기 때문에, 이를 사용하는 것이 바람직할 수 있다. 게다가, SMM은 다수의 비교적 심각한 시스템 에러에도 불구하고 운영을 계속한다.
이후에 운영체제 초기화 시퀀스는 판정블록(58)에 도시된 바와 같이, 운영체제가 초기화된 것이 처음인가를 판정하도록 체크한다. 만약 그렇다면, 다음에 시스템이 운영체제가 초기화된 것이 처음이 아님을 인식하도록 처음의 로드 플래그는 변화되야 한다(블록(60) 참조).
만약 운영체제가 로드된 것이 처음이 아니라면, 판정블록(62)에서는 기초 구성으로부터 컴퓨터 구성에 어떤 변화가 있었는지 판정하기 위해 구성 데이터 베이스를 체크한다. 상기 기능을 실시하는 한가지 방법은 시스템이 다시 부팅될 때마다 플래그를 세팅하는 것이다. 이후에, 블록(62)에서의 체크는 새로운 기초 이미지가 전개될 것을 제안함으로써, 플래그가 재부팅이 발생했는가를 알릴 것인지를 판정할 수 있다. 만약 플래그가 세트되지 않는다면, 플로우는 아래로 점프해서, 이그제큐티브(102)가 실행된다(블록(68)). 만약 변화가 발생했다면, 새로운 기초 이미지는 64에서 생성되고 66에서 저장된다. 이후에 저장된 이미지는 시스템 메모리(22:블록(67))로 전송되고, 이그제큐티브가 실행된다(블록(68)).
실시간 이그제큐티브(102)는 스케쥴링을 하고, 프로그램을 로드하고, 상기 프로그램을 함께 실행한다. 이는 실시간 운영체제(RTOS) 기능의 일부를 포함하지 전부를 포함하는 것은 아니다. 또한 예를들어, RTOS는 외부의 디바이스를 관리한다. 이와같이, RTOS는 이그제큐티브를 포함한다.
실시간 이그제큐티브(102)는 기타 더 가시적인 운영하에서 링 O에서 실행된다. 이는 프로그램된 이후에, 설명되는 기능을 (사후에) 할 필요가 없는 운영체제 커널의 확장을 가능하게 하기 위해서 사용된다. 그러나 이그제큐티브 기능은 새로운 운영체제를 전개할 때 커널에 통합될 수 있었다. 이후에, 이그제큐티브는 스페셜 디스크 파티션(14)을 사용해서 운영체제 기능을 실시한다.
가상 이미지를 제공하는 것은 초기화시뿐만 아니라, 운영체제를 다시 시작할 필요가 있는 여러가지 상황에서 유용하다. 가장 중요한 것은 프로그램 에러 또는 충돌이다. 충돌은 하드웨어 또는 소프트웨어 문제에 의해 야기된 프로그램에러이다. 프로그램은 이상, 초기 루프, 결합 조건, 리소스 부족 또는 메모리 바이올레이션에 반응해서 충돌할 수 있다.
보통은, 애플리케이션이 충돌했을 때, 사용자는 문제를 해결하기 위해서 시스템의 전원을 끄고, 시스템을 재시작한다. 유사하게, 사용자가 주어진 상황에 대처할 수 없을 때, 사용자는 문제를 해결할 수 있는가를 확인하기 위해 컴퓨터 시스템을 간단히 재시작한다. 어떤 경우든지, 가상 이미지를 사용함으로써, 문제를 시임레스 방법으로 빠르고 효과적으로 해결할 수 있다. 사용자가 실제 어떤 일이 발생했는지를 거의 또는 전혀 인식하지 못하고, 실제로는 어떤 교정하는 행동도 취할 필요가 없는 것이 시임레스 솔루션이다.
도 8에 도시된 바와 같이, 상기 설명된 프로그램을 실시하는 소프트웨어 프로그램의 예는 기초 시스템 구성(블록(140))을 전개하는 단계를 포함한다. 이후에, 블록(142)에 도시된 바와 같이, 가상 디바이스 드라이버가 전개되어서, 블록(140)에서 전개된 이미지 및 블록(142)에서 전개된 가상 디바이스 드라이버는 블록(144)에 설명된 바와 같이 저장된다. 만약 빠른 활동화가 요구된다면, 블록(146, 148)에 도시된 바와 같이, 이미지 및 가상 디바이스 드라이버가 로드된다.
도 9를 참조로, 판정블록(70)에서 커널은 충돌이 있었는지를 판정한다. 만약, 커널이 동작해서 충돌이 있었다고 판정하면, 커널은 블록(72)에 도시된 바와 같이, 교정을 행할 수 있다. 만약 커널이 동작하지 않고 있거나 충돌이 검출되지 않는다면, 시스템 관리 모드가 충돌을 검출했는지를 판정하기 위해 판정블록(74)에서 체크가 행해진다.시스템 관리 모드는 다수의 상이한 충돌 상황을 감시하고 다양한 오류를 정기적으로 검출한다. 시스템 오류를 검출하는 다른 검출기는 심박 모니터, 왓취도그(watch dog) 타이머 충돌 검출기 등으로 다양하게 설명되는 것과 마찬가지로 사용될 수 있다. 각각의 경우, 속도의 저하, 버스 동작의 부족 또는 충돌과 연관된 일부 기타 시스템등의 어떤 오류의 징후를 검출한다.
만약 충돌이 판정블록(74)에서 검출되면, 시스템 관리 모드 또는 일부 다른 방식에 의해, 애플리케이션을 닫는것 만으로 문제를 극복할 수 있는지를 결정하기 위해서 다이어몬드(76)에서 체크가 행해진다. 만약 그렇다면, 애플리케이션은 블록(72)에서 닫혀진다. 시스템 관리 모드 또는 기타 충돌 검출기는 발생할 수 있는 다른 오류에 관한 정보를 제공하는 캐시를 가질 수 있다. 하드 디스크 드라이브(10)에 저장될 수 있는 캐시는 상기 오류를 처리하는 가장 좋은 방법에 관한 정보를 제공한다. 만약, 오류가 애플리케이션을 닫는 것 만으로도 문제를 극복할 수 있는 것이면, 정상적으로 상기 어프로치를 행하는 것이 바람직하다.
만약 기록된 정보에 의거할 때, 단지 애플리케이션을 닫는 것이 불가능하다면, 판정블록(78)에서, 이그제큐티브가 실행될지를 결정하는 체크를 한다. 다시, 가상 이미지를 사용함으로써 문제가 극복되는지를 결정하도록 캐시가 체크된다. 만약 그렇지 않다면, 플로우는 리셋(80)으로 이동해서 시스템이 종래의 방식으로 리셋된다. 만약 캐시 정보가 가상 이미지가 문제를 극복하기 위해 사용될 수 있다는 것을 알려오면, VxD는 블록(82)에 설명된 바와 같이, 초기화된다. 이후에, 가상 이미지는 블록(84)에서 호출되어서 이그제큐티브는 86에서 컨트롤을 책임진다. 이그제큐티브는 원래 시스템에 로드된 바에 의해 또는 상기 설명된 바와 같이 변형되어서, 변화된 시스템 구성에 적응하도록 소정의 가상 이미지를 사용해서 시스템을 재개시킨다.
이와같이, 기초 또는 새로운 기초 이미지의 가상 이미지는 운영체제의 초기화를 촉진시킬 뿐만아니라 충돌 처리에 유용한 툴을 제공한다. 게다가, 셋 톱 개인용컴퓨터를 포함한 다수의 애플리케이션에서, 가상 이미지는 사용자에게 시임레스한 인상을 주는 방식으로 정상적인 컴퓨터 동작을 수용할 수 있다. 즉, 사용자는시간 지연을 전혀 눈치챌 수 없거나 그렇지 않으면, 충돌의 일부 반대의 결과로 부터 효과적으로 보호받을 수 있다. 예를들어, 셋 톱 컴퓨터에서, 충돌은 빠르게 처리되기 때문에 정상적인 화면에 영향을 주지 않는다.
본발명이 일부 한정된 수의 실시예를 가지고 설명되었지만, 당업자는 다양한 수정 및 변형이 가능하다는 것을 인식할 것이다. 첨부된 청구의 범위는 본발명의 사상과 범위를 벗어나지 않는 수정 및 변형을 커버하도록 의도되었다.

Claims (21)

  1. 특정 구성에 적용되는 운영체제의 이미지를 전개시키는 단계;
    상기 이미지를 저장하는 단계;
    프로그램 오류를 검출하는 단계; 및
    프로그램 오류를 검출할 때, 상기 이미지를 시스템 메모리에 로드시키는 단계를 포함하고 있는 것을 특징으로 하는 시스템 오류를 방지하는 방법.
  2. 제 1 항에 있어서, 시스템 구성의 변경사항을 반영하기 위해 상기 이미지를 자동적으로 업데이트하는 단계를 포함하고 있는 것을 특징으로 하는 시스템 오류를 방지하는 방법.
  3. 제 1 항에 있어서, 상기 이미지를 보호 모드로 로드하는 단계를 포함하고 있는 것을 특징으로 하는 시스템 오류를 방지하는 방법.
  4. 제 3 항에 있어서, 상기 이미지를 시스템 관리 모드로 로드하는 단계를 포함하고 있는 것을 특징으로 하는 시스템 오류를 방지하는 방법.
  5. 제 1 항에 있어서, 다양한 프로그램 오류의 처리 방법에 관한 정보를 제공해서 프로그램 오류가 검출된 경우 상기 정보를 체크하는 단계를 포함하고 있는 것을특징으로 하는 시스템 오류를 방지하는 방법.
  6. 제 1 항에 있어서, 가상 디바이스 드라이버를 실행하고, 상기 이미지를 시스템 메모리에 전송해서, 프로그램 오류 검출 이후에 커널로부터 제어를 넘겨받도록 이그제큐티브를 실행하는 단계를 포함하고 있는 것을 특징으로 하는 시스템 오류를 방지하는 방법.
  7. 제 1 항에 있어서, 컴퓨터 시스템의 제작과정동안 운영체제의 이미지를 저장하는 단계를 포함하고 있는 것을 특징으로 하는 시스템 오류를 방지하는 방법.
  8. 제 1 항에 있어서, 가상 디바이스 드라이버를 상기 이미지로 저장하는 단계를 포함하고 있는 것을 특징으로 하는 시스템 오류를 방지하는 방법.
  9. 특정 구성에 적용되는 운영체제의 이미지를 전개시키는 단계;
    상기 이미지를 오퍼레이팅하는 가상 디바이스 드라이버를 전개시키는 단계;
    상기 이미지 및 가상 디바이스 드라이버를 저장하는 단계; 및
    상기 운영체제를 신속하게 활동화시킬 필요가 있는 경우에, 상기 가상 디바이스 드라이버 및 이미지를 시스템 메모리에 로드하는 단계를 포함하고 있는 것을 특징으로 하는 운영체제가 신속하게 활동화되도록 하는 방법.
  10. 제 9 항에 있어서, 이그제큐티브를 실행하는 단계를 포함하고 있는 것을 특징으로 하는 운영체제가 신속하게 활동화되도록 하는 방법.
  11. 제 9 항에 있어서, 상기 가상 디바이스 드라이버를 시스템 관리 모드로 실행시키는 단계를 포함하고 있는 것을 특징으로 하는 운영체제가 신속하게 활동화되도록 하는 방법.
  12. 제 9 항에 있어서, 시스템 구성의 변경사항을 체크해서 상기 변경사항을 상기 이미지로 저장하는 단계를 포함하고 있는 것을 특징으로 하는 운영체제가 신속하게 활동화되도록 하는 방법.
  13. 제 12 항에 있어서, 시스템 구성의 변화를 체크하고, 상기 시스템구성의 변화를 저장하기 위해 상기 가상 디바이스 드라이버를 사용하는 단계를 포함하고 있는 것을 특징으로 하는 운영체제가 신속하게 활동화되도록 하는 방법.
  14. 운영체제의 제 1 세트의 구성을 전개시키는 단계;
    상기 제 1 세트의 구성을 저장하는 단계;
    상기 제 1 세트의 구성과 상이한 제 2 세트의 구성을 자동적으로 인식하는 단계;
    상기 제 2 세트의 구성에 관한 정보를 자동적으로 저장하는 단계; 및
    상기 운영체제를 활동화시킬 필요가 있는 경우에, 상기 제 2 세트의 구성에 관한 정보를 시스템 메모리에 전송하는 단계를 포함하고 있는 것을 특징으로 하는 운영체제의 신속한 활동화를 가능하게 하는 방법.
  15. 제 14 항에 있어서, 상기 제 2 세트의 구성에 관한 정보를 보호모드로 전송하는 단계를 포함하고 있는 것을 특징으로 하는 운영체제의 신속한 활동화를 가능하게 하는 방법.
  16. 제 15 항에 있어서, 시스템 관리 모드로 전송하는 단계를 포함하고 있는 것을 특징으로 하는 운영체제의 신속한 활동화를 가능하게 하는 방법.
  17. 제 14 항에 있어서, 이그제큐티브를 사용해서 현재의 운영체제에서 새로운 기능을 구현시키는 단계를 포함하고 있는 것을 특징으로 하는 운영체제의 신속한 활동화를 가능하게 하는 방법.
  18. 제 17 항에 있어서, 시스템 구성의 변경사항을 체크하고, 구성 세팅의 위치를 찾고, 상기 세팅을 저장하기 위해 가상 디바이스 드라이버를 사용하는 단계를 포함하고 있는 것을 특징으로 하는 운영체제의 신속한 활동화를 가능하게 하는 방법.
  19. 컴퓨터가,
    특정 구성에 적용되는 운영체제의 이미지를 전개시키고;
    상기 이미지를 오퍼레이팅하는 가상 디바이스 드라이버를 전개시키고;
    상기 이미지 및 가상 디바이스 드라이버를 저장하고;
    상기 운영체제를 신속하게 활동화시킬 필요가 있는 경우에, 상기 가상 디바이스 드라이버 및 이미지를 시스템 메모리에 로드하도록 하는 명령어를 저장하고 있는 컴퓨터 판독가능 저장 매체를 포함하고 있는 것을 특징으로 하는 물품.
  20. 컴퓨터가,
    운영체제의 제 1 세트의 구성을 전개시키고;
    상기 제 1 세트의 구성을 저장하고;
    상기 제 1 세트의 구성과 상이한 제 2 세트의 구성을 자동적으로 인식하고;
    상기 제 2 세트의 구성에 관한 정보를 자동적으로 저장하고;
    상기 운영체제를 활동화시킬 필요가 있는 경우에, 상기 제 2 세트의 구성에 관한 정보를 시스템 메모리에 전송하도록 하는 명령어를 저장하고 있는 컴퓨터 판독가능 저장 매체를 포함하고 있는 것을 특징으로 하는 물품.
  21. 컴퓨터가,
    특정 구성에 적용되는 운영체제의 이미지를 전개시키고;
    상기 이미지를 저장하고;
    프로그램 오류를 검출하고;
    프로그램 오류를 검출할 때, 상기 이미지를 시스템 메모리에 로드시키도록 하는 명령어를 저장하고 있는 컴퓨터 판독가능 저장 매체를 포함하고 있는 것을 특징으로 하는 물품.
KR10-2000-7012023A 1998-04-30 1999-04-13 운영체제의 초기화 및 재시작 방법 및 장치 KR100430468B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/070,419 1998-04-30
US09/070,419 US6173417B1 (en) 1998-04-30 1998-04-30 Initializing and restarting operating systems

Publications (2)

Publication Number Publication Date
KR20010043130A KR20010043130A (ko) 2001-05-25
KR100430468B1 true KR100430468B1 (ko) 2004-05-10

Family

ID=22095171

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-7012023A KR100430468B1 (ko) 1998-04-30 1999-04-13 운영체제의 초기화 및 재시작 방법 및 장치

Country Status (11)

Country Link
US (2) US6173417B1 (ko)
EP (1) EP1137987B1 (ko)
JP (1) JP3598272B2 (ko)
KR (1) KR100430468B1 (ko)
CN (1) CN1118750C (ko)
AT (1) ATE286606T1 (ko)
AU (1) AU3492299A (ko)
DE (1) DE69923085T2 (ko)
GB (1) GB2353381B (ko)
TW (1) TW428143B (ko)
WO (1) WO1999057632A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102103593B1 (ko) * 2019-07-29 2020-04-23 김창석 외장형 운영체제 구동 장치 및 그 방법

Families Citing this family (172)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19752615C1 (de) * 1997-11-27 1999-04-08 Siemens Nixdorf Inf Syst Verfahren und Anordnung zum Laden von Daten für grundlegende Systemroutinen eines Datenverarbeitungssystems
US6675233B1 (en) * 1998-03-26 2004-01-06 O2 Micro International Limited Audio controller for portable electronic devices
US6954804B2 (en) * 1998-03-26 2005-10-11 Micro, Inc. Controller for portable electronic devices
US6895448B2 (en) * 1998-03-26 2005-05-17 O2 Micro, Inc. Low-power audio CD player for portable computers
KR100283243B1 (ko) * 1998-05-11 2001-03-02 구자홍 운영체제의 부팅방법
US6922831B1 (en) * 1998-06-04 2005-07-26 Gateway Inc. Method and system for providing software utilizing a restore medium and a network
US8234477B2 (en) * 1998-07-31 2012-07-31 Kom Networks, Inc. Method and system for providing restricted access to a storage medium
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US6343335B1 (en) * 1998-10-29 2002-01-29 International Business Machines Corporation System for repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry
US6336194B1 (en) 1998-10-29 2002-01-01 International Business Machines Corporation Program products for repositioning an input/output device without knowledge of current positioning of the device
US6339799B1 (en) * 1998-10-29 2002-01-15 International Business Machines Corporation Method of repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry
US6360334B1 (en) * 1998-11-30 2002-03-19 Rockwell Collins, Inc. Method and apparatus for verifying a software configuration of a distributed system
US6295611B1 (en) 1998-12-14 2001-09-25 Sun Microsystems, Inc.. Method and system for software recovery
US6487718B1 (en) * 1999-03-31 2002-11-26 International Business Machines Corporation Method and apparatus for installing applications in a distributed data processing system
US6453461B1 (en) * 1999-06-09 2002-09-17 Compaq Information Technologies Group, L.P. Method and apparatus for testing ASL plug and play code in an ACPI operating system
US6446139B1 (en) * 1999-06-28 2002-09-03 Adaptec, Inc. Multiple chip single image BIOS
EP1085396A1 (en) * 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
US6584587B1 (en) * 1999-10-14 2003-06-24 Sony Corporation Watchdog method and apparatus
US7089300B1 (en) * 1999-10-18 2006-08-08 Apple Computer, Inc. Method and apparatus for administering the operating system of a net-booted environment
US7337360B2 (en) * 1999-10-19 2008-02-26 Idocrase Investments Llc Stored memory recovery system
US6594780B1 (en) * 1999-10-19 2003-07-15 Inasoft, Inc. Operating system and data protection
US7111307B1 (en) 1999-11-23 2006-09-19 Microsoft Corporation Method and system for monitoring and verifying software drivers using system resources including memory allocation and access
US6754855B1 (en) * 1999-12-01 2004-06-22 Microsoft Corporation Automated recovery of computer appliances
US6883120B1 (en) * 1999-12-03 2005-04-19 Network Appliance, Inc. Computer assisted automatic error detection and diagnosis of file servers
US6636963B1 (en) * 1999-12-30 2003-10-21 Cardiac Pacemakers, Inc. Quick starting for microprocessor-based system by retrieving a target state memory image and a target state data structure from an image storage medium
US6487464B1 (en) * 2000-02-25 2002-11-26 Intel Corporation Power-on software for robust boot
US6769058B1 (en) * 2000-03-31 2004-07-27 Intel Corporation Resetting a processor in an isolated execution environment
US6934817B2 (en) * 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US6957332B1 (en) * 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US6728907B1 (en) * 2000-04-14 2004-04-27 Microsoft Corporation System and method for self-diagnosing system crashes
US6560719B1 (en) * 2000-05-17 2003-05-06 Unisys Corporation Method for recovery of original registry key file data
US6715016B1 (en) * 2000-06-01 2004-03-30 Hitachi, Ltd. Multiple operating system control method
US7130930B1 (en) * 2000-06-16 2006-10-31 O2 Micro Inc. Low power CD-ROM player with CD-ROM subsystem for portable computer capable of playing audio CDs without supply energy to CPU
US6976162B1 (en) * 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US7793111B1 (en) 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
GB2367656A (en) * 2000-10-06 2002-04-10 Hewlett Packard Co Self-repairing operating system for computer entities
EP1195679A1 (en) * 2000-10-06 2002-04-10 Hewlett-Packard Company, A Delaware Corporation Performing operating system recovery from external back-up media in a headless computer entity
US6757838B1 (en) * 2000-10-13 2004-06-29 Hewlett-Packard Development Company, L.P. Hardware independent implementation of computer system BIOS recovery
US7089449B1 (en) * 2000-11-06 2006-08-08 Micron Technology, Inc. Recovering a system that has experienced a fault
US7522966B2 (en) * 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7818443B2 (en) * 2000-12-01 2010-10-19 O2Micro International Ltd. Low power digital audio decoding/playing system for computing devices
US7522964B2 (en) 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7526349B2 (en) * 2000-12-01 2009-04-28 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7890741B2 (en) * 2000-12-01 2011-02-15 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7522965B2 (en) * 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US6807630B2 (en) * 2000-12-15 2004-10-19 International Business Machines Corporation Method for fast reinitialization wherein a saved system image of an operating system is transferred into a primary memory from a secondary memory
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7035963B2 (en) * 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US6907600B2 (en) 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
GB0105793D0 (en) * 2001-03-09 2001-04-25 Ritchie Gordon Computer system manager
US6950893B2 (en) 2001-03-22 2005-09-27 I-Bus Corporation Hybrid switching architecture
FR2824646B1 (fr) * 2001-05-09 2003-08-15 Canal Plus Technologies Procede de selection d'une image de logiciel executable
US6883091B2 (en) * 2001-05-30 2005-04-19 Hewlett-Packard Development Company, L.P. Reducing boot times via intrusion monitoring
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7124273B2 (en) 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US7631196B2 (en) * 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7343484B2 (en) * 2002-03-28 2008-03-11 O2Micro International Limited Personal computer integrated with personal digital assistant
US7424623B2 (en) * 2002-03-28 2008-09-09 O2 Micro International Limited Personal computer integrated with personal digital assistant
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
AU2003226220A1 (en) 2002-04-03 2003-10-20 Powerquest Corporation Using disassociated images for computer and storage resource management
US7565517B1 (en) * 2002-04-03 2009-07-21 Symantec Corporation Retargeting a captured image to new hardware while in a pre-boot environment
EP1351145A1 (en) * 2002-04-04 2003-10-08 Hewlett-Packard Company Computer failure recovery and notification system
US7139890B2 (en) 2002-04-30 2006-11-21 Intel Corporation Methods and arrangements to interface memory
US6820177B2 (en) 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7142674B2 (en) * 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
US6990656B2 (en) * 2002-06-27 2006-01-24 Microsoft Corporation Dynamic metabase store
US6924667B2 (en) * 2002-07-19 2005-08-02 O2Micro International Limited Level shifting and level-shifting amplifier circuits
NZ520786A (en) * 2002-08-14 2005-06-24 Daniel James Oaeconnell Method of booting a computer system using a memory image of the post boot content of the system RAM memory
US20080059785A1 (en) * 2002-08-14 2008-03-06 Ti Technologies Limited Method and apparatus for shutting down a computer system
US7313684B2 (en) * 2002-08-14 2007-12-25 T1 Technologies Limited Method and apparatus for booting a computer system
US20040059905A1 (en) * 2002-09-19 2004-03-25 Soulier George R. Method and apparatus for short-power cycle detection
US7124322B1 (en) * 2002-09-24 2006-10-17 Novell, Inc. System and method for disaster recovery for a computer network
US7730155B1 (en) * 2002-10-01 2010-06-01 Apple Inc. Method and apparatus for dynamically locating resources
US8336044B2 (en) * 2002-10-09 2012-12-18 Rpx Corporation Method and system for deploying a software image
US7024581B1 (en) 2002-10-09 2006-04-04 Xpoint Technologies, Inc. Data processing recovery system and method spanning multiple operating system
US6895347B2 (en) * 2002-10-15 2005-05-17 Remote Data Systems, Inc. Computerized methods for data loggers
US7165181B2 (en) * 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US7100037B2 (en) * 2002-11-27 2006-08-29 Intel Corporation Method for reducing BIOS resume time from a sleeping state
US7152169B2 (en) * 2002-11-29 2006-12-19 Intel Corporation Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state
US6999913B2 (en) * 2002-12-10 2006-02-14 John Alan Hensley Emulated read-write disk drive using a protected medium
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US6993649B2 (en) 2002-12-17 2006-01-31 John Alan Hensley Method of altering a computer operating system to boot and run from protected media
US20040128345A1 (en) * 2002-12-27 2004-07-01 Robinson Scott H. Dynamic service registry
US7900017B2 (en) 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US20040128465A1 (en) * 2002-12-30 2004-07-01 Lee Micheil J. Configurable memory bus width
US7076802B2 (en) 2002-12-31 2006-07-11 Intel Corporation Trusted system clock
US20040128528A1 (en) * 2002-12-31 2004-07-01 Poisner David I. Trusted real time clock
US7017039B2 (en) * 2002-12-31 2006-03-21 John Alan Hensley Method of booting a computer operating system to run from a normally unsupported system device
US7500092B2 (en) * 2003-01-17 2009-03-03 International Business Machines Corporation Hardware abstraction for set-top box operating systems
US7340638B2 (en) * 2003-01-30 2008-03-04 Microsoft Corporation Operating system update and boot failure recovery
US20040193953A1 (en) * 2003-02-21 2004-09-30 Sun Microsystems, Inc. Method, system, and program for maintaining application program configuration settings
US7318171B2 (en) * 2003-03-12 2008-01-08 Intel Corporation Policy-based response to system errors occurring during OS runtime
DE10320827A1 (de) * 2003-05-08 2004-12-09 Siemens Ag Verfahren zur Softwareanpassung
US7680957B1 (en) * 2003-05-09 2010-03-16 Symantec Operating Corporation Computer system configuration representation and transfer
US8095783B2 (en) 2003-05-12 2012-01-10 Phoenix Technologies Ltd. Media boot loader
US7136994B2 (en) * 2003-05-13 2006-11-14 Intel Corporation Recovery images in an operational firmware environment
US7822831B2 (en) * 2003-07-31 2010-10-26 International Business Machines Corporation Method, system and program product for preserving and restoring mobile device user settings
US20050044292A1 (en) * 2003-08-19 2005-02-24 Mckeen Francis X. Method and apparatus to retain system control when a buffer overflow attack occurs
US7287197B2 (en) * 2003-09-15 2007-10-23 Intel Corporation Vectoring an interrupt or exception upon resuming operation of a virtual machine
US7739521B2 (en) * 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US7610611B2 (en) * 2003-09-19 2009-10-27 Moran Douglas R Prioritized address decoder
CN100334556C (zh) * 2003-09-30 2007-08-29 宏达国际电子股份有限公司 在中央处理器当机时进行的开机方法及其计算机系统
US20050080934A1 (en) 2003-09-30 2005-04-14 Cota-Robles Erik C. Invalidating translation lookaside buffer entries in a virtual machine (VM) system
US7177967B2 (en) * 2003-09-30 2007-02-13 Intel Corporation Chipset support for managing hardware interrupts in a virtual machine system
US7636844B2 (en) * 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
US20050108171A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Method and apparatus for implementing subscriber identity module (SIM) capabilities in an open platform
US20050108534A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Providing services to an open platform implementing subscriber identity module (SIM) capabilities
TWI222566B (en) * 2003-11-21 2004-10-21 Infowize Technologies Corp Multimedia real-time system operation method
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US20050152539A1 (en) * 2004-01-12 2005-07-14 Brickell Ernie F. Method of protecting cryptographic operations from side channel attacks
US7685383B2 (en) * 2004-02-13 2010-03-23 Bosch Corporation Vehicle data backup method
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US20050216920A1 (en) * 2004-03-24 2005-09-29 Vijay Tewari Use of a virtual machine to emulate a hardware device
US7356735B2 (en) * 2004-03-30 2008-04-08 Intel Corporation Providing support for single stepping a virtual machine in a virtual machine environment
US7620949B2 (en) 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US20050240815A1 (en) * 2004-04-13 2005-10-27 Sony Corporation Modular imaging of computer software for system install and restore
US7886136B2 (en) * 2004-05-21 2011-02-08 Samsung Electronics Co., Ltd. Computer system, method, and medium for switching operating system
JP4233492B2 (ja) * 2004-06-02 2009-03-04 富士通マイクロエレクトロニクス株式会社 アドレス変換装置
CN100489768C (zh) * 2004-06-15 2009-05-20 T1科技有限公司 用于引导计算机系统的方法和装置
US20050288056A1 (en) * 2004-06-29 2005-12-29 Bajikar Sundeep M System including a wireless wide area network (WWAN) module with an external identity module reader and approach for certifying the WWAN module
US7305592B2 (en) * 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
US7467328B2 (en) * 2004-09-03 2008-12-16 Hewlett-Packard Development Company, L.P. Kernel configuration recovery
US7853826B2 (en) * 2004-09-24 2010-12-14 Phoenix Technologies, Ltd. Operating system transfer and launch without performing post
US7840962B2 (en) * 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
US20060100982A1 (en) * 2004-11-08 2006-05-11 International Business Machines Corporation Storage configuration loader with automatic error recovery
US8924728B2 (en) * 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US7529921B2 (en) * 2004-12-17 2009-05-05 Cardiac Pacemakers, Inc. Fast initialization of medical device system having multiple operating systems
US8533777B2 (en) 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7509530B2 (en) * 2005-01-19 2009-03-24 Sonic Solutions Method and system for use in restoring an active partition
US7395405B2 (en) * 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
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
US7590839B2 (en) * 2005-03-22 2009-09-15 Qnx Software Systems Gmbh & Co. Kg System employing fast booting of application programs
US7430629B2 (en) * 2005-05-12 2008-09-30 International Business Machines Corporation Internet SCSI communication via UNDI services
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US7500090B2 (en) * 2005-09-29 2009-03-03 Hewlett-Packard Development Company, L.P. Operating environment configuration system and method
US7506203B2 (en) * 2005-11-10 2009-03-17 International Business Machines Corporation Extracting log and trace buffers in the event of system crashes
US20070214345A1 (en) * 2006-03-10 2007-09-13 Fleming John C System and method for porting an operating system
US7950020B2 (en) * 2006-03-16 2011-05-24 Ntt Docomo, Inc. Secure operating system switching
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
US8234359B2 (en) * 2006-05-24 2012-07-31 Absolute Software Corp. System and method for remotely re-imaging a computer system
US7886190B2 (en) * 2006-09-29 2011-02-08 Intel Corporation System and method for enabling seamless boot recovery
US8131986B2 (en) * 2006-09-29 2012-03-06 Lenovo (Singapore) Pte. Ltd. System and method for boot loading of programs within a host operating environment having one or more linked guest operating systems
US20070143591A1 (en) * 2007-02-23 2007-06-21 Richard Dellacona Method for non-destructive restoration of a corrupted operating system
CN101317784B (zh) * 2007-06-08 2011-09-07 深圳迈瑞生物医疗电子股份有限公司 多配置模块设备及其模块自动配置方法
KR101398935B1 (ko) * 2008-04-29 2014-06-27 삼성전자주식회사 가상화를 이용한 시스템 복원 방법 및 장치
US8843742B2 (en) * 2008-08-26 2014-09-23 Hewlett-Packard Company Hypervisor security using SMM
KR20100041309A (ko) * 2008-10-14 2010-04-22 삼성전자주식회사 각 프로세서들의 어플리케이션 기능을 모두 활용 가능한 멀티 프로세서 시스템
WO2010048492A2 (en) * 2008-10-24 2010-04-29 Citrix Systems, Inc. Methods and systems for providing a modifiable machine base image with a personalized desktop environment in a combined computing environment
US8744806B2 (en) 2008-10-29 2014-06-03 Sevone, Inc. Scalable performance management system
US8775780B2 (en) * 2009-02-27 2014-07-08 Keicy Chung System for multi-boot of a central processing unit using internal registers that direct an operating system to boot into disjoint memory spaces
TW201106271A (en) * 2009-08-14 2011-02-16 Insyde Software Corp Method of switching different operating systems in computer
CN102012823A (zh) * 2009-09-04 2011-04-13 中兴通讯股份有限公司 一种快速重新启动计算机的方法和装置
KR101027415B1 (ko) 2009-12-18 2011-04-11 한국과학기술원 차량용 운영체제의 관리 시스템, 관리 방법 및 오류 검출 방법
US8686955B2 (en) * 2010-03-11 2014-04-01 Apple Inc. Device, method, and graphical user interface for performing character entry
US9465601B2 (en) 2010-04-20 2016-10-11 International Business Machines Corporation Pluggable activation engine extensions via virtual disks
KR101731422B1 (ko) * 2010-10-04 2017-04-28 삼성전자주식회사 가상화 환경에서의 장애 복구 장치 및 방법
KR20120036209A (ko) 2010-10-07 2012-04-17 삼성전자주식회사 컴퓨팅 시스템에서 부트 이미지의 크기를 최적화하는 부팅이미지 생성방법
US8495351B2 (en) * 2010-10-13 2013-07-23 International Business Machines Corporation Preparing and preserving a system configuration during a hot upgrade
CN102508734B (zh) * 2011-09-30 2015-06-03 Tcl集团股份有限公司 操作系统恢复方法及智能设备
US9542172B2 (en) 2013-02-05 2017-01-10 Apple Inc. Automatic updating of applications
US9250922B2 (en) 2013-02-28 2016-02-02 Qualcomm Incorporated Method and apparatus for prefetching peripheral device drivers for smart phones and other connected devices prior to HLOS boot
US9261932B2 (en) * 2013-03-15 2016-02-16 Microchip Technology Incorporated Minimizing switchover time in a hot swappable program memory
US9563457B2 (en) 2013-11-18 2017-02-07 Bitdefender IPR Management Ltd. Enabling a secure environment through operating system switching
JP2015114750A (ja) 2013-12-10 2015-06-22 富士通株式会社 調査用プログラム,情報処理装置及び情報処理方法
CN105786547A (zh) * 2014-12-26 2016-07-20 中兴通讯股份有限公司 一种实现操作系统重启的方法和装置
CN106126397A (zh) * 2016-06-19 2016-11-16 乐视控股(北京)有限公司 程序崩溃消息的处理方法及系统
US10540172B2 (en) * 2017-07-24 2020-01-21 Sevone, Inc. System, method, and apparatus for zero downtime operating system transformation
CN114741233A (zh) * 2020-12-23 2022-07-12 华为技术有限公司 快速启动方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5089958A (en) * 1989-01-23 1992-02-18 Vortex Systems, Inc. Fault tolerant computer backup system
EP0838753A1 (en) * 1996-10-28 1998-04-29 Sun Microsystems, Inc. Method and apparatus for initializing a device

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179695A (en) 1990-09-04 1993-01-12 International Business Machines Corporation Problem analysis of a node computer with assistance from a central site
US5297282A (en) 1991-05-29 1994-03-22 Toshiba America Information Systems, Inc. Resume processing function for the OS/2 operating system
US5325532A (en) 1992-09-25 1994-06-28 Compaq Computer Corporation Automatic development of operating system boot image
US5696897A (en) * 1994-01-31 1997-12-09 Sun Microsystems, Inc. Method and apparatus for a multi-layer system quiescent suspend and resume operation
US5504905A (en) * 1994-05-17 1996-04-02 International Business Machines Corporation Apparatus for communicating a change in system configuration in an information handling network
US5710930A (en) * 1995-08-04 1998-01-20 Intel Corporation Apparatus and a method for allowing an operating system of a computer system to persist across a power off and on cycle
US5752032A (en) * 1995-11-21 1998-05-12 Diamond Multimedia Systems, Inc. Adaptive device driver using controller hardware sub-element identifier
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US5956507A (en) * 1996-05-14 1999-09-21 Shearer, Jr.; Bennie L. Dynamic alteration of operating system kernel resource tables
WO1998012635A1 (en) 1996-09-17 1998-03-26 Radisys Corporation Method and apparatus for encapsulating a protected-mode operating system within a real-time, protected-mode operating system
US5991544A (en) * 1997-12-09 1999-11-23 Nortel Networks Corporation Process and apparatus for managing a software load image
US6098158A (en) * 1997-12-18 2000-08-01 International Business Machines Corporation Software-enabled fast boot
US6101601A (en) * 1998-04-20 2000-08-08 International Business Machines Corporation Method and apparatus for hibernation within a distributed data processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5089958A (en) * 1989-01-23 1992-02-18 Vortex Systems, Inc. Fault tolerant computer backup system
EP0838753A1 (en) * 1996-10-28 1998-04-29 Sun Microsystems, Inc. Method and apparatus for initializing a device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102103593B1 (ko) * 2019-07-29 2020-04-23 김창석 외장형 운영체제 구동 장치 및 그 방법
WO2021020859A1 (ko) * 2019-07-29 2021-02-04 김창석 외장형 운영체제 구동 장치 및 그 방법

Also Published As

Publication number Publication date
DE69923085T2 (de) 2005-12-08
CN1118750C (zh) 2003-08-20
AU3492299A (en) 1999-11-23
KR20010043130A (ko) 2001-05-25
US6393560B1 (en) 2002-05-21
EP1137987B1 (en) 2005-01-05
CN1299483A (zh) 2001-06-13
DE69923085D1 (de) 2005-02-10
WO1999057632A2 (en) 1999-11-11
EP1137987A2 (en) 2001-10-04
JP3598272B2 (ja) 2004-12-08
GB2353381B (en) 2003-06-18
US6173417B1 (en) 2001-01-09
TW428143B (en) 2001-04-01
GB2353381A (en) 2001-02-21
ATE286606T1 (de) 2005-01-15
WO1999057632A3 (en) 1999-12-16
GB0022497D0 (en) 2000-11-01
JP2002513964A (ja) 2002-05-14

Similar Documents

Publication Publication Date Title
KR100430468B1 (ko) 운영체제의 초기화 및 재시작 방법 및 장치
EP3491519B1 (en) Optimized uefi reboot process
US6647512B1 (en) Method for restoring CMOS in a jumperless system
USRE40092E1 (en) Method for quickly booting a computer system
JP2798356B2 (ja) デスクトップ・コンピュータ・システム、コンピュータ・システムの状態を保存する方法およびコンピュータ・システムの状態を復元する方法
JP2726004B2 (ja) 保護モードでコードを実行するcpuの状態を保存する方法、cpuの状態を不揮発性記憶装置から復元する方法、ページ・ディレクトリ・ベース・レジスタのレジスタ値を推定する方法およびページ・ディレクトリ・ベース・レジスタの推定レジスタ値を検証する方法
US20060242398A1 (en) Booting from non-volatile memory
US5956475A (en) Computer failure recovery and alert system
EP0572332B1 (en) A method and a device for booting a computer at a programmed time
US6721885B1 (en) Reducing start-up time and avoiding customer-induced system failures for personal computers
JP3777136B2 (ja) コンピュータ装置、データのデッドコピー方法、プログラム、コンピュータ装置の稼動方法
US20120124420A1 (en) Reset method and monitoring apparatus
US7100037B2 (en) Method for reducing BIOS resume time from a sleeping state
US6154846A (en) System for controlling a power saving mode in a computer system
US7120788B2 (en) Method and system for shutting down and restarting a computer system
KR100678974B1 (ko) 보안성과 사용자의 편의성을 고려한 컴퓨터 시스템의재부팅 방법 및 장치
JP2000010666A (ja) コンピュータシステムおよびフラッシュrom書き換え方法
KR101100894B1 (ko) 임베디드 장치의 오류검출 및 복구방법
US11249661B2 (en) Information processing apparatus, control method, and program
WO2008048581A1 (en) A processing device operation initialization system
KR20050070635A (ko) 비정상 종료된 시스템의 재부팅 시간을 단축할 수 있는임베디드 컴퓨터 시스템
JPH05333962A (ja) コンピュータシステム
Terzić et al. BASIC INPUT/OUTPUT SYSTEM BIOS FUNCTIONS AND MODIFICATIONS

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
FPAY Annual fee payment
FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 15

EXPY Expiration of term