KR20080003490A - 시스템 동작 제어 장치 및 방법 - Google Patents

시스템 동작 제어 장치 및 방법 Download PDF

Info

Publication number
KR20080003490A
KR20080003490A KR1020060061799A KR20060061799A KR20080003490A KR 20080003490 A KR20080003490 A KR 20080003490A KR 1020060061799 A KR1020060061799 A KR 1020060061799A KR 20060061799 A KR20060061799 A KR 20060061799A KR 20080003490 A KR20080003490 A KR 20080003490A
Authority
KR
South Korea
Prior art keywords
address
remapping
operating
operating system
different
Prior art date
Application number
KR1020060061799A
Other languages
English (en)
Other versions
KR101121641B1 (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 엘지전자 주식회사
Priority to KR1020060061799A priority Critical patent/KR101121641B1/ko
Priority to US11/622,728 priority patent/US7689802B2/en
Priority to CNB2007100073341A priority patent/CN100501678C/zh
Priority to EP20070101478 priority patent/EP1876528A3/en
Priority to JP2007175445A priority patent/JP5826985B2/ja
Publication of KR20080003490A publication Critical patent/KR20080003490A/ko
Application granted granted Critical
Publication of KR101121641B1 publication Critical patent/KR101121641B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • 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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 복수 개의 동작 프로그램이 로딩된 하나의 시스템에서, 상기 프로그램이 저장된 각각의 어드레스 위치 정보를 Remapping을 통해 변경하여, 동작하고자 하는 프로그램에 Access하여 시스템을 동작시킬 수는 제어 장치 및 방법에 관한 것이다.
따라서 본 발명에 의하면, 동작하고자 프로그램의 기본 정보를 별도로 변경할 필요 없이 시스템을 동작 시킬 수 있다.
어드레스, OS, Remapping, Swap, Override

Description

시스템 동작 제어 장치 및 방법 {Apparatus and method for controlling operation of system}
도 1은 본 발명에 따라 시스템의 부팅을 제어하는 방법이 적용되는 일반적인 시스템의 구성도
도 2는 OS 및 데이터가 저장되는 Hard Disk의 내부 구조를 나타낸 도면
도 3은 본 발명의 Address Remapping의 Address Swapping된 상태를 나타낸 도면
도 4는 본 발명의 Address Remapping의 Address Overriding된 상태를 나타낸 도면
도 5는 본 발명에 의한 Remapping이 수행되는 것을 나타낸 제 1 흐름도
도 6은 본 발명에 의한 Remapping이 수행되는 것을 나타낸 제 2 흐름도
도 7은 Address Remapping을 위한 Swapping 및 Overriding을 나타내는 Flow-Chart
도 8a,8b,8c 및 8d Swap 및 Override를 수행하기 위해 설정된 상수값
도 9는 Swap 및 Override를 수행하기 위한 명령을 비휘발성 메모리에 초기화 및 BIOS를 호출하는 과정
도 10은 BIOS의 포스트 과정 또는 부팅 과정에서 조건에 따라 SWAP 및 OVERRIDE가 수행되는 과정
본 발명은 복수의 운영체계를 선택적으로 Access할 수 있는 시스템의 부팅 제어 장치와 방법에 관한 것이다.
이하 종래 기술에 대해 설명한다.
일반적인 컴퓨터를 포함한 시스템에서는, 사용자가 시스템 전원을 온(ON) 시키는 경우, 일련의 시스템 부팅 동작을 수행하게 된다.
이때 시스템 바이오스에서는, 컴퓨터 시스템이 정상적으로 동작할 수 있도록, 하드 디스크의 첫 번째 섹터에 저장되는 마스터 부트 레코드(Master Boot Recoder)(MBR)를 읽고, 이를 기초로 운영체제가 저장되어 있는 파티션(Partition)의 부트 섹터 레코드를 독출 하여 시스템 부팅 동작을 수행한다.
상기 마스터 부트 레코드(MBR)는, 운영체제가 어디에, 어떻게 위치해 있는지를 식별하여 컴퓨터의 주 기억장치에 적재될 수 있도록 하기 위한 정보로, 하드 디스크의 첫 번째 섹터에 위치한다.
또한, 마스트 부트 레코드(MBR)는 "파티션 섹터(Partition Sector)" 또는 "마스터 파티션 테이블(Master Partition Table)"이라고 불리는데, 이는 하드 디스 크가 포맷될 때 나뉘어지는 각 파티션 영역의 형태, 크기, 위치에 관한 정보를 가지고 있기 때문이다.
그 외에도, 마스터 부트 레코드(MBR)는 메모리에 적재될 운영체제가 저장되어 있는 파티션의 부트 섹터 레코드를 읽을 수 있는 프로그램을 포함하고 있는데, 부트 섹터 레코드에는 다시 운영체제의 나머지 부분을 메모리에 적재하는 프로그램이 담겨 있다.
좀더 상세하게 살펴 보면, 마스터 부트 레코드(MBR)는 보통 1개의 섹터(Sector)로 구성되는데 크기는 통상 512bytes이다. 그리고, 512bytes에서 처음 446bytes는 운영체제를 읽어 들이기 위한 준비 단계 코드가 들어 있으며, 나머지 64bytes가 파티션에 관한 정보를 담아두는 테이블이다. 그리고, 나머지 2bytes는 MBR이 맞는지 확인하기 위한 예약 값으로 기록된다. 파티션 1개를 명시하는 데는 16bytes가 소요되므로, 하드 디스크에는 4개의 주 파티션이 지정될 수 있다.
각 파티션에 관한 정보가 저장되는 테이블에는, 해당 파티션이 부팅 파티션인지를 가리키는 Boot Indicator, 해당 파티션의 시작 섹터의 헤더 및 실린더 위치, 해당 파티션의 끝 섹터의 헤더 및 실린더 위치, 해당 파티션의 전체 섹터 수 등이 기록된다. 마스터 부트 레코드(MBR)에 기록된 각 파티션에 관한 정보 중에서, Boot Indicator는 하나의 파티션에 대해서만 active 또는 bootable로 표시되고, 다른 파티션들에 대해서는 inactive 또는 not bootable로 표시된다.
Boot Indicator가 active인 파티션이 부팅 파티션이 되고, 해당 파티션에 기록된 운영체제를 기초로 시스템이 부팅된다.
즉 상기에서 설명한 바와 같이, 종래의 각각 하드 디스크에 저장되어 있는 각각의 운영체계 (Operating System)(OS)는 그에 대응되는 각각의 MBR를 저장하고 있으며, 현재 동작 되는 OS와 다른 OS가 동작 되도록 하기 위해서는, 해당 OS의 MBR를 읽도록 별도 동작, 예를 들어 해당 폴더를 찾아 선택, 을 통해 시스템 부팅을 해야만 한다.
또한 하나의 Hard Disk에서 Multi Booting을 구현하려고 하는 경우, MBR 의 정보를 변경해야만 한다.
그러나, 상기 MBR의 정보를 변경할 경우 불의의 사고로 이를 복구 하지 못하게 되는 경우가 발생한다.
본 발명은 하나의 Hard Disk에 두 개 이상의 프로그램, 예를 들어 OS를 탑재하여 Multi Booting을 구현하는 것을 제안한다.
본 발명은 하나의 디스크에 저장되어 있는 서로 다른 OS에 관련된 정보 등이 저장되는 각각 어드레스를 Remapping을 통해 Multi Booting을 구현하도록 한다.
본 발명의 시스템에 기본 동작으로 설정된 OS와 다른 OS로 시스템 동작 구현을 위해, 시스템이 기본적으로 Reading하는 주소로 목적하는 OS의 관련정보가 이동되는 결과가 되도록 하는 것을 제안한다.
본 발명에서의 각 OS 관련 정보의 각 어드레스 정보이동은 Address Swapping 또는 Address Overriding 을 통한 Address Remapping을 통해 구현 하는 것을 제안 한다.
상기한 바와 같은 목적을 달성하기 위하여 본 발명에 따른 시스템 동작 제어 장치는, 멀티 부팅이 가능한 시스템에 있어서, 입력수단; 서로 다른 운영체계가 저장되는 메모리 수단; 시스템에서 부팅 동작 되도록 기본 설정된 운영체계와 다른 운영체계의 사용을 위한 명령 및 제어를 적어도 하나 이상 수행하는 제어부;에서, 상기 제어부의 판단에 따라 각 운영체계의 어드레스를 Remapping를 통해 구현 된다.
또한 본 발명에 의한 시스템 동작 제어 방법은, 복수의 운영체계가 메모리의 서로 다른 Address에 로딩되는 단계; 시스템에서 동작될 운영체계를 판단하는 단계; 상기 판단 결과에 의거, Address Remapping을 수행하는 단계; 및 상기 Remapping한 Address의 운영체계를 이용하여 시스템을 동작하는 단계;를 포함하여 동작된다.
또한 본 발명의 Address remapping은 OS 뿐만 아니라 시스템에서 동작되는 다른 프로그램의 경우에도 적용 가능하다.
이하, 본 발명의 멀티 부팅 (Multi Booting)을 위한 시스템 동작 제어 장치 및 방법에 대해 상세히 설명하고자 하며, 이는 OS 뿐만 아니라 하나의 시스템에 서로 다른 목적으로 저장된 프로그램 등을 선택적으로 Access하는 경우에도 적용 가능하다 할 것이다.
먼저, 본 발명의 개괄적인 동작을 설명한다.
두 개 이상의 운영체계 (Operation System)(OS), 예를 들어 DOS, WINDOW가 1개의 HDD에 저장되어 있다. 여기서 상기 두 개 이상의 OS가 파티션(Partition)으로 구분되어 저장되는지 여부는 본 발명의 요지와는 상관이 없다.
상기에서 각 OS에 관련된 정보인 MBR (Master Boot Recoder)등 및 데이터는 미리 정한 Address에 각각 저장된다. 예를 들어 0 번지 부터 999번지 까지는 제 1 OS인 DOS 정보 및 데이터가 저장되고, 1000번지부터 1099번지까지는 제 2 OS인 WINDOW에 관련된 정보가 저장된다.
일반적으로, 시스템의 기본 동작은 제 1 OS로 설정되어 있다. 따라서 제 1 OS인 DOS로 사용 또는 작성된 데이터로 동작하고자 하는 경우는 바로 O번지부터 읽어 시스템을 동작하면 된다.
한편, 사용자가 시스템의 기본 동작시 사용되도록 설정된 OS와 다른 OS, 예를 들어 Window에 관련된 것을 동작하고자 하는 경우, 시스템은 언제나 0번지부터 읽어 시작하는 것으로 설정되었기에, 스와핑(Swapping) 또는 오버라이딩 (Overriding)을 통한 Address Remapping을 통해, 상기 제 2 OS에 관련된 정보 및 데이터가 Reading 되어 동작 되도록 해야 한다.
상기에서 Address Swapping의 경우, 시스템의 Access면에서 보았을때, 어드레스 1000-1099에 저장되어 있는 제 2 OS에 관한 내용들은, 시스템에 기본 Reading으로 설정된 주소(0번지 - 99번지)로 이동되는 결과가 되고, 어드레스 0-99번지에 저장되어 있는 제 1 OS에 관한 내용들은 어드레스 1000-1099로 이동되는 결과가 된 다.
따라서 시스템 동작시 기본 Reading 주소로 설정된 주소(0번지-99번지)를 Reading 하게 된다.
즉, 시스템은 설정된 주소 (0번지 - 99번지)를 읽는다고 하더라도, 실질적으로는 제 2 OS에 관련된 주소 (1000번지 - 1099번지) 정보를 읽게 되어, 사용자가 원하는 OS가 동작 되는 것이다.
또한 Address Overriding의 경우, 동작 목적 OS가 어드레스 1000-1099에 저장되어 있는 제 2 OS인 경우, 상기 제 2 OS에 관한 내용들을, 제 1 OS 어드레스 및 제 2 OS 어드레스에 각각 저장되는 결과가 되어, 시스템 동작시 기본 Reading 주소로 설정된 주소(0번지-99번지)를 Reading 하게 된다.
즉, 시스템은 설정된 주소 (0번지 - 99번지)를 읽는다고 하더라도, 실질적으로는 제 2 OS에 관련된 주소 (1000번지 - 1099번지) 정보를 읽게 되어, 사용자가 원하는 OS가 동작 되는 것이다.
한편, 제 1 OS가 동작중 또는 시스템을 부팅시에 사용자가 시스템에 기본 OS로 설정된 제 1 OS와 다른 제 2 OS를 사용 할려고 하는지의 판단은, BIOS Post 동작중 Function Key등으로 제 2 OS Booting을 알릴 수도 있고, Bios setup menu에 어드레스를 Swapping을 할 것인지, Overriding을 할 것인지등의 선택을 통해 가능하다.
또한 어드레스 Remapping은 도 8 및 그에 관련된 내용에 의거 수행된다.
예를 들어, Remapping하는 명령어가 추가된 firmware를 플래시 메모리에 추 가하거나, 시스템 BIOS의 INT 13 Handler의 변경 또는 별도의 Option ROM를 추가, 또는 Windows OS상의 Filter Driver 작성등을 구현 가능하다.
이하, 본 발명에 따른 시스템의 부팅 제어 장치 및 방법에 대한 바람직한 실시예에 대해, 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명에 따라 시스템의 부팅을 제어하는 방법이 적용되는 일반적인 시스템의 구성을 도시한 것으로서, 노트북 컴퓨터의 구성을 예로 설명한다.
그러나 현재 발명은 Note book 컴퓨터에 한정하지 않고, 서로 다른 프로그램을 선택적으로 Access 할 수 있는 모든 시스템에 적용 가능하다.
도 1에 나타난 바와 같이, 컴퓨터의 전체적인 동작을 제어하는 제어부(101)와, a floppy disc/a optical disc drive (102), a RAM (103), 모니터 등과 같은 a display unit (104), 본 발명의 Remapping 구현을 위한 프로그램이 저장되는 a flash memory (105), 키보드/마우스 등과 같은 input units인 사용자 입력 수단 (106), Remapping 명령등이 수행되기 위한 a network interface (107), 2개 이상의 시스템 Operating System (OS) (운영체계)가 저장되는 HDD (Hard Disk Drive) (109)을 포함하여 구성된다.
도 1과 같이 구성된 본 발명의 notebook computer는 read/write 동작을 하며, 전원이 오프되는 경우에도 정보를 저장하게 된다.
상기 Flash memory (105)에는 본 발명의 Address Remapping을 위한 프로그램 및 데이터들이 Storing (저장) 된다.
예를 들어 도 8과 같이 Address Swapping/Overriding을 위한 명령어가 adding(추가)된 firmware, System BIOS의 INT13x Handler 의 변경된 프로그램, Option ROM Firmware, Windows OS상의 Filter Driver 또는 Remapping 할 주소 및 Size를 프로그램 할 Command Interface 등이 저장된다.
또한 상기 메모리 (105)에는 BIOS (Basic Input/Output System) (108)를 포함한다. 상기 BIOS ROM은 별도로 구성될 수도 있다.
상기 BIOS ROM에 저장된 ROM BIOS는 시스템을 동작할 운영체계 (OS)가 시스템을 제어하도록, 사용자 명령에 의거 시스템 동작을 위해 필요한 초기 환경을 설정한다. 즉 ROM BIOS는 시스템이 Turn on 이후에 부팅 동작을 위한 Process를 수행한다.
본 발명에서의 상기 Remapping은, BIOS Post 동작 중 Function Key등으로 제 2 OS Booting을 알릴 수도 있고, Bios setup menu에 어드레스를 Swapping을 할 것인지, Overriding을 할 것 인지 등의 선택을 통해 가능하다.
도 2는 OS 및 데이터가 저장되는 Hard Disk의 내부 구조를 나타낸 도면이다.
도면에서 보는 바와 같이, 1개의 HDD (210)에는 복수 개의 시스템 운영체계 (OS) (201)(202)가 저장되어 있다.
상기 복수 개의 운영체계는 서로 다르나, 기본 구조는 같다. 따라서 제 1 OS (201)의 구조만을 이용하여 설명한다.
MBR(master boot record) (201a) : 파티션 정보와 부팅 파일들의 주소가 있다. 시스템 전원을 켜면 이곳에서 부팅 파일 주소를 읽고, 그 자리로 가서 부팅 파일을 읽어와 메모리에 등록시킨다.
일반적으로 현재 시스템은 부팅 파일 읽는 주소가 시작 주소로 셋팅 되어 있어 전원을 켜는 경우 상기 시작 주소의 부팅 파일을 읽어 시스템을 부팅 시킨다.
따라서 상기와 같은 부팅 주소 읽는 프로세스가 본 발명의 Address Remapping을 하는 이유이기도 하다. 즉, Address Remapping을 통해 시스템을 동작 시키기 위한 목표 OS, 예를 들어 제 2 OS (202)의 관련 정보 및 데이터를 시작주소, 예를 들어 제 1 OS (201) 위치로 이동 시키는 결과를 가지게 할 수 있다.
부트리코더 (201b) : 부팅 파일들이 저장되어 있다.
FAT (File Allocation Table) 1 또는 NTFS 1(new technology file system) (201c): 데이터를 저장하는 클러스터 번호가 적혀 있다.
FAT 2 또는 NTFS 2 (201d) : FAT 1 또는 NTFS 1의 복사본이다.
루트 디렉토리 (201e): 파일 이름, 크기, 시작 섹터, 파일 속성 등 파일에 대한 정보가 들어 있다. 시작 클러스터 번호도 저장되었다.
데이터 저장 공간 (201f) : 실제로 데이터가 저장되었다.
도 3의 (a),(b)는 본 발명의 Address Remapping 구현의 하나의 예로써, Address Swapping를 나타낸 도면이다.
도 3의 (a)에서 보는 바와 같이, 1개의 HDD Disk의 어드레스에는 두개의 영역 (A영역(301), B영역 (303))이 존재하며, 각 영역에는 각각 서로 다른 시스템 운영체계 (OS), 예를 들어 A영역에는 DOS, B영역에는 Window가 저장되어 있다.
또한 A영역의 크기(Size)는 100이고, 시작 Address는 0이다. 따라서 A영역은 0-99 Address이다. 또한 B영역의 크기(Size)는 100이고, 시작 Address는 1000이다. 따라서 B영역은 1000-1099 Address이다.
상기 Address 크기는 임의로 설정한 것으로 임의적인 값이다. 상기와 같이 구성되어 저장된 OS 상태에서, 시스템 부팅 중 또는 OS 동작 중에 사용자가 Address Remapping을 위한 제어명령, 예를 들어 미리 정한 키 (Function key등) 입력 또는 Setup menu에서의 선택, 에 의거 Swapping이 수행된다.
도 3의 (b)는 도 3의 (a)의 Address가 Swapping된 상태를 나타낸 도면이다.
Address Swapping을 통해 도 3(a)의 B영역 1000-1099 Address에 저장되어 있는 제 2 OS의 정보 및 데이터는, 도 3(b)의 B영역 0-99 Address로 이동 되는 결과가 된다. 즉 시스템의 Access 측면에서 판단 했을때 저장 위치가 바뀐 상태가 되는 것이다.
한편, 도 3(a)의 A영역 0-99 Address에 저장되어 있는 제 1 OS의 정보 및 데이터는, 도 3b의 B영역 1000-1099 Address로 이동되는 결과가 된다.
상기와 같은 Address Swapping을 통해, Access 측면에서 각 OS의 Address 정보가 서로 바꾸어 저장되는 형태가 된다. 따라서 시작 Address부터 Reading되도록 설정된 시스템에 의거 사용자가 목적하는 OS를 구동 시킬 수 있다.
도 4의 (a),(b)는 본 발명의 Address Remapping 구현의 하나의 예로써, Address Overriding을 나타낸 도면이다.
도 4의 (a)에서 보는 바와 같이, 1개의 HDD Disk의 어드레스에는 두 개의 영역 (A영역(401), B영역 (403))이 존재하며, 각 영역에는 각각 서로 다른 시스템 운영체계 (OS), 예를 들어 A영역에는 DOS, B영역에는 Window가 저장되어 있다.
또한 A영역의 크기(Size)는 100이고, 시작 Address는 0이다.
따라서 A영역은 0-99 Address이다. 또한 B영역의 크기(Size)는 100이고, 시작 Address는 1000이다. 따라서 B영역은 1000-1099 Address이다.
상기 Address 크기는 임의로 설정한 것으로 임의적인 값이다. 상기와 같이 구성되어 저장된 OS 상태에서, 시스템 부팅 중 또는 OS 동작 중에 사용자가 Address Remapping을 위한 제어명령, 예를 들어 미리 정한 키 (Function key등)입력 또는 Setup menu에서의 선택, 에 의거 Overriding이 수행된다.
도 4의 (b)는 도 4의 (a)의 Address가 Overriding 된 상태를 나타낸 도면이다.
Address Overriding을 통해 도 4 (a)의 B영역 1000?1099 Address에 저장되어 있는 제 2 OS의 정보 및 데이터는, 도 4 (b)의 제 1 B영역 0 - 99 Address 및 제 2 B영역 1000 - 1099 Address에 저장된다.
상기와 같은 Address Overriding을 통해 동작하고자 하는 OS 의 정보 및 데이터가 각각의 Address에 동일하게 저장되게 된다. 따라서 시작 Address부터 Reading되도록 설정된 시스템에 의거 사용자가 목적하는 OS를 구동 시킬 수 있다.
상기에서 언급된 제 1 OS인 DOS, 제 2 OS인 Window는 하나의 예로써 나타낸 것이며, 이를 다른 프로그램으로 변경하여 사용하는 것은 당연한 것이다.
도 5는 본 발명에 의한 Remapping이 수행되는 것을 나타낸 제 1 흐름도이다.
하나의 Hard disk내의 서로 다른 주소(Address)에 서로 다른 운영체계 (OS)를 각각 로딩한다. (S 501). 이때 제 1 OS는 시작 주소를 시작으로 하여 저장되어 있다. 따라서 시스템은 상기 제 1 OS를 Reading하여 동작 된다. (S 503).
상기 제 1 OS에 의거 시스템이 동작 중에, 제 2 OS에 의거 동작 되도록 하기 위해 사용자의 제어 명령 등이 입력되는 경우 (S 505), 제어부의 제어에 의거 동작될 OS 정보가 시작 어드레스 위치로 이동되는 결과가 되도록 Address Remapping을 수행한다. (S 507).
상기 동작 될 OS의 어드레스 정보 위치 변경은 Address Swapping 또는 Address Overriding을 통해 이루어진다. 이후 시스템에 기본 동작으로 설정된 시작 Address를 Reading하여 (S 509), 제 2 OS에 의거 시스템을 동작시킨다. (S 511).
도 6은 본 발명에 의한 Remapping이 수행되는 것을 나타낸 제 2 흐름도이다.
하나의 Hard disk내의 서로 다른 주소(Address)에 서로 다른 운영체계 (OS)를 각각 로딩한다. (S 601). 이때 제 1 OS는 시작 주소를 시작으로 하여 저장되어 있다. 따라서 시스템은 상기 제 1 OS를 Reading하여 동작 될 것이다.
상기와 같이 설정된 상태에서, 제 2 OS에 의거 동작 되도록 하기 위해 사용자의 제어 명령 등이 입력되는 경우 (S 603), 제어부의 제어에 의거 동작될 OS 정보가 시작 어드레스 위치로 이동되는 결과가 되도록 Address Remapping을 수행한다. (S 605).
상기 동작 될 OS의 어드레스 위치 변경은 Address Swapping 또는 Address Overriding을 통해 이루어진다. 이후 시스템에 기본 동작으로 설정된 시작 Address를 Reading하여, 제 2 OS에 의거 시스템을 동작시킨다. (S 607).
한편, 제 1 OS가 시작 주소를 시작으로 하여 저장되어 있는 상태에서, 사용 자의 제어 명령 등이 입력되지 않는 경우, 시스템은 상기 제 1 OS를 Reading하여 동작 된다. (S 609).
상기의 본 발명을 설명하는데 있어서, 서로 다른 OS 사용의 예를 들어 설명하였으나, OS이외 다른 프로그램 사용에도 적용 가능하며, 또한 동일한 프로그램을 서로 다른 어드레스에 저장하여 필요시, 예를 들어 시스템 복구시, 어드레스 Remapping을 통해 정상적인 프로그램을 Access 할 수도 있을 것이다.
도 7은 Address Remapping을 위한 Swapping 및 Overriding을 나타내는 Flow-chart이다.
먼저, 서로 다른 Address에 저장된 각각의 OS를 Swap할 것인지를 판단하여 (S 701), Swapping을 위한 사용자 제어 명령 등이 입력되는 경우, A영역과 B영역의 Address Swapping을 수행한다.
먼저, 영역 A (Region A)에 대한 주소를 Swapping 하는 경우, 새로운 Address는 다음의 수식에 의거 산출된다.
New Address = Address - ADD_A + ADD_B (Address : Region A의 Address (0 -99), ADD_A : Region A의 시작 주소인 0, ADD_B : Region B 영역의 시작 주소인 1000 ).
따라서 상기 수학식 1에 의거, Region A의 O번지의 Swapping에 대응되는 New Address는 Region B의 1000번지가 될 것이며, Region A의 1O번지의 Swapping에 대응되는 New Address는 Region B의 1010 번지가 될 것이다. (S 703, S705).
한편, B영역 (Region B)에 대한 주소를 Swapping하면, 새로운 Address는 다음의 수식에 의거 산출된다.
New Address = Address + ADD_A - ADD_B
따라서 상기 수학식 2에 의거, Region B의 100O번지의 Swapping에 대응되는 New Address는 Region A의 0번지가 될 것이며, Region B의 101O번지의 Swapping에 대응되는 New Address는 Region A의 10번지가 될 것이다. (S 707, S709).
한편, 어드레스를 Overriding하는 경우, B영역으로 Overriding할 경우에는 다음의 수식에 의거 새로운 어드레스가 도출된다.
New Address = Address + ADD_A - ADD_B
따라서 상기 수학식 3에 의거, Region B의 100O번지의 Overriding에 대응되는 New Address는 Region A의 0번지가 될 것이며, Region B의 101O번지의 Overriding에 대응되는 New Address는 Region A의 10번지가 될 것이다. (S 713, S717).
상기 수학식 결과에 의거 도출된 새로운 Address를 읽어 시스템을 부팅 시키게 된다.
도 8, 9 및 10은 본 발명에 의한 Hard disk를 Remapping 하는데 사용되는 명령어 및 실행과정을 나타낸 firmware이다.
도면에 나타난 바와 같이, 기본적으로 다음의 명령들의 구현이 필요하다.
SET PHYSICAL ADDRESS SWAP (Non Volatile) : 지정한 두 Address 영역을 접근을 바꾼다. HDD Reset 혹은 Platform 이 걸린 후 본 설정은 유지 된다.
SET PHYSICAL ADDRESS SWAP-V (Volatile) : 지정한 두 Address 영역을 접근을 바꾼다. HDD Reset 혹은 Platform 에도 본 설정이 저장되지 않는다.
SET PHYSICAL ADDRESS Overriding (Non Volatile) : 특정 영역의 접근하고자 할 때, 다른 영역으로 접근하도록 재 지향한다. HDD Reset 혹은 Platform 이 걸린 후 본 설정은 유지 된다.
SET PHYSICAL ADDRESS Overriding-V (Volatile) : 특정 영역의 접근하고자 할 때, HDD Reset 혹은 Platform 에도 본 설정이 유지 되지 않는다.
먼저, 도 8a,8b,8c 및 8d Swap 및 Override를 수행하기 위해 설정된 상수값이다.
도 9는 Swap 및 Override를 수행하기 위한 명령을 비휘발성 메모리에 초기화 및 BIOS를 호출하는 과정을 나타낸다.
도면에서 보는 바와 같이, 다음과 같은 SWAP/OVERRIDE를 수행시, 사용될 PARAMETER를 NvRAM에 초기화 할 수 있으며, BIOS를 호출함으로써 다음번 부팅에 적용된다.
BIOS의 호출은 여러가지 방법이 가능하다. 예를 들어 사용되지 않는 Software Interrupt (Ex, INT15 )를 할당하여 사용하거나, SMI Trap Service등을 등록하여 사용할 수 있다.
도 10은 BIOS의 포스트 과정 또는 부팅 과정에서 조건에 따라 SWAP 및 OVERRIDE가 수행되는 과정을 나타낸다.
또한 OpROM 및 Filter Driver 코드도 상기와 같은 구조를 가지는 것으로 작성 할 수 있을 것이다.
도면에서 보는 바와 같이, 아래는 시스템 BIOS의 포스트및 BOOTING 과정이다.
NvCondion및 NvEngagement 가 모두 0이 아닐 경우만, SWAP및 OVERRIDE가 발생하고, 이외의 경우는 NORMAL이다.
상기한 바와 같이 본 발명은, 서로 다른 동작 프로그램이 탑재된 시스템에서 Address Remapping을 통해 선택적으로 Access할 수 있는 시스템 동작 제어 장치 및 방법에 관한 것이다.
상기와 같이 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며 이는 해당되는 발명의 설명부분에서 상세히 그 의미를 기재하였으므로, 단순한 용어의 명칭이 아닌 용어가 가지는 의미로서 본 발명을 파악 하여야 됨을 밝혀두고자 한다.
또한 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면, 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 또 다른 다양한 실시 예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.
본 발명에 의하면, 하나의 Hard disk에서 Multi booting을 구현하고자 하는 경우, 각 OS의 MBR 정보를 변경할 필요 없이, 어드레스 Remapping을 통해 시스템 동작을 목적하는 OS에 관련된 정보가 사용자가 설정한 읽기 시작 어드레스 위치로 이동 시킴으로써, MBR정보의 안전과 함께 시스템 부팅의 에러를 방지할 수 있다.

Claims (25)

  1. 멀티 부팅이 가능한 시스템에 있어서,
    입력수단;
    서로 다른 운영체계가 저장되는 메모리 수단; 및
    시스템에서 부팅 동작 되도록 기본 설정된 운영체계와 다른 운영체계의 사용을 위한 명령 및 제어를 적어도 하나 이상 수행하는 제어부;에서,
    상기 제어부의 판단에 따라 각 운영체계의 어드레스를 Remapping하는 것을 특징으로 하는 시스템 동작 제어 장치.
  2. 제 1항에 있어서, 운영체계의 Address를 Remapping하기 위한 프로그램이 저장되는 플래시 메모리를 더 포함하는 것을 특징으로 하는 시스템 동작 제어 장치.
  3. 제 1항에 있어서, 서로 다른 운영체계는 동일 메모리내에 저장되는 것을 특징으로 하는 시스템 동작 제어 장치.
  4. 제 3항에 있어서, 서로 다른 운영체계는 동일 메모리 내에서 서로 다른 주소로 각 OS에 대응되는 MBR 정보를 가지는 것을 특징으로 하는 시스템 동작 제어 장치.
  5. 제 1항에 있어서, Address Remapping은 Address Swapping 또는 Address Overriding을 통해 수행되는 것을 특징으로 하는 시스템 동작 제어 장치.
  6. 제 5항에 있어서, 영역 A에 대한 Swapping 어드레스는 다음의 식에 의거 도출되는 것을 특징으로 하는 시스템 동작 제어 장치.
    New Address = Address - ADD_A + ADD_B (Address : Region A의 Address, ADD_A : Region A의 시작 주소, ADD_B : Region B 영역의 시작 주소)
  7. 제 5항에 있어서, 영역 B에 대한 Swapping 어드레스는 다음의 식에 의거 도출되는 것을 특징으로 하는 시스템 동작 제어 장치.
    New Address = Address + ADD_A - ADD_B
  8. 제 5항에 있어서, 영역 B에 대한 Overriding 어드레스는 다음의 식에 의거 도출되는 것을 특징으로 하는 시스템 동작 제어 장치.
    New Address = Address + ADD_A - ADD_B
  9. 제 5항에 있어서, Overriding에 의한 각각의 어드레스에서의 MBR 정보는 같은 것을 특징으로 하는 시스템 동작 제어 장치.
  10. 제 1항에 있어서, 어드레스 Remapping은 시스템에서 기본적으로 사용되도록 설정된 운용체계 (OS)와 다른 운용체계가 사용하도록 하기 위해 수행되는 것을 특징으로 하는 시스템 동작 제어 장치.
  11. 복수개의 서로 다른 운영체계가 탑재된 시스템의 동작 방법에 있어서,
    복수의 운영체계가 메모리의 서로 다른 Address에 로딩 되는 단계;
    제 1 운영체계를 통해 시스템이 동작되는 단계;
    제 2 운영체계를 이용하여 시스템을 동작할 것인지를 판단하는 단계;
    상기 판단 결과에 의거, Address Remapping을 수행하는 단계; 및
    상기 Remapping한 Address의 운영체계를 이용하여 시스템을 동작하는 단계;를 포함하는 것을 특징으로 하는 시스템 동작 제어 방법.
  12. 제 11항에 있어서, Remapping된 OS 어드레스의 부팅 시작번지를 읽는 단계를 더 포함하는 것을 특징으로 하는 시스템 동작 제어 방법.
  13. 제 12항에 있어서, 시스템을 운영할 새로운 제 2 운영체계의 관련 정보가 읽혀 지는 것을 특징으로 하는 시스템 동작 제어 방법.
  14. 제 11항에 있어서, Address Remapping은 Address Swapping 또는 Address Overriding을 통해 수행되는 것을 특징으로 하는 시스템 동작 제어 방법.
  15. 제 14항에 있어서, Address Swapping에 의해, 제 1, 2 운영체계의 Address 정보 위치가 서로 바뀌는 결과가 되는 것을 특징으로 시스템 동작 제어 방법.
  16. 제 14항에 있어서, Address Overriding에 의해, 제 2 운영체계의 관련 정보로 각 Address 정보가 변경되는 결과가 되는 것을 특징으로 시스템 동작 제어 방법.
  17. 제 11항에 있어서, 복수의 운영체계는 동일 메모리의 서로 다른 Address에 각각 로딩되는 것을 특징으로 하는 시스템 동작 제어 방법.
  18. 멀티 부팅 시스템에서 선택적으로 OS를 Access 하는 방법에 있어서,
    복수의 운영체계가 메모리의 서로 다른 Address에 로딩되는 단계;
    시스템에서 동작될 운영체계를 판단하는 단계;
    상기 판단 결과에 의거, Address Remapping을 수행하는 단계; 및
    상기 Remapping한 Address의 운영체계를 이용하여 시스템을 동작하는 단계;를 포함하는 것을 특징으로 하는 시스템 동작 제어 방법.
  19. 제 18항에 있어서, 미리 정한 명령이 입력되는 경우, Address Remapping을 수행하는 것을 특징으로 하는 시스템 동작 제어 방법.
  20. 제 19항에 있어서, 미리 정한 입력은 부팅과정을 포함하여 OS가 사용되는 전과정을 통해 입력되는 것을 특징으로 하는 시스템 동작 제어 방법.
  21. 제 19항에 있어서, 미리 정한 입력 명령은 Function key 입력 또는/및 BIOS set up menu에서의 선택명령을 포함하는 것을 특징으로 하는 시스템 동작 제어 방법.
  22. 제 18항에 있어서, 시스템에 기본 설정된 운영체계와 다른 운영체계를 이용하기 위한 미리 정한 명령이 입력되는 경우, Address Remapping을 수행하는 것을 특징으로 하는 시스템 동작 제어 방법.
  23. 제 22항에 있어서, 미리 정한 명령은, 미리 정한 키가 입력되는 것을 포함하는 것을 특징으로 하는 시스템 동작 제어 방법.
  24. 제 23항에 있어서, 미리 정한 명령은, 시스템 기본 입출력 제어 수단에 의한 제어 명령을 포함하는 것을 특징으로 하는 시스템 동작 제어 방법.
  25. 복수의 프로그램이 메모리의 서로 다른 Address에 로딩되는 단계;
    시스템에서 동작될 프로그램을 판단하는 단계;
    상기 판단 결과에 의거, Address Remapping을 수행하는 단계; 및
    상기 Remapping한 Address의 프로그램을 이용하여 시스템을 동작하는 단계;를 포함하는 것을 특징으로 하는 시스템 동작 제어 방법.
KR1020060061799A 2006-07-03 2006-07-03 시스템 동작 제어 장치 및 방법 KR101121641B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020060061799A KR101121641B1 (ko) 2006-07-03 2006-07-03 시스템 동작 제어 장치 및 방법
US11/622,728 US7689802B2 (en) 2006-07-03 2007-01-12 Controlling memory access in a multi-booting system
CNB2007100073341A CN100501678C (zh) 2006-07-03 2007-01-24 在多引导系统中控制存储访问
EP20070101478 EP1876528A3 (en) 2006-07-03 2007-01-31 Controlling memory access in a multi-booting system
JP2007175445A JP5826985B2 (ja) 2006-07-03 2007-07-03 システム作動制御方法およびマルチ起動システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060061799A KR101121641B1 (ko) 2006-07-03 2006-07-03 시스템 동작 제어 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080003490A true KR20080003490A (ko) 2008-01-08
KR101121641B1 KR101121641B1 (ko) 2012-04-16

Family

ID=37914268

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060061799A KR101121641B1 (ko) 2006-07-03 2006-07-03 시스템 동작 제어 장치 및 방법

Country Status (5)

Country Link
US (1) US7689802B2 (ko)
EP (1) EP1876528A3 (ko)
JP (1) JP5826985B2 (ko)
KR (1) KR101121641B1 (ko)
CN (1) CN100501678C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101489158B1 (ko) * 2008-05-21 2015-02-06 삼성전자 주식회사 마스터 부트 레코드가 저장되어 있는 저장매체, 이를포함하는 컴퓨터 시스템 및 그 부팅방법

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7921453B2 (en) * 2006-12-22 2011-04-05 Intel Corporation Authenticated distributed detection and inference
US20110138163A1 (en) * 2008-08-14 2011-06-09 Junko Suginaka Dual-boot control method and dual-boot computer
US9626511B2 (en) * 2008-08-26 2017-04-18 Symantec Corporation Agentless enforcement of application management through virtualized block I/O redirection
US8239667B2 (en) * 2008-11-13 2012-08-07 Intel Corporation Switching between multiple operating systems (OSes) using sleep state management and sequestered re-baseable memory
US8190574B2 (en) * 2010-03-02 2012-05-29 Storagecraft Technology Corporation Systems, methods, and computer-readable media for backup and restoration of computer information
JP2013047883A (ja) * 2011-08-29 2013-03-07 Jvc Kenwood Corp 情報処理装置及びその起動方法
WO2013035141A1 (ja) * 2011-09-05 2013-03-14 Suginaka Junko 情報処理装置、その起動制御方法、その起動制御プログラム及び外部デバイス
US9135447B1 (en) * 2012-01-30 2015-09-15 Symantec Corporation Systems and methods for deploying a pre-boot environment to enable an address offset mode after execution of system bios for booting a operating system in a protected area
CN102736932B (zh) * 2012-05-16 2015-12-16 上海斐讯数据通信技术有限公司 镜像文件、镜像文件的制作方法及多系统的启动引导方法
CN103577201B (zh) * 2012-07-20 2018-04-06 上海斐讯数据通信技术有限公司 嵌入式双系统的更新方法及系统
US9342243B2 (en) * 2012-11-28 2016-05-17 Lenovo (Beijing) Co., Ltd. Method and electronic apparatus for implementing multi-operating system
WO2014091629A1 (ja) * 2012-12-14 2014-06-19 富士通株式会社 記憶装置の管理プログラム、電子装置及び記憶装置の管理方法
US9697010B2 (en) 2014-03-25 2017-07-04 Microsoft Technology Licensing, Llc User selectable operating systems
CN104142838A (zh) * 2014-07-02 2014-11-12 青岛海信移动通信技术股份有限公司 一种移动通信终端开机启动的方法和设备
CN105809050B (zh) * 2014-12-31 2018-10-02 北京元心科技有限公司 一种多操作系统的隔离方法及装置
JP6341192B2 (ja) * 2015-12-22 2018-06-13 カシオ計算機株式会社 情報処理装置、制御方法及びプログラム
EP3376391A1 (en) * 2017-03-17 2018-09-19 Ricoh Company Ltd. Information processing apparatus, updating method, and carrier means
US10185571B2 (en) * 2017-06-08 2019-01-22 Vmware, Inc. Intelligent UEFI run-time services address space management
US11868635B2 (en) * 2020-04-20 2024-01-09 Western Digital Technologies, Inc. Storage system with privacy-centric multi-partitions and method for use therewith
CN112596678B (zh) * 2020-12-24 2024-01-16 得一微电子股份有限公司 一种存储设备及其固件设置方法、重新分区方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0318928A (ja) * 1989-06-16 1991-01-28 Hitachi Ltd システムロード処理方法およびデイスク制御装置
US5136711A (en) 1990-10-17 1992-08-04 Ast Research System for multiple access hard disk partitioning
US6430663B1 (en) * 1998-07-06 2002-08-06 Adaptec, Inc. Methods for selecting a boot partition and hiding a non-selected partition
US6385721B1 (en) 1999-01-22 2002-05-07 Hewlett-Packard Company Computer with bootable hibernation partition
KR20010012032A (ko) * 1999-07-19 2001-02-15 유춘열 다중 컴퓨터 오퍼레이팅 시스템 사용 장치
US6532538B1 (en) * 2000-02-17 2003-03-11 International Business Machines Corporation Method and system for supporting multiple operating systems on the same disk running on different computers at the same time
US6658563B1 (en) 2000-05-18 2003-12-02 International Business Machines Corporation Virtual floppy diskette image within a primary partition in a hard disk drive and method for booting system with virtual diskette
JP2002108485A (ja) * 2000-09-29 2002-04-10 Toshiba Corp 情報処理装置及び情報処理装置の起動方法
JP3677252B2 (ja) * 2002-03-22 2005-07-27 株式会社東芝 情報機器、記憶媒体、及び初期状態復元方法
JP2003308230A (ja) * 2002-04-12 2003-10-31 Matsushita Electric Ind Co Ltd 記録媒体処理装置
KR100452325B1 (ko) 2002-12-23 2004-10-12 한국전자통신연구원 프로세서 번호 할당 및 순차적 부팅이 가능한에이엠비에이 버스 기반 멀티프로세서 시스템
TWI223774B (en) 2003-07-18 2004-11-11 Mitac Technology Corp Selectable booting operation method by the bios with the multi-partition in the disk
JP2005202942A (ja) * 2003-12-16 2005-07-28 Matsushita Electric Ind Co Ltd 情報記録媒体、データ処理装置及びデータ処理方法
KR100532505B1 (ko) * 2004-02-17 2005-11-30 삼성전자주식회사 하드디스크 드라이브의 분할 방법 및 이에 적합한하드디스크 드라이브
JP2006031635A (ja) * 2004-07-21 2006-02-02 Toshiba Corp 情報処理装置およびソフトウェア更新方法
US7600105B2 (en) * 2004-09-22 2009-10-06 Cyberlink Corp. Systems, methods, and apparatus for providing efficient startup to computers with peripheral devices
JP2006139550A (ja) * 2004-11-12 2006-06-01 Matsushita Electric Ind Co Ltd 記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101489158B1 (ko) * 2008-05-21 2015-02-06 삼성전자 주식회사 마스터 부트 레코드가 저장되어 있는 저장매체, 이를포함하는 컴퓨터 시스템 및 그 부팅방법

Also Published As

Publication number Publication date
JP5826985B2 (ja) 2015-12-02
EP1876528A2 (en) 2008-01-09
EP1876528A3 (en) 2009-04-29
CN101101557A (zh) 2008-01-09
US7689802B2 (en) 2010-03-30
US20080005527A1 (en) 2008-01-03
JP2008016030A (ja) 2008-01-24
KR101121641B1 (ko) 2012-04-16
CN100501678C (zh) 2009-06-17

Similar Documents

Publication Publication Date Title
KR101121641B1 (ko) 시스템 동작 제어 장치 및 방법
US7519806B2 (en) Virtual partition for recording and restoring computer data files
EP1378830B1 (en) Operating system selector and data storage drive
US5787491A (en) Fast method and apparatus for creating a partition on a hard disk drive of a computer system and installing software into the new partition
US5136711A (en) System for multiple access hard disk partitioning
US7024549B1 (en) Disk drive having a protected partition configured to load an operating system for performing a user-selected function
US6889340B1 (en) Use of extra firmware flash ROM space as a diagnostic drive
US6308264B1 (en) Dual use master boot record
US7124290B2 (en) Method and system for selectively booting one of a plurality of operating systems contained on a mass storage device
JP4886866B2 (ja) 主記憶装置へのアクセスを高速化する方法および記憶装置システム
KR101489158B1 (ko) 마스터 부트 레코드가 저장되어 있는 저장매체, 이를포함하는 컴퓨터 시스템 및 그 부팅방법
JPH08147202A (ja) 書換え可能なromファイル装置
JP2000511313A (ja) 取り外し可能メディアのディスク・ドライブをコンピュータ・システムに統合化するための方法
JP2003162433A (ja) メモリシステム
KR102429346B1 (ko) 메모리 업그레이드 시스템 및 방법
JP4572205B2 (ja) フラッシュメモリドライブ装置、その制御方法及びそのプログラム
KR940005773B1 (ko) Rom 디스크와 ram 디스크가 기능적으로 결합된 디스크 화일을 제어하기 위한 메모리 액세스 제어장치 및 방법
WO2014091629A1 (ja) 記憶装置の管理プログラム、電子装置及び記憶装置の管理方法
JP5950290B1 (ja) 不揮発性記憶デバイス及び不揮発性記憶デバイスの処理方法
JP2664168B2 (ja) 情報処理装置の起動方法
JPH09293012A (ja) 情報処理装置
JPH0619716B2 (ja) ディスクによるシステム起動方法
JP2016162465A (ja) 不揮発性記憶デバイス及び不揮発性記憶デバイスの処理方法
JP2002023959A (ja) ディスクアレイ制御装置
JPH04349532A (ja) コンピュータシステムのosブート方式

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161223

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171222

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191224

Year of fee payment: 9