KR20010012032A - Devices for using Multi OSs - Google Patents

Devices for using Multi OSs Download PDF

Info

Publication number
KR20010012032A
KR20010012032A KR1019990049527A KR19990049527A KR20010012032A KR 20010012032 A KR20010012032 A KR 20010012032A KR 1019990049527 A KR1019990049527 A KR 1019990049527A KR 19990049527 A KR19990049527 A KR 19990049527A KR 20010012032 A KR20010012032 A KR 20010012032A
Authority
KR
South Korea
Prior art keywords
memory
address
loaded
oss
data
Prior art date
Application number
KR1019990049527A
Other languages
Korean (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 KR1019990049527A priority Critical patent/KR20010012032A/en
Publication of KR20010012032A publication Critical patent/KR20010012032A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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

Abstract

PURPOSE: A device for using multiple operating systems of a computer is provided to load a multiple number of operating systems(OS) by dividing a memory address into a number of independent memories and to enable the use of a multiple operating systems and their applications in one computer by switching over between the operating systems. CONSTITUTION: A system is initiated(51), a POST(power On Self-Test) is executed through a normal procedure, and an OS is loaded after the booting process. If a user desires to use a different OS(53), the device passes through a process that determines whether the desired OS has been loaded(54), a designated OS conversion key is pressed, and the system control proceeds to BIOS(Basic Input/Output System). The currently active OS's data is stored in a different protected address of a different memory or a different storage medium(55). A disk controller and other designated or necessary devices are initialized(56), a new OS is booted in a designated disk or a network device and loaded to a memory in a normal procedure(57). If the user desires to use a different OS, the step 54 is executed. If the OS has been loaded, the storage device and the address where the OS is stored is determined(58) and the previously active OS's data is transferred and stored in a different storage device(59). A new OS is used by initializing certain devices and loading the OS to a memory(60).

Description

다중 컴퓨터 오퍼레이팅 시스템 사용 장치{Devices for using Multi OSs}Devices for using Multi OSs

BIOS는 단어의 뜻 그대로 컴퓨터의 주변 기기를 접근하여 입.출력을 할 수 있도록 연결하여 주는 역할을 한다. 이러한 BIOS 의 데이터가 메모리 장치에 로드되고 OS 혹은 응용 프로그램이 이 메모리 주소를 통하여 데이터를 주고 받는다. 현재의 메모리와 입출력 구조는 하나의 OS를 기준으로 제작되어 있다. 다른 OS의 응용 프로그램을 사용하기 위해서는 기존 OS에서 운용되는 EMULATOR PROGRAM을 제작하여, 응용 프로그램이 이 EMULATOR 를 통하여 기존 OS를 접근하며, BIOS를 제어한다.The BIOS connects the peripherals of the computer to the input and output of the word literally. This BIOS data is loaded into the memory device and the OS or application sends and receives data through this memory address. Current memory and input / output structures are manufactured based on one OS. In order to use the application of other OS, the EMULATOR PROGRAM operating in the existing OS is manufactured, and the application program accesses the existing OS through this EMULATOR and controls the BIOS.

복수 OS와 그 응용 프로그램을 가장 간단한 방법으로 사용 가능하게 한다.Make multiple OS and its applications available in the simplest possible way.

하나의 OS에서 주변 기기 장치를 점유하여 사용할 때에, 다른 OS로 전환하면 일부 주변 기기는 전환이 되지 않고 계속 기존 OS용으로 할당될 수 있도록 한다.When occupying and using a peripheral device in one OS, switching to another OS allows some peripheral devices to remain allocated for the existing OS without being switched.

메모리를 나누어 복수 개의 OS가 사용하도록 할 때에, OS간에 메모리 크기를 일정하게 정해 놓으면 하나의 OS에서 사용 가능한 메모리 크기가 제한되어 많은 크기의 메모리를 요구한다. 이러한 것을 막기 위해 시스템에서 메모리를 유동적으로 사용할 수 있도록 구성한다.When dividing the memory so that a plurality of OSs can be used, if the memory size is set constant among the OSs, the memory size that can be used in one OS is limited, which requires a large amount of memory. To prevent this, configure the system to use memory flexibly.

복수 개의 OS를 로딩하여 사용하는 방법에서 복수 개의 OS를 동시에 사용할 수 있도록 한다. 복수 개의 OS를 로딩하여 하나의 OS만을 선택 사용할 수 있도록 한다.In the method of loading and using a plurality of OSs, the plurality of OSs can be used simultaneously. By loading multiple OS, only one OS can be used.

가장 간단하게 본 발명을 구현할 수 있는 방법을 도출한다. 이러한 방법으로 메모리 주소를 전환하지 않고 구현할 수 있도록 한다.The simplest way is to derive a way to implement the invention. In this way, the memory address can be implemented without switching.

하나의 OS를 사용 중에 다른 OS를 로딩할 수 있도록 일부 디스크 콘트롤러, 네트웍 장치, serial/parallel port 등의 장치를 초기화 할 수 있도록 한다.It allows you to initialize some disk controllers, network devices, serial / parallel ports, etc. so that you can load other OS while using one OS.

BIOS setup 에서 복수 개의 OS를 사용할 수 있도록 사전 설정하도록 한다.Pre-configure to use multiple OS in BIOS setup.

하나의 OS를 사용 중에 다른 OS를 사용하기 위해서 전환할 때에 시스템 제어를 하는 방법을 강구한다.Find out how to control the system when switching from one OS to another to use it.

도 1은 컴퓨터 시스템에서 주변 기기와 BIOS, 복수 개의 OS와 드라이버, 그 응용 프로그램의 관계를 나타낸 것이다.1 illustrates a relationship between a peripheral device and a BIOS, a plurality of OSs and drivers, and applications thereof in a computer system.

도 2는 메모리 장치에 OS, drivers와 응용 프로그램 등을 로딩하여 사용할 때에 기존의 방법에 의한 것, 완전히 메모리 장치를 3 개로 분할하여 각각의 메모리 장치에 BIOS와 각각의 OS에 대한 프로그램들을 로드한 것과 3 개로 분할하여 3 개의 OS를 사용할 경우에 BIOS를 공유하는 것을 나타낸 것이다.Figure 2 shows the conventional method when loading and using the OS, drivers and applications, etc. in the memory device, completely divided into three memory devices to load the BIOS and the program for each OS in each memory device It shows sharing the BIOS when using three OSs divided into three.

도 3은 2 개의 OS를 사용하는 경우에 전체 메모리 장치를 2 개로 분할하고, 두 번째 OS를 두 번째 메모리 장치에 로딩하여 사용할 경우에 최종 끝 주소를 2 번째 OS에서는 0 번지 주소로 전환하여 사용하는 경우를 나타낸 것이다.3 illustrates that when two OSs are used, the entire memory device is divided into two, and when the second OS is loaded and used in the second memory device, the final end address is converted to the address 0 in the second OS. The case is shown.

도 4는 본 발명을 이용한 시스템에서 하드웨어 구조를 나타낸 블록 다이어 그램이다.4 is a block diagram illustrating a hardware structure in a system using the present invention.

도 5는 하나의 OS를 메모리에 정상적인 방법으로 로딩하고 또 다른 OS를 로드해서 사용하기 위해 먼저 로드된 OS를 메모리의 다른 영역으로 이동하고 새로운 OS를 로드하여 사용하는 것을 나타낸 그림이다.FIG. 5 is a diagram illustrating a method of loading one OS into a memory in a normal manner and moving the loaded OS to another area of the memory and loading and using a new OS in order to load and use another OS.

도 6은 메모리에 OS를 로딩하고 이 OS의 데이터를 다른 저장 장치에 이동. 저장하고 다른 OS를 메모리에 로딩하여 사용하는 방법에 대한 흐름도이다.6 is a diagram of loading an OS into memory and moving data of the OS to another storage device. This is a flow chart of how to save and load another OS into memory.

기존의 컴퓨터 시스템은 1 컴퓨터 = 1 BIOS = 1 메모리 장치 = 1 OS 의 등식이다. 여기서의 BIOS는 입출력 장치를 제어하는 장치를 뜻한다. 이 BIOS는 메모리 장치에 로딩되어 OS 혹은 응용 프로그램이 컴퓨터 시스템의 각종 주변 기기에 데이터를 전송.수신할 때에 관문 역할을 한다. 본 발명에서는 IO 메모리 주소, 각종 어뎁터 카드의 데이터등을 메모리 장치에 로딩하여 메모리로 부터 이러한 IO 메모리 주소를 통하여 데이터를 전송.수신하거나 어뎁터 카드에 대한 정보를 읽어 들이는 데 이러한 모든 BIOS 상의 데이터가 메모리 장치에 로딩되는 것을 "BIOS" 라고 통칭한다. 응용 프로그램은 OS를 통하여 작동한다. 이러한 구조를 나타낸 것이 도 1 이다. 도 1의 1은 컴퓨터 시스템의 주변 기기들, 2 는 1의 주변 기기의 입출력을 제어하는 BIOS, 3 은 BIOS를 통하여 그 주변 기기를 제어하는 컴퓨터 오퍼레이팅 시스템을 나타내며, 여기서는 'A'라는 OS (예: 윈도즈 95), 4 는 응용 프로그램과 'A' OS를 연결하여 주는 Drivers 프로그램들이며, 5 는 'A' OS용 응용 프로그램들이다. 여기서 도 1의 1 ~ 5 는 기존의 방법에 의해 컴퓨터 시스템을 작동시키는 구조이다. 위에 있는 구조들이 하위의 구조를 제어하여 최종적으로 전체 컴퓨터 시스템을 작동시키는 것이다. 여기서 2 ~ 5는 메모리 장치에 로드되어 이 메모리 장치의 데이터 내용과 주소 번지를 접근하여 1의 주변 기기를 제어. 사용한다.A conventional computer system is an equation of 1 computer = 1 BIOS = 1 memory device = 1 OS. The BIOS here refers to a device that controls an input / output device. This BIOS is loaded into a memory device and serves as a gateway for operating systems and applications to send and receive data to and from various peripherals in computer systems. In the present invention, the IO memory address, data of various adapter cards, etc. are loaded into the memory device to transmit or receive data from the memory through the IO memory address or to read information about the adapter card. Loading into a memory device is collectively referred to as "BIOS". The application runs through the OS. This structure is shown in FIG. 1 is a peripheral device of a computer system, 2 is a BIOS for controlling the input and output of the peripheral device of 1, 3 is a computer operating system for controlling the peripheral device through the BIOS, in this case an operating system called 'A' (example Windows 95) and 4 are Drivers programs that connect applications with 'A' OS, and 5 are applications for 'A' OS. 1 to 5 of FIG. 1 are structures for operating a computer system by the conventional method. The structures above control the substructures, eventually operating the entire computer system. 2 to 5 are loaded into the memory device to control the peripheral device of 1 by accessing the data contents and address of the memory device. use.

본 발명은 3 의 OS 가 하나만이 있는 것이 아니고 복수 개의 OS 가 동시에 있도록 한다. 6, 7 과 8 은 OS 'B', 그 장치 드라이버와 응용 프로그램을 각각 나타낸다. 9, 10과 11 은 다른 OS와 그 장치 드라이버와 응용 프로그램을 각각 나타낸다.According to the present invention, there is not only one OS of 3, but a plurality of OSs at the same time. 6, 7 and 8 represent OS 'B', its device drivers and applications, respectively. 9, 10, and 11 represent different OSs and their device drivers and applications, respectively.

이렇게 작동하기 위해서는 BIOS 정보를 메모리에 로딩하는데, 복수 개의 OS와 그 드라이버를 로딩하기 위해서는 메모리 장치를 복수개의 주소로 분할해야 한다. 이는 BIOS에서 메모리에 대한 정보를 수집할 때에 전체 메모리 주소를 인식하고 이를 분할하며, 다른 OS는 BIOS 데이터 정보 외에는 다른 메모리 주소를 접근하지 못하도록 하는 방법으로 간단히 메모리 주소를 분할할 수 있다. BIOS는 이렇게 분할된 메모리 주소를 다른 OS에서 접근하지 못하도록 OS 별로 구분한다. 이렇게 분할된 메모리 장치에 각각의 OS와 그 드라이버 화일들을 로딩하여 사용한다. 이렇게 하면 다른 OS와 그 응용 프로그램을 사용하기 위해서 EMULATOR 프로그램을 사용할 필요가 없고 직접 각각의 OS, Drivers 와 응용 프로그램이 BIOS 정보를 접근하기 때문에 실행이 빠르다.To do this, BIOS information is loaded into memory. To load multiple operating systems and their drivers, the memory device must be divided into multiple addresses. When the BIOS collects information about the memory, it recognizes and partitions the entire memory address and simply partitions the memory address in such a way that no other OS can access it except the BIOS data information. The BIOS divides this divided memory address by OS so that no other OS can access it. Each OS and its driver files are loaded and used in this divided memory device. This eliminates the need to use the EMULATOR program to use other operating systems and their applications, and is faster because each OS, drivers, and applications directly access BIOS information.

BIOS에서는 하나의 컴퓨터에 동시에 2 개의 OS가 로딩되어 작동하므로 동시에 2 개의 OS가 모두 작동하면 2 개의 OS 가 모두 주변 기기를 사용하고자 할 수 있다. 그러나 mouse, keyboard와 비디오 카드등은 OS가 전환되면 즉시 새로운 OS로 전환되어 데이터를 입출력하도록 준비가 되어야 한다. 이러한 주변 기기 장치들에 대한 OS 별 점유 사용 혹은 전환 사용은 소프트웨어적으로 설정하므로써 가능하다. 전환되지 않도록 설정된 장치는 OS가 비활성화 되었더라도 BACKGROUND에서 계속 실행되도록 한다.In the BIOS, two OSs can be loaded and run on the same computer at the same time, so if both OSs work at the same time, both OSs may want to use peripherals. But as soon as the OS switches, the mouse, keyboard, and video card should switch to the new OS and be ready to input and output data. Occupying or switching usage by OS for these peripheral devices is possible by software configuration. Devices that are not switched will continue to run in the BACKGROUND even if the OS is disabled.

로딩된 각각의 OS를 선택하여 사용하기 위해서는, BIOS에서 이들 OS 를 선택하기 위해 입력 장치를 입력하는 방법에 대한 수단(예: CTRL + ALT + Function 키의 조합 등으로 전환)이 필요하다.In order to select and use each loaded OS, some means of how to enter the input device (eg switch to a combination of CTRL + ALT + Function keys, etc.) to select these OSs in the BIOS is required.

도 2는 기존의 BIOS 와 OS의 방법의 경우(도 2의 20), 메모리 장치를 아주 별개의 메모리 장치 그룹으로 나누고, 이 들의 각각의 메모리 장치에 각각의 BIOS 정보와 OS를 로드한 경우(도 2의 21)의 메모리 장치 21a, 21b와 21c를 나타낸 것과, BIOS 를 공유하는 경우(22)를 각각 기술한 것이다.FIG. 2 shows the conventional BIOS and OS method (20 in FIG. 2), which divides the memory devices into very separate memory device groups and loads the respective BIOS information and OS into their respective memory devices (FIG. 2 shows the memory devices 21a, 21b and 21c of 21) and the case where the BIOS is shared (22).

OS, Drivers와 응용 프로그램에서 일정 메모리 주소를 점유하여 사용하도록 되어 있는 경우에는 메모리 관리가 복잡해 질 수 있다. 사용하는 OS를 두개(OS 'A'와 OS 'B')로 제한하는 경우에는 이러한 경우를 막기 위해서 메모리를 2 개의 각각의 장치('A'와 'B')로 분리하고, BIOS 에서는 두 개의 OS 에 각각의 메모리 장치를 할당하고, 하나의 OS는 'A'의 메모리 장치를 정상적인 방법으로 사용하고, 다른 OS는 'B'의 메모리 장치를 사용하는데, BIOS에서 OS 'B'로 선택. 전환하여 사용하는 경우에는 메모리 장치 'B'를 접근할 때에 전체 메모리 주소로 마스킹하여 도 3과 같이 대칭 되는 메모리 장치 주소를 갖도록 한다. 도 3에서 23과 24의 메모리 장치로 나뉘어 졌으며, 23에는 'A' OS를 위한 BIOS, Drivers와 응용 프로그램 데이터가 로드되어 있고, 24에는 'B' OS를 위한 BIOS, Drivers와 응용 프로그램 데이터가 로드되어 있다. 여기서 BIOS 정보는 BIOS의 정보를 그대로 실어 놓은 것으로 동일한 내용이다.Memory management can be complicated when the OS, drivers, and applications are required to occupy certain memory addresses. If you limit your OS to two (OS 'A' and OS 'B'), to prevent this, separate the memory into two separate devices ('A' and 'B'), and use two BIOS Allocate each memory device to OS, one OS uses memory device of 'A' in the normal way, and the other OS uses memory device of 'B', selecting OS 'B' in BIOS. In the case of switching and using the memory device 'B' when accessing the mask to the entire memory address to have a symmetric memory device address as shown in FIG. In Fig. 3, the memory device is divided into 23 and 24, and 23 is loaded with BIOS, drivers and application data for 'A' OS, and 24 is loaded with BIOS, drivers and application data for 'B' OS. It is. The BIOS information here is the same as the BIOS information.

다음은 이러한 경우의 예이다.The following is an example of such a case.

총 32M BYTE의 메모리를 갖고 있으면 이를 각각 16M BYTE의 크기를 갖는 두 개의 메모리 장치 'A'와 'B'로 나눈다. 회로를 사용하여 별개의 장치로 할 수도 있으나 회로가 복잡해지므로 BIOS 를 이용하여 총 메모리 주소를 단순히 2 등분하고 이를 각각의 OS에 할당한다. 'A' OS 는 메모리 장치 'A'(주소 범위 0 ~ 16777215)를, 'B' OS 는 메모리 장치 'B' (주소 범위 16777216 ~ 33554431)를 사용한다.If you have a total of 32M BYTE memory, divide it into two memory devices 'A' and 'B' each having a size of 16M BYTE. The circuit can be used as a separate device, but because the circuit becomes complicated, the BIOS simply divides the total memory address into two and assigns it to each OS. 'A' OS uses memory device 'A' (address range 0 to 16777215) and 'B' OS uses memory device 'B' (address range 16777216 to 33554431).

주소 33554431는 16 진수로는 1FFFFFF 번지와 2 진수로는 1111111111111111111111111에 해당된다. 여기서 1111111111111111111111111를 메모리 장치 'B'의 주소 '0000000000000000000000000' 번지로 만들기 위해서 실제 주소를 '1111111111111111111111111'에서 빼어 그 값이 메모리 주소 값으로 하도록 마스킹(Masking)한다. 다음 실제 '1111111111111111111111110'은 '0000000000000000000000001'이 된다. 다음에 이러한 도식을 보인다.The address 33554431 corresponds to the address 1FFFFFF in hexadecimal and 1111111111111111111111111 in binary. Here, in order to make 1111111111111111111111111 the address '0000000000000000000000000' of the memory device 'B', the actual address is subtracted from '1111111111111111111111111' and masked so that the value is a memory address value. The actual '1111111111111111111111110' becomes '0000000000000000000000001'. This is shown below.

0 1 ....... n-3 n-2 n-1 = 총 n 개0 1 ....... n-3 n-2 n-1 = n total

- (n-1) (n-1) ....... (n-1) (n-1) (n-1)-(n-1) (n-1) ......... (n-1) (n-1) (n-1)

---- ---- ..... ----- ----- -------- ---- ..... ----- ----- ----

결과 -(n-1) -(n-2) ....... -2 -1 0 = 총 n 개Result-(n-1)-(n-2) ....... -2 -1 0 = n total

위의 결과 주소 값 "-" 를 +로 전환한다.Convert the resulting address value "-" to +.

'A' OS에서 기존의 주변 기기 접근을 위한 메모리 입출력 주소를 본 발명을 이용하기 위해 전환되는 메모리 입출력 주소는 다음 표 1과 같이 된다.In the 'A' OS, the memory I / O address switched to use the present invention for the memory I / O address for accessing the existing peripheral device is shown in Table 1 below.

메모리 주소 끝 번지를 0 번지로 전환하는 IO 메모리 주소 전환 예Example of IO memory address conversion to switch the memory address end address to 0 address 장치 종류Device type 기존의 BIOS 메모리 주소Legacy BIOS Memory Address 신규 BIOS 메모리 주소New BIOS Memory Address HDD 보조 ide controllerHDD auxiliary ide controller 4008 ~ 400F, 0170 ~01774008 ~ 400F, 0170 ~ 0177 1FFBFF7 ~ 1FFBFF0,1FFFE8F ~ 1FFFE881FFBFF7 to 1FFBFF0,1FFFE8F to 1FFFE88 com2com2 02f8 ~ 02ff02f8 ~ 02ff 1FFFD07 ~ 1FFFD001FFFD07 to 1FFFD00

이러한 경우에 접근 주소 masking 작업을 드라이버를 이용해 한다. 이러한 소프트웨어적인 주소 전환은 cpu 에 부담이 된다. 이를 하드웨어적으로 로직 회로를 이용하여 주소가 자동으로 마스킹 되도록 한다. 도 3의 25의 주소 전환기(Address Converter)가 이러한 메모리 주소를 전환해 주는 역할을 한다.In this case, the access address masking operation should be done using a driver. This software address translation is a burden on the cpu. This allows the hardware to automatically mask the address using logic circuitry. The address converter 25 of FIG. 3 serves to convert these memory addresses.

도 3과 같이 메모리의 끝 주소FFFFH를 0000H 로 전환하여 사용하면 여러가지 편리한 점이 있다. 즉, 각 OS 마다의 메모리 경계를 정해 놓지 않고 사용 중인 OS가 사용하지 않는 OS의 메모리의 일정 부분은 건드리지 않고 나머지 사용하지 않는 부분을 마음대로 사용하여 전체 메모리 영역을 효율적으로 사용할 수도 있다.As shown in FIG. 3, there is a variety of conveniences when the end address FFFFH of the memory is changed to 0000H. In other words, the entire memory area can be efficiently used by freeing a portion of the OS's memory that is not used by the OS being used without setting a memory boundary for each OS, and freely using the remaining unused portion.

도 4는 본 발명을 이용하여 하드웨어를 구성하였을 경우의 구조도를 간단히 나타내었다. 도 4의 31의 메모리 장치는 3개로 나뉘어진 구조이고, 32의 BIOS에서 OS 전환 프로그램에 따라 OS를 각각의 메모리 장치에 로딩하며, 따라서 메모리 장치에 BIOS 정보가 로딩된다. 나머지 CPU와 HDD, FDD 기타 주변 기기는 기존의 컴퓨터 시스템에서와 동작이 동일하다.4 is a simplified structural diagram of a hardware configuration using the present invention. The memory device 31 of FIG. 4 has a structure divided into three, and in the 32 BIOS, the OS is loaded into each memory device according to the OS switching program, and thus BIOS information is loaded into the memory device. The remaining CPUs, HDDs, FDDs, and other peripherals work the same as in traditional computer systems.

메모리 IO 주소, 비디오 카드, 네트웍 어뎁터 카드 등에 대한 BIOS 데이터는 모두 각각의 OS를 위한 메모리 주소 영역에 모두 중복되게 실을 필요가 없다. 이러한 부분은 어느 일정 OS에 할당된 메모리 영역에만 로딩하고 다른 OS들은 OS 용 드라이버를 통하여 이러한 하나의 OS용 메모리 영역에 접근하도록 하여 메모리의 낭비를 줄인다.BIOS data for memory IO addresses, video cards, network adapter cards, etc. do not all need to be duplicated in the memory address area for each OS. This part loads only the memory area allocated to a certain OS and the other OSs access the memory area for one OS through the OS driver to reduce the waste of memory.

어느 하나의 OS를 먼저 로딩하고 다른 OS를 로딩하고자 하면 부트 섹터와 함께 OS에 대한 명령들이 실려 있는 데이터를 읽어 들여야 한다. 이렇게 하기 위해서는 먼저 로딩된 OS 가 해당 디스크 드라이브, 네트웍 등의 장치를 사용하지 않는 지 확인 후 해당 디스크 드라이브 등의 장치에 신호를 보내 초기화하여 처음 부터 데이터를 읽어 들이도록 한다.If you want to load one OS first and then load another, you need to read the data along with the boot sector along with instructions for the OS. To do this, first check that the loaded OS does not use the device such as the disk drive, network, etc., and then send a signal to the device such as the disk drive to initialize and read the data from the beginning.

OS 전환 시에 inactive OS의 메모리 데이터의 일부는 하드 디스크의 일정 부분에 저장되어 inactive OS가 불필요하게 점유하는 메모리 양이 최소화 되도록 한다.At OS switchover, some of the inactive OS's memory data is stored on a portion of the hard disk to minimize the amount of memory that the inactive OS occupies unnecessarily.

도 5는 위의 방법과는 다르게 메모리 주소를 전환하지 않고 본 발명의 목적을 달성하도록 하는 방법이다. 5A와 5B 2 개의 OS가 로드된 상태를 나타낸다. 하위 주소 (41)의 OS가 Active 하다. 상위의 주소(42)의 OS는 inactive 하다. inactive 한 OS는 메모리에 저장할 경우에는 active 한 OS가 접근하지 않도록 protect 된다. 또한 inactive OS는 메모리에 저장하지 않고 하드디스크의 별도 위치에 저장될 수 있다.5 is a method for achieving the object of the present invention without changing the memory address, unlike the above method. The two OSes 5A and 5B are loaded. The OS at lower address 41 is active. The OS at upper address 42 is inactive. An inactive OS is protected from being accessed by the active OS when it is stored in memory. Inactive OSs can also be stored in a separate location on the hard disk rather than in memory.

도 6은 5의 방법에 따른 흐름도이다. 시스템이 시작(51)되면 정상적인 방법으로 POST(Power On Self-Test)가 진행된다. boot 과정을 거쳐 OS가 로딩된다. 다른 OS를 사용하고자 하면(53) 사용하고자 하는 OS가 이미 로딩되어 있는지 확인 과정을 거쳐(54) 미리 정의된 OS 전환 키를 누르고 시스템 제어가 BIOS로 넘어간다. 기존 active OS의 데이터는 메모리 상에사 다른 메모리의 다른 주소(protect된) 혹은 다른 저장 매체에 저장된다(55).디스크 콘트롤러와 기타 사전 정의된 혹은 필요한 장치가 추가로 초기화(56)되고 사전 정의된 디스크 혹은 네트웍 장치에서 다른 OS가 부트되며 메모리에 정상적인 방법으로 로딩된다(57). 다른 OS를 사용하고자 하면 사전 정의된 OS 전환 키를 누르고 사용하고자 하는 OS가 로딩되어 있는지 확인(54)하며 이미 로딩되어 있으면 다른 OS가 저장되어 있는 저장 장치와 주소를 파악한다(58). 이전 active OS의 메모리 상의 데이터를 저장 장치의 다른 곳에 이동.저장하며(59) 사용하고자 하는 OS를 일부 장치를 초기화 하고 메모리에 로딩하여 사용한다. 이러한 방법으로는 메모리 대신 하드디스크등에 OS를 이동.저장하며 수시로 불러 사용할 수 있어 메모리의 낭비가 없으며 2 개 복수개 혹은 그 이상의 OS를 제약없이 사용 가능하다.6 is a flow chart according to the method of FIG. 5. When the system is started (51), a POST (Power On Self-Test) proceeds in the normal manner. The OS is loaded through the boot process. If you want to use another OS (53) to check whether the OS to be used is already loaded (54), press the predefined OS switch key and system control is passed to the BIOS. The data of the existing active OS is stored on the memory at different addresses (protected) or on other storage media (55). Disk controllers and other predefined or required devices are additionally initialized (56) and predefined. Another OS is booted from the disk or network device that has been loaded and loaded into memory in the normal way (57). If you want to use a different OS, press the predefined OS switch key and check whether the OS to be used is loaded (54), and if it is already loaded, the storage device and address where the other OS is stored (58). The data on the memory of the previous active OS is moved and stored elsewhere in the storage device (59) and the OS to be used is initialized and loaded into the memory. In this way, the OS can be moved and stored on the hard disk instead of the memory, and can be recalled from time to time without waste of memory and two or more OS can be used without restriction.

1. OS 마다 각각의 장단점이 있다. BIOS 프로그램의 수정, 메모리 주소 전환 장치와 메모리의 추가로 이들 각각의 OS의 장점을 살려 복수 개의 OS를 사용할 수 있다.1. Each OS has its advantages and disadvantages. Modifications of the BIOS program, addition of memory address translation devices and memory allow the use of multiple operating systems, taking advantage of their respective operating systems.

2. 하나의 OS상에서 다른 OS 의 프로그램을 돌리기 위해서는 EMULATOR를 사용하였으나, MEMORY 량의 대소에 불구하고 기존의 OS를 거쳐 작업이 수행되므로, 속도가 느려지는 단점이 있었다. 본 발명은 이러한 속도 저하 없이 사용 가능하다.2. EMULATOR was used to run the program of other OS on one OS. However, the speed was slowed down because the work was performed through the existing OS despite the size of memory. The present invention can be used without such a speed drop.

3. 혹은 EMULATOR가 없을 경우에는 다시 REBOOTING 하여 OS를 전환하여 사용하였는데, 이러한 불편이 없어 졌다.3. Or, if there is no EMULATOR, it is used again after switching to OS by REBOOTING, and this inconvenience is eliminated.

5. 각각의 OS는 각각의 특징 즉 장점이 있다. OS 가 일부 면에서 조금만 기능이 떨어져도 시장에서 퇴출되어 사용자는 다시 기능이 좋은 OS의 응용 프로그램을 모두 다시 구매해야 하는 문제가 있었다. 그러나 본 발명은 약간의 비용으로 복수 개의 OS와 그 응용프로그램을 모두 사용 가능하다.5. Each OS has its own features or advantages. Even if the OS fell a bit in some ways, it was forced out of the market, requiring users to repurchase all the applications of a well-functioning OS. However, the present invention can use both a plurality of OS and its applications at a small cost.

6. 메모리를 절약할 수 있으며 복수 개의 OS를 아무런 제한 없이 사용가능하다.6. It can save memory and can use multiple OS without any limitation.

7. 다양한 방법의 OS 로딩.사용 방법이 구현된다.7. Various ways of loading and using the OS are implemented.

Claims (21)

컴퓨터 시스템에 복수 개의 OS 로딩 수단을 이용하여 하나의 시스템에 복수 개의 OS를 로딩하여 사용하도록 구성된 복수 OS 사용 방법.A method of using a plurality of OSs configured to load and use a plurality of OSs in one system using a plurality of OS loading means in a computer system. 제 1 항에 있어서, 언급된 복수 개의 OS 로딩 수단이 메모리 데이터 이전 수단에 의해 이미 메모리에 로딩된 OS의 데이터를 저장 매체에 이동. 저장하도록 구성된 복수 OS 사용 방법.2. The storage medium of claim 1, wherein the plurality of OS loading means mentioned move data of an OS already loaded in memory by means of memory data transfer means. How to use multiple OS configured to save. 제 1 항에 있어서, 언급된 복수 개의 OS 로딩 수단이 컴퓨터 시스템의 메모리 영역 구분 수단과 메모리 주소 전환 수단으로 구성되었으며, 메모리 영역 구분 수단을 이용하여 메모리를 복수 개의 영역으로 구분하고, 필요한 주변 기기를 초기화 하여 복수 개의 OS를 각각의 메모리 주소 영역에 로딩하며, 로딩된 복수 개의OS를 선택하며, 선택된 OS 상의 주소를 언급된 메모리 주소 전환 수단을 이용하여 메모리 주소를 전환하여 선택된 OS를 사용하도록 구성된 복수 OS 사용 방법.The method of claim 1, wherein the plurality of OS loading means mentioned comprises memory area dividing means and memory address switching means of the computer system, and the memory is divided into a plurality of areas by using the memory area dividing means, and necessary peripherals are identified. A plurality of OSs configured to be initialized to load a plurality of OSs into respective memory address areas, to select a plurality of loaded OSs, and to use a selected OS by switching a memory address using the memory address switching means mentioned in the selected OS address. How to use the OS. 제 2 항에 있어서, 언급된 복수 개의 OS 로딩이The method of claim 2, wherein the plurality of OS loading mentioned 언급된 메모리 데이터 이전 수단이 메모리에 로딩된 OS의 데이터를 다른 저장 매체에 이동. 저장하도록 구성되어,The memory data transfer means mentioned moves data of the OS loaded in the memory to another storage medium. Configured to store, 작동 중인 컴퓨터 시스템의 제어를 시스템 제어 수단에 넘기고,Transfer control of a running computer system to system control means, 언급된 메모리 데이터 이전 수단에 의해 메모리에 로딩된 OS의 데이터를 다른 저장 매체에 이동. 저장하며,Moving data of the OS loaded in the memory to the other storage medium by the mentioned memory data transfer means. Save it, 필요한 주변 기기를 초기화 하며,Initialize necessary peripherals, 다른 OS를 로딩하거나 다른 저장 매체에 저장되어 있는 데이터를 메모리에 로딩하여 사용하도록 구성된 복수 OS 사용 방법.A method of using a plurality of OSs configured to load another OS or to load and use data stored in another storage medium into a memory. 제 3 항에 있어서, 언급된 메모리 영역 구분 수단이 메모리 장치 주소를 구분하여 복수 개로 나누도록 구성하는 복수 OS 사용 방법.4. The method according to claim 3, wherein said memory region discriminating means divides the memory device addresses into a plurality. 제 3 항에 있어서, 언급된 메모리 주소 전환 수단이 구분하여 나누어진 일정 영역의 메모리 장치의 실제 물리적 주소를 해당 영역 내에서의 메모리 시작 주소와 끝 주소로 전환하도록 구성된 복수 OS 사용 방법.4. The method according to claim 3, wherein said memory address switching means is configured to convert the actual physical address of the memory device of a predetermined area into divided memory start addresses and end addresses within said area. 제 3 항에 있어서, 메모리의 영역을 2 개로 구분하고, 언급된 메모리 주소 전환이 하나의 영역은 메모리 장치의 실제 물리적 주소의 시작 번지를 시작 번지로 하고 이 후 영역을 사용하며, 다른 또 하나의 영역은 실제 물리적 주소의 끝 번지를 가상 시작 번지로 하며 이 아래의 주소를 사용하도록 구성된 복수 OS 사용 방법.4. The memory address translation method according to claim 3, wherein the memory address translation is divided into two regions, and one of the memory address transitions referred to as the starting address of the actual physical address of the memory device is used as a starting address, and then another region is used. A realm is a multiple OS usage method in which the end address of an actual physical address is a virtual start address and is configured to use an address below it. 제 3 항에 있어서, 언급된 메모리 영역이 활동 중인 OS 가 비활동 중인 OS의 메모리 영역의 사용중이 아닌 영역을 사용하도록 구성된 복수 OS 사용 방법.4. The method of claim 3, wherein said memory area is configured such that an active OS uses an area that is not in use of a memory area of an inactive OS. 컴퓨터 시스템에서 복수 개의 OS가 로딩될 수 있도록 구성되고, OS 사용 중에 필요한 주변 기기 장치를 초기화 할 수 있도록 구성되며, 하나의 OS를 로딩하여 사용하며, 다른 복수 개의 OS를 로딩하여 사용할 수 있도록 구성된 복수 OS 사용 시스템.A plurality of OSs are configured to be loaded in a computer system, and a plurality of OSs are configured to initialize necessary peripheral devices while the OS is in use, and a plurality of OSs can be loaded and used, and a plurality of OSs can be loaded and used. OS using system. 제 9 항에 있어서, 메모리에 로딩된 OS의 데이터를 저장 매체의 다른 곳으로 이전하는 OS 데이터 이전 수단과 복수 개의 OS 간의 전환 수단으로 구성된 복수 OS 사용 시스템.10. The system of claim 9, comprising OS data transfer means for transferring data of the OS loaded in the memory to another location on the storage medium and switching means between the plurality of OS. 제 9 항에 있어서, 컴퓨터 시스템의 메모리 영역 구분 수단과 메모리 주소 전환 수단으로 구성되었으며, 메모리 영역 구분 수단을 이용하여 메모리를 복수 개의 영역으로 구분하고, 필요한 주변 기기를 초기화 하여 복수 개의 OS를 각각의 메모리 주소 영역에 로딩하며, 로딩된 복수 개의OS를 선택하며, 선택된 OS 상의 주소를 언급된 메모리 주소 전환 수단을 이용하여 메모리 주소를 전환하여 선택된 OS를 사용하도록 구성된 복수 OS 사용 방법.10. The memory system of claim 9, wherein the memory system divides the memory into a plurality of regions using the memory region dividing means, and initializes the necessary peripheral devices. A method of using a plurality of OSs configured to use a selected OS by loading in a memory address area, selecting a plurality of loaded OSs, and converting a memory address using the mentioned memory address switching means to an address on the selected OS. 컴퓨터 시스템의 메모리 장치를 복수 개의 영역으로 구분하고,Divide the memory device of the computer system into a plurality of areas, 메모리의 실제 물리적 주소의 시작 번지를 포함하지 않는 메모리 영역의 메모리 주소를 주소 전환을 하여 가상 시작 주소를 가지는 메모리 영역에 또 다른 OS를 로딩하여 복수 개의 OS를 로딩하여 사용하도록 구성된 시스템에서,In a system configured to load and use a plurality of OSs by loading another OS into a memory area having a virtual start address by address switching a memory address of a memory area that does not include a start address of a physical physical address of the memory, OS 간 전환할 때에, 컴퓨터 시스템의 일정 주변 기기를 어느 일정 OS용으로 점유되도록 구성된 복수 OS 로딩 시스템에서 주변 기기 제어 방법.A method of controlling a peripheral device in a multiple OS loading system configured to occupy a certain peripheral device of a computer system for a certain OS when switching between OSes. 컴퓨터 시스템의 메모리의 일정 영역을 메모리 주소 전환 수단을 이용하여 가상 메모리 주소를 부여하는 메모리 주소 전환 시스템.A memory address translation system that assigns a virtual memory address to a predetermined area of memory of a computer system by using memory address switching means. 제 13 항에 있어서, 주소 전환된 일정 영역을 다른 OS를 로딩하여 사용할 수 있도록 하는 메모리 주소 전환 시스템.14. The memory address translation system of claim 13, wherein the address-translated certain region can be loaded and used by another OS. 컴퓨터 시스템의 메모리 장치를 복수 개의 영역으로 구분하고,Divide the memory device of the computer system into a plurality of areas, 메모리의 실제 물리적 주소의 시작 번지를 포함하지 않는 메모리 영역의 메모리 주소를 주소 전환을 하여 가상 시작 주소를 가지는 메모리 영역에 또 다른 OS를 로딩하여 복수 개이 OS를 로딩하여 사용하도록 구성된 시스템에서,In a system configured to load and use another OS by loading another OS into a memory area having a virtual start address by address-translating a memory address of a memory area that does not include a start address of a physical physical address of the memory, 하나의 OS용으로 로딩된 BIOS의 데이터를 다른 OS에서 공유하여 사용하고 이들 OS용 메모리 장치에는 중복되는 BIOS의 데이터를 로딩하지 않도록 구성된 복수 OS 사용 장치에서 BIOS 데이터 공유 방법.A method of sharing BIOS data across multiple OS-enabled devices that is configured to share data from a BIOS loaded for one OS with another OS and not load redundant BIOS data into memory devices for those OSs. 사용 중인 컴퓨터 시스템에서 주변 기기 초기화 수단을 이용하여 디스크 드라이브, 네트웍 장치, serial/parallel port 등을 초기화하도록 하는 사용 중인 OS에서 주변 기기 초기화 방법.A method of initializing peripherals in your operating system that allows your computer system to initialize disk drives, network devices, serial / parallel ports, etc. using peripheral initialization means. 제 16 항에 있어서, 언급된 초기화 수단이 bios 설정에 의하는 사용 중인 OS에서 주변 기기 초기화 방법.17. The method of claim 16, wherein said initialization means is in accordance with a bios configuration. OS가 실행. 작동 중인 컴퓨터 시스템에서 컴퓨터 시스템 제어 수단과 메모리 데이터 이동 수단으로 구성되어, active 한 OS의 작동을 멈추고, 컴퓨터 시스템 제어 수단에 의해 시스템 제어를 컴퓨터 시스템 제어 수단에 넘기고, 메모리 데이터 이동 수단을 이용하여 OS의 데이터를 다른 저장 매체에 이동.저장하도록 구성된 작동 중 OS 데이터 이동.저장하는 방법.OS is running. It consists of computer system control means and memory data moving means in the operating computer system, stops the operation of the active OS, transfers system control to the computer system control means by the computer system control means, and uses the memory data moving means to Moving OS data during operation configured to move data from other storage media. 제 18 항에 있어서, 언급된 컴퓨터 시스템 제어 수단이 bios에 의하는 작동 중 OS 데이터 이동.저장하는 방법.19. The method of claim 18, wherein said computer system control means refers to moving and storing OS data during operation by bios. 메모리 장치의 실제 물리적 주소를 복수 개의 영역으로 나누어 실행 중인 OS가 접근하지 못하도록 하고 다른 용도로 사용하도록 하는 메모리 장치 주소 블록킹 방법.A method of blocking memory device addresses by dividing the actual physical address of the memory device into a plurality of areas to prevent a running OS from accessing them and to use them for other purposes. 제 20 항에 있어서, 언급된 블록킹을 bios 에 의하도록 구성된 메모리 장치 주소 블록킹 방법.21. The method of claim 20, wherein the blocking mentioned is configured by bios.
KR1019990049527A 1999-07-19 1999-11-09 Devices for using Multi OSs KR20010012032A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990049527A KR20010012032A (en) 1999-07-19 1999-11-09 Devices for using Multi OSs

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR19990029182 1999-07-19
KR1019990029182 1999-07-19
KR1019990049527A KR20010012032A (en) 1999-07-19 1999-11-09 Devices for using Multi OSs

Publications (1)

Publication Number Publication Date
KR20010012032A true KR20010012032A (en) 2001-02-15

Family

ID=26635862

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990049527A KR20010012032A (en) 1999-07-19 1999-11-09 Devices for using Multi OSs

Country Status (1)

Country Link
KR (1) KR20010012032A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030094530A (en) * 2002-06-04 2003-12-18 김문철 Apparatus for switching hard disk for multi-users
KR100431142B1 (en) * 2001-11-16 2004-05-12 인벤텍 코오포레이션 Method and system starting a multiple pda operating system through a menu
KR100630104B1 (en) * 2004-02-10 2006-09-27 삼성전자주식회사 System for providing multiple window environment in mobile computing system and method thereof
KR100714677B1 (en) * 2004-05-21 2007-05-07 삼성전자주식회사 Computer system and method for performing switch-over of operating system
KR100734286B1 (en) * 2004-11-18 2007-07-02 삼성전자주식회사 Method and Apparatus for multiple boot environments within a hard disk drive
KR101121641B1 (en) * 2006-07-03 2012-04-16 엘지전자 주식회사 Apparatus and method for controlling operation of system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100431142B1 (en) * 2001-11-16 2004-05-12 인벤텍 코오포레이션 Method and system starting a multiple pda operating system through a menu
KR20030094530A (en) * 2002-06-04 2003-12-18 김문철 Apparatus for switching hard disk for multi-users
KR100630104B1 (en) * 2004-02-10 2006-09-27 삼성전자주식회사 System for providing multiple window environment in mobile computing system and method thereof
KR100714677B1 (en) * 2004-05-21 2007-05-07 삼성전자주식회사 Computer system and method for performing switch-over of operating system
KR100734286B1 (en) * 2004-11-18 2007-07-02 삼성전자주식회사 Method and Apparatus for multiple boot environments within a hard disk drive
KR101121641B1 (en) * 2006-07-03 2012-04-16 엘지전자 주식회사 Apparatus and method for controlling operation of system

Similar Documents

Publication Publication Date Title
US7546426B2 (en) Storage having a logical partitioning capability and systems which include the storage
US5136711A (en) System for multiple access hard disk partitioning
JP2633458B2 (en) DMA channel device and DMA channel conversion device
US8595723B2 (en) Method and apparatus for configuring a hypervisor during a downtime state
JP2003288259A (en) Information processing system
US20170153974A1 (en) Dual space storage management system and data read/write method
US4827406A (en) Memory allocation for multiple processors
US20050235083A1 (en) Computer system
JP4308152B2 (en) Method, system, and product for reserving memory
JPS61211758A (en) Multiprocessor system
JP2000242612A (en) System sharing memory and bus
US5848294A (en) PCI computer system with multiple legacy devices
KR20010012032A (en) Devices for using Multi OSs
US5369750A (en) Method and apparatus for configuring multiple absolute address spaces
US6105101A (en) 16 bit bios interrupt calls under 32 bit protected mode application
JPS6364133A (en) Information processing system
US20020087854A1 (en) Diskless computer
US5247631A (en) Programmable control of EMS page register addresses
Ha et al. Dynamic Capacity Service for Improving CXL Pooled Memory Efficiency
US5410662A (en) Programmable control of EMS page register addresses
US9021506B2 (en) Resource ejectability in multiprocessor systems
US3918031A (en) Dual mode bulk memory extension system for a data processing
WO2001006360A2 (en) Devices for using multi-oss
JPH0786846B2 (en) Apparatus and method for extending address range
KR960007128Y1 (en) Rom bank switching system of personal computer

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination