KR100675136B1 - Method for operating system based duplication by using MMU - Google Patents

Method for operating system based duplication by using MMU Download PDF

Info

Publication number
KR100675136B1
KR100675136B1 KR1020040114275A KR20040114275A KR100675136B1 KR 100675136 B1 KR100675136 B1 KR 100675136B1 KR 1020040114275 A KR1020040114275 A KR 1020040114275A KR 20040114275 A KR20040114275 A KR 20040114275A KR 100675136 B1 KR100675136 B1 KR 100675136B1
Authority
KR
South Korea
Prior art keywords
operating system
error
redundancy
page
mmu
Prior art date
Application number
KR1020040114275A
Other languages
Korean (ko)
Other versions
KR20060075478A (en
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 KR1020040114275A priority Critical patent/KR100675136B1/en
Publication of KR20060075478A publication Critical patent/KR20060075478A/en
Application granted granted Critical
Publication of KR100675136B1 publication Critical patent/KR100675136B1/en

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Abstract

본 발명은 MMU를 이용한 운영체제 기반 이중화 방법을 제공하기 위한 것으로, 프로세스 실행중 일 때 MMU에서 페이지 오류 예외를 발생시키고, 이를 이중화 전용 운영체제가 더티 페이지 리스트에 저장하는 제 1 단계와; 상기 제 1 단계 후 프로세스 사이에서 컨텍스트 스위칭이 있으면, 기존에 보관하였던 더티 페이지에 대한 정보와 현재 실행중인 프로세스에 대한 컨텍스트들을 범용 통신 디바이스를 통해 상대편으로 전송하는 제 2 단계와; 상기 제 2 단계 후 프로세스에 오류가 발생하면, 커널에서 예외를 발생시켜 현재 저장 중이던 더티 페이지의 내용과 프로세스 컨텍스트를 상대편으로 전송하고, 상대편에서는 전송받은 정보를 가지고 오류 처리를 수행하는 제 3 단계를 포함하여 구성함으로서, 하드웨어나 응용프로그램의 수정 없이 운영체제만으로 이중화하고, 기존 이중화 방식이 대응하지 못하는 하드웨어 오류 및 소프트웨어 오류를 모두 복구할 수 있게 되는 것이다.The present invention provides a method for operating system-based redundancy using the MMU, comprising: a first step of generating a page error exception in the MMU when a process is running and storing it in a dirty page list by the duplication-only operating system; If there is a context switching between the processes after the first step, a second step of transmitting information on the previously stored dirty page and contexts for the currently running process to the other party through the general purpose communication device; If an error occurs in the process after the second step, the kernel generates an exception to transmit the contents of the currently stored dirty page and the process context to the other party, and the third party performs error processing with the received information. By including the configuration, it is possible to duplicate only the operating system without modifying hardware or application programs, and to recover all hardware errors and software errors that the existing duplexing system cannot cope with.

Description

엠엠유를 이용한 운영체제 기반 이중화 방법{Method for operating system based duplication by using MMU}Method for operating system based duplication by using MMU}

도 1은 종래 하드웨어를 이용한 이중화 장치의 블록구성도이고,1 is a block diagram of a duplexing device using conventional hardware;

도 2는 종래 응용프로그램 라이브러리를 이용한 이중화 장치의 블록구성도이며,2 is a block diagram of a duplication apparatus using a conventional application program library,

도 3은 도 1의 동작을 보인 블록구성도이고,3 is a block diagram showing the operation of FIG.

도 4는 도 2의 동작을 보인 블록구성도이며,4 is a block diagram showing the operation of FIG.

도 5는 본 발명이 적용되는 MMU를 이용한 운영체제 기반 이중화 장치의 블록구성도이고,5 is a block diagram of an OS-based redundancy apparatus using an MMU to which the present invention is applied.

도 6은 본 발명에 의한 MMU를 이용한 운영체제 기반 이중화 방법을 보인 흐름도이며,6 is a flowchart illustrating an operating system based redundancy method using an MMU according to the present invention;

도 7은 도 6에서 제 1 단계의 동작 예를 보인 흐름도이고,7 is a flowchart illustrating an operation example of a first step in FIG. 6;

도 8은 도 7의 동작 예를 보인 블록구성도이며,8 is a block diagram illustrating an operation example of FIG. 7;

도 9는 도 6에서 제 2 단계의 동작 예를 보인 흐름도이고,9 is a flowchart illustrating an operation example of a second step in FIG. 6,

도 10은 도 9의 동작 예를 보인 블록구성도이며,FIG. 10 is a block diagram illustrating an operation example of FIG. 9.

도 11은 도 6에서 제 3 단계의 동작 예를 보인 흐름도이고,FIG. 11 is a flowchart illustrating an operation example of a third step in FIG. 6;

도 12는 도 11의 동작 예를 보인 블록구성도이다.12 is a block diagram illustrating an operation example of FIG. 11.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

20 : 시스템20: system

21 : 범용 애플리케이션21: general purpose applications

22 : 이중화 전용 운영체제22: Redundant operating system

23 : CPU23: CPU

24 : 메모리24: memory

25 : 범용 하드웨어25: general purpose hardware

본 발명은 CPU(Central Processing Unit, 중앙처리장치) 내에 있는 MMU(Memory Management Unit, 메모리 관리 장치)를 이용한 운영체제 기반 이중화 방법에 관한 것으로, 특히 하드웨어(Hardware, H/W)나 응용프로그램(Application)의 수정 없이 운영체제(Operating System, OS)만으로 이중화하고, 기존 이중화 방식이 대응하지 못하는 하드웨어 오류(Fault) 및 소프트웨어(Software, S/W) 오류를 모두 복구하기에 적당하도록 한 MMU를 이용한 운영체제 기반 이중화 방법에 관한 것이다.The present invention relates to an operating system based redundancy method using a memory management unit (MMU) in a central processing unit (CPU), and in particular, a hardware (H / W) or an application program. Redundancy with only operating system (OS) without modification, and OS-based redundancy using MMU that is suitable for recovering both hardware faults and software (software / software) errors that existing duplication methods cannot respond to It is about a method.

일반적으로 이중화란 시스템의 회복 기법 중의 하나로서, 해당 시스템을 둘로 중복시켜 놓고 동시에 갱신하여 오류를 복구하는 것이다.In general, redundancy is one of the recovery techniques of a system, and the error is recovered by overlapping the system in two and updating it simultaneously.

그리고 이중화를 하는 방식과 기법은 매우 많이 있으나, 크게 전용 하드웨어 를 이용하는 방식과 전용 라이브러리를 이용하는 방식의 두 가지로 나누어 볼 수 있다.There are many methods and techniques for redundancy, but they can be divided into two types: using dedicated hardware and using dedicated libraries.

도 1은 종래 하드웨어를 이용한 이중화 장치의 블록구성도이다.1 is a block diagram of a duplexing device using conventional hardware.

여기서 참조번호 10은 시스템이고, 11은 범용 응용프로그램이며, 12는 이중화 전용 운용체제이고, 13은 CPU이며, 14는 메모리이고, 15는 이중화 전용 하드웨어이며, 16은 범용 하드웨어이다.Where reference numeral 10 is a system, 11 is a general purpose application, 12 is a redundancy only operating system, 13 is a CPU, 14 is a memory, 15 is a redundancy only hardware, and 16 is a general purpose hardware.

그래서 전용 하드웨어를 이용한 이중화 방식은 두 개의 동일한 시스템(10)에 이중화 전용 하드웨어(15)가 있고, 이를 제어하는 이중화 전용 운영체제(12), 그리고 이를 이용하고 있는 범용 응용프로그램(11)으로 구성된다.Therefore, the redundancy method using dedicated hardware includes two dedicated dedicated hardware 15 in the same system 10, a redundant dedicated operating system 12 for controlling the same, and a general application 11 using the same.

도 2는 종래 응용프로그램 라이브러리를 이용한 이중화 장치의 블록구성도이다.2 is a block diagram of a duplication apparatus using a conventional application program library.

여기서 참조번호 10은 시스템이고, 13은 CPU이며, 14는 메모리이고, 16은 범용 하드웨어이며, 17은 전용 응용프로그램이고, 18은 전용 라이브러리 및 도구이며, 19는 범용 운용체제이다.Where reference numeral 10 is a system, 13 is a CPU, 14 is a memory, 16 is general purpose hardware, 17 is a dedicated application, 18 is a dedicated library and tool, and 19 is a general purpose operating system.

그래서 전용 응용프로그램 라이브러리를 이용한 이중화 방식은 두 개의 동일한 시스템(10)에 범용 하드웨어(16)와 범용 운영체제(19), 그리고 이중화 전용 라이브러리(18)를 이용한 이중화 전용 응용프로그램(17)으로 구성된다.Thus, the redundancy method using a dedicated application program library is composed of a general purpose hardware 16 and a general purpose operating system 19, and a redundancy only application program 17 using a redundancy only library 18 in two identical systems 10.

이러한 종래 기술의 동작을 첨부한 도면에 의거하여 상세히 설명하면 다음과 같다.The operation of the prior art will be described in detail with reference to the accompanying drawings.

1. 하드웨어를 이용한 이중화 방법1. Redundancy using hardware

그래서 이중화 전용 하드웨어가 이중화 전용 운영체제의 도움을 이용하여 두 개의 시스템(10)의 CPU(13), 메모리(14) 그리고 각종 장치들을 동기화 시킨다.Thus, the redundancy dedicated hardware synchronizes the CPU 13, the memory 14, and various devices of the two systems 10 with the help of the redundancy dedicated operating system.

그리고 이중화 전용 하드웨어(15)가 다른 시스템(10)과 통신하면서 이중화 처리를 한다.The redundancy dedicated hardware 15 communicates with the other system 10 to perform redundancy processing.

이중화 전용 하드웨어(15)가 이중화 처리를 하기 때문에 별도의 CPU(13) 부하가 거의 없고, 하위 계층(OS와 하드웨어)에서 이중화를 처리하기 때문에 상위의 범용 응용프로그램(11)은 이중화를 고려하지 않아도 된다.Since the redundancy dedicated hardware 15 performs the redundancy processing, there is almost no separate CPU 13 load, and since the redundancy is handled by the lower layer (OS and hardware), the upper general purpose application 11 does not have to consider the redundancy. do.

또한 이중화 전용 하드웨어(15)가 이중화를 처리하기 때문에 액티브(Active)되어 실행중인 시스템에서 대기중인 스탠바이(Stand-by) 시스템으로의 절체(Switch Over)가 빠르게 이루어 질 수 있기 때문에, 복잡하고 높은 신뢰성이 요구되는 대형 시스템에 사용하기에 적합하다.In addition, since redundancy dedicated hardware 15 handles redundancy, switching over from an active and running system to a standby stand-by system can be accomplished quickly, resulting in complex and high reliability. It is suitable for use in large systems where this is required.

도 3은 도 1의 동작을 보인 블록구성도이다.3 is a block diagram illustrating the operation of FIG. 1.

1) CPU(13)가 메모리(14)로 데이터를 업데이트 한다.1) The CPU 13 updates data to the memory 14.

2) CPU(13)와 메모리(14)간 BUS를 감시하고, 이중화 전용 하드웨어(15)는 이 내용을 상대편 시스템(스탠바이)의 이중화 전용 하드웨어(15)로 넘겨준다.2) The BUS between the CPU 13 and the memory 14 is monitored, and the redundancy dedicated hardware 15 passes the contents to the redundancy dedicated hardware 15 of the other system (standby).

3) 스탠바이 측의 이중화 전용 하드웨어(15)는 CPU(13)와 메모리(14)간 BUS에 업데이트된 내용을 업데이트 시켜준다.3) The redundancy dedicated hardware 15 on the standby side updates the updated contents in the BUS between the CPU 13 and the memory 14.

4) 디바이스가 CPU(13)를 거치지 않고 직접 DMA(Direct Memory Access, 직접 기억 장치 액세스) 오퍼레이션(Operation)을 수행한다.4) The device performs direct DMA (Direct Memory Access) operation without going through the CPU 13.

5) 액티브 측의 이중화 전용 하드웨어(15)는 DMA 오퍼레이션 내용을 감시한 다.5) The redundancy dedicated hardware 15 on the active side monitors the contents of the DMA operation.

6) 액티브 측의 이중화 전용 하드웨어(15)는 DMA 오퍼레이션 내용을 스탠바이 측의 이중화 전용 하드웨어(15)로 넘겨준다.6) The redundancy dedicated hardware 15 on the active side passes the contents of the DMA operation to the redundancy dedicated hardware 15 on the standby side.

7) 스탠바이 측의 이중화 전용 하드웨어(15)는 메모리(14)의 내용을 업데이트 시킨다.7) The redundancy dedicated hardware 15 on the standby side updates the contents of the memory 14.

2. 응용프로그램 라이브러리 이용한 이중화 방법2. Redundancy Using Application Program Library

이는 범용 하드웨어와 범용 OS에 이중화를 구현할 수 있게 하는 라이브러리를 이용하여 응용프로그램이 이중화를 하는 방법으로, 이중화 전용 라이브러리가 범용 통신 하드웨어를 이용하여 두 개의 시스템을 동기화 시키는 역할을 한다.This is a method of application redundancy using libraries that can implement redundancy on general-purpose hardware and general-purpose OS. The redundancy-only library synchronizes two systems using general-purpose communication hardware.

응용프로그램은 동기화 시켜야 할 내용을 이중화 전용 라이브러리에 지정하고, 이중화 전용 라이브러리가 이를 동기화 시킨다.The application program assigns the contents to be synchronized to the redundancy dedicated library, and the redundancy dedicated library synchronizes them.

따라서 범용 하드웨어와 OS를 사용하기 때문에 하드웨어 이식성이 높은 장점이 있고, 또한 높은 신뢰성이 요구되지 않는 중, 소형 시스템에서 사용하기에 적합하다.Therefore, since it uses general-purpose hardware and OS, it has the advantage of high hardware portability, and is suitable for use in small and medium systems where high reliability is not required.

도 4는 도 2의 동작을 보인 블록구성도이다.4 is a block diagram illustrating the operation of FIG. 2.

1) 상대편(스탠바이)과 동기화 될 내용이 있을 경우, 이중화 라이브러리를 이용한 전용 응용프로그램(17)이 이중화 전용 라이브러리(18)를 이용하여 업데이트 요청을 한다.1) When there is a content to be synchronized with the other party (standby), the dedicated application program 17 using the redundant library makes an update request using the redundant dedicated library 18.

2) 이중화 라이브러리(18)를 범용 통신 장치를 통해 상대편으로 전송한다.2) The redundant library 18 is transmitted to the other side through the general purpose communication device.

3) 액티브 측의 범용 통신 장치는 스탠바이 측의 범용통신 장치로 데이터를 전송한다.3) The universal communication device on the active side transmits data to the universal communication device on the standby side.

4) 스탠바이 측의 범용 통신 장치는 이중화 라이브러리로 데이터를 올려준다.4) The universal communication device on the standby side uploads the data to the redundant library.

5) 이중화 라이브러리는 응용프로그램으로 업데이트된 내용을 전송한다.5) The redundant library sends the updated contents to the application program.

그러나 이러한 종래 기술은 다음과 같은 문제점이 있었다.However, this conventional technology has the following problems.

1) 하드웨어를 이용한 이중화 방법의 문제점1) Problems of Redundancy Using Hardware

이는 이중화 전용 하드웨어와 이중화 전용 OS가 필요하기 때문에 많은 비용과 개발 시간이 많이 소요되고, 하드웨어 호환성이 떨어지는 문제점이 있었다.This requires a lot of redundancy dedicated hardware and a dedicated redundancy OS, which takes a lot of cost and development time, and has a problem of inferior hardware compatibility.

또한 소프트웨어적인 논리적(Logical) 오류인 경우에는 복구가 불가능한 문제점도 있었다.In addition, in the case of a software logical error, there was a problem that recovery is impossible.

2) 응용프로그램 라이브러리를 이용한 이중화 방법의 문제점2) Problem of Redundancy Using Application Program Library

이는 이중화 전용 라이브러리를 사용해야 하므로 응용프로그램을 재설계해야 하는 문제점이 있었다.This requires the use of a library dedicated to redundancy, so there was a problem of redesigning the application.

또한 절체(Switch Over)시에 수행중인 프로세스의 컨텍스트(Context)를 복구할 수 없거나, 복구할 경우에도 매우 높은 CPU 부하가 요구되며, 소프트웨어 호환성이 떨어지는 문제점도 있었다.In addition, when switching over, the context of a running process cannot be recovered, or when recovering, a very high CPU load is required, and software compatibility is inferior.

이에 본 발명은 상기와 같은 종래의 제반 문제점을 해결하기 위해 제안된 것으로, 본 발명의 목적은 하드웨어나 응용프로그램의 수정 없이 운영체제만으로 이중화하고, 기존 이중화 방식이 대응하지 못하는 하드웨어 오류 및 소프트웨어 오류 를 모두 복구할 수 있는 MMU를 이용한 운영체제 기반 이중화 방법을 제공하는데 있다.Accordingly, the present invention has been proposed to solve the above-mentioned conventional problems, and the object of the present invention is to duplicate only the operating system without modifying hardware or application programs, and to solve both hardware error and software error that the existing duplication method does not correspond to. An operating system-based redundancy method using a recoverable MMU is provided.

상기와 같은 목적을 달성하기 위하여 본 발명의 일실시예에 의한 MMU를 이용한 운영체제 기반 이중화 방법은,Operating system based redundancy method using the MMU according to an embodiment of the present invention to achieve the above object,

액티브와 스탠바이로 분리 구성되는 이중화 장치에 있어서 , 액티브측의 프로세스 실행중 일 때 MMU에서 페이지 오류 예외를 발생시키고, 이를 이중화 전용 운영체제가 더티 페이지 리스트에 저장하는 제 1 단계와; 상기 제 1 단계 후 프로세스 사이에서 컨텍스트 스위칭이 있으면, 기존에 보관하였던 더티 페이지에 대한 정보와 현재 실행중인 프로세스에 대한 컨텍스트들을 범용 통신 디바이스를 통해 스탠바이측으로 전송하는 제 2 단계와; 상기 제 2 단계 후 상기 액티브측의 프로세스에 오류가 발생하면, 커널에서 예외를 발생시켜 현재 저장 중이던 더티 페이지의 내용과 프로세스 컨텍스트를 상기 스탠바이측으로 전송하고, 상기 스탠바이측에서는 전송받은 정보를 가지고 오류 처리를 수행하는 제 3 단계를 포함하여 수행함을 그 기술적 구성상의 특징으로 한다. 10. A redundancy device comprising active and standby, comprising: a first step of generating a page fault exception in an MMU when a process on the active side is executing, and storing the page error exception in a dirty page list by a duplication-only operating system; If there is a context switching between the processes after the first step, a second step of transmitting information on a dirty page previously stored and contexts for a currently running process to a standby side via a universal communication device; If an error occurs in the process on the active side after the second step, an exception is generated in the kernel to transmit the contents and the process context of the dirty page currently stored to the standby side , and the standby side performs the error processing with the received information. Including the third step to perform is characterized by its technical configuration.

이하, 상기와 같은 본 발명, MMU를 이용한 운영체제 기반 이중화 방법의 기술적 사상에 따른 일실시예를 도면을 참조하여 설명하면 다음과 같다.Hereinafter, an embodiment of the present invention as described above, according to the technical spirit of the OS-based duplication method using the MMU will be described with reference to the drawings.

도 5는 본 발명이 적용되는 MMU를 이용한 운영체제 기반 이중화 장치의 블록구성도이다.5 is a block diagram of an OS-based redundancy apparatus using an MMU to which the present invention is applied.

여기서 참조번호 20은 시스템이고, 21은 범용 애플리케이션이며, 22는 이중화 전용 운영체제이고, 23은 CPU이며, 24는 메모리이고, 25는 범용 하드웨어이다.Where reference numeral 20 is a system, 21 is a general purpose application, 22 is a redundant dedicated operating system, 23 is a CPU, 24 is a memory, and 25 is general hardware.

도 6은 본 발명에 의한 MMU를 이용한 운영체제 기반 이중화 방법을 보인 흐름도이다.6 is a flowchart illustrating an operating system based redundancy method using an MMU according to the present invention.

이에 도시된 바와 같이, 프로세스 실행(Running)중 일 때 MMU에서 페이지 오류 예외(Page Fault Exception)를 발생시키고, 이를 이중화 전용 운영체제가 더티 페이지 리스트(Dirty Page List)에 저장하는 제 1 단계(ST1)와; 상기 제 1 단계 후 프로세스 사이에서 컨텍스트 스위칭(Context Switching, 프로세스 #1에서 프로세스 #2로 천이)이 있으면, 기존에 보관하였던 더티 페이지(Dirty Page)에 대한 정보와 현재 실행중인 프로세스에 대한 컨텍스트들을 범용 통신 디바이스를 통해 상대편(스탠바이측)으로 전송하는 제 2 단계(ST2)와; 상기 제 2 단계 후 프로세스에 오류가 발생하면, 커널(Kernel)에서 예외(Exception)를 발생시켜 현재 저장 중이던 더티 페이지(Dirty Page)의 내용과 프로세스 컨텍스트를 상대편(스탠바이측)으로 전송하고, 상대편(스탠바이측)에서는 전송받은 정보를 가지고 오류 처리를 수행하는 제 3 단계(ST3)를 포함하여 수행한다.As shown in FIG. 1, the MMU generates a page fault exception when the process is running, and stores it in a dirty page list by a redundant dedicated operating system (ST1). Wow; If there is a context switching between the processes after the first step (Transition from Process # 1 to Process # 2), the information about the existing dirty page (Dirty Page) and the contexts for the currently running process A second step ST2 for transmitting to the opposite party (standby side) via the communication device; If an error occurs in the process after the second step, an exception is generated by the kernel to transmit the contents of the dirty page and the process context that are currently being stored to the other side (standby side), and the other side ( The standby side) includes a third step ST3 for performing error processing with the received information.

도 7은 도 6에서 제 1 단계의 동작 예를 보인 흐름도이고, 도 8은 도 7의 동작 예를 보인 블록구성도이다.7 is a flowchart illustrating an operation example of the first step in FIG. 6, and FIG. 8 is a block diagram illustrating an operation example of FIG. 7.

이에 도시된 바와 같이, 상기 제 1 단계는, 프로세스 #1에서 메모리의 내용을 수정하고자 하면, MMU는 페이지 오류 예외(Page Fault Exception)를 발생시키는 제 11 단계(ST11)(ST12)와; 상기 제 11 단계 후 이중화 전용 운영체제(22)는 해당 페이지에 대한 위치를 더티 페이지 리스트(Dirty Page List)에 보관하는 제 12 단계(ST13)를 포함하여 수행한다.As shown therein, the first step includes: an eleventh step (ST11) (ST12) for generating a page fault exception when the MMU attempts to modify the contents of the memory in process # 1; After the eleventh step, the duplication-only operating system 22 includes a twelfth step ST13 of storing a location of a corresponding page in a dirty page list.

도 9는 도 6에서 제 2 단계의 동작 예를 보인 흐름도이고, 도 10은 도 9의 동작 예를 보인 블록구성도이다.FIG. 9 is a flowchart illustrating an operation example of the second step in FIG. 6, and FIG. 10 is a block diagram illustrating an operation example of FIG. 9.

이에 도시된 바와 같이, 상기 제 2 단계는, 상기 제 1 단계 후 프로세스 #1에서 프로세스 #2로 컨텍스트 스위칭이 있으면, 이중화 전용 운영체제(22)는 프로세스 #1에 대한 더티 페이지(Dirty Page)에 대한 위치와 프로세스 컨텍스트 정보를 수집하는 제 21 단계(ST21)(ST22)와; 상기 제 21 단계 후 상기 이중화 전용 운영체제(22)는 더티 페이지의 내용과 프로세스 컨텍스트 정보를 범용 통신 디바이스로 전송하는 제 22 단계(ST23)와; 상기 제 22 단계 후 범용 통신 디바이스로 상대편(스탠바이측)의 범용 하드웨어(25)로 데이터를 전송하는 제 23 단계(ST24)와; 상기 제 23 단계 후 스탠바이의 이중화 전용 운영체제(22)는 범용 통신 디바이스로부터 더티 페이지와 프로세스 컨텍스트 정보를 읽어와서 업데이트 시키는 제 24 단계(ST25)와; 상기 제 24 단계 후 스탠바이 측의 이중화 전용 운영체제(22)는 액티브 측과 동일하게 프로세스 #2로 컨텍스트 스위칭을 수행하는 제 25 단계(ST26)를 포함하여 수행한다.As shown in the drawing, if the second step includes context switching from the process # 1 to the process # 2 after the first step, the redundancy-only operating system 22 is configured for the dirty page for the process # 1. A twenty-first step ST21 (ST22) for collecting location and process context information; After the twenty-first step, the redundancy dedicated operating system 22 transmits the contents of the dirty page and the process context information to the general-purpose communication device (ST23); A twenty-third step (ST24) of transmitting data to the general-purpose hardware 25 of the other side (standby side) to the general-purpose communication device after the twenty-second step; After the twenty-third step, the standby dedicated redundancy operating system 22 reads and updates dirty pages and process context information from the general purpose communication device (ST25); After the twenty-fourth step, the redundant dedicated operating system 22 on the standby side includes a twenty-fifth step ST26 that performs context switching to process # 2 in the same manner as the active side.

도 11은 도 6에서 제 3 단계의 동작 예를 보인 흐름도이고, 도 12는 도 11의 동작 예를 보인 블록구성도이다.FIG. 11 is a flowchart illustrating an operation example of the third step in FIG. 6, and FIG. 12 is a block diagram illustrating an operation example of FIG. 11.

이에 도시된 바와 같이, 상기 제 3 단계는, 상기 제 2 단계 후 프로세스 #2 에 오류가 발생하면, 이중화 전용 운영체제(22)가 페이지 오류 예외를 통해 오류 상태를 감지하는 제 31 단계(ST31)(ST32)와; 상기 제 31 단계 후 이중화 전용 운영체제(22)가 더티 페이지와 프로세스 컨텍스트를 범용 통신 디바이스를 통해 상대편(스탠바이측)으로 전송하는 제 32 단계(ST33)와; 상기 제 32 단계 후 범용 통신 디바이스로 상대편(스탠바이측)으로 데이터를 전송하는 제 33 단계(ST34)와; 상기 제 33 단계 후 스탠바이 측의 이중화 전용 운영체제(22)는 범용 통신 디바이스로부터 더티 페이지와 프로세스 컨텍스트를 읽어오는 제 34 단계(ST35)와; 상기 제 34 단계 후 스탠바이 측의 이중화 전용 운영체제(22)는 더티 페이지와 프로세스 컨텍스트를 통해 액티브와 동일하게 오페레이션을 수행하고, 오류 처리를 수행하는 제 35 단계(ST36)(ST37)를 포함하여 수행한다.As shown in FIG. 3, in the third step, if an error occurs in process # 2 after the second step, the redundancy operating system 22 detects an error state through a page error exception (ST31) ( ST32); A thirty-second step (ST33) of transmitting a dirty page and a process context to the opposite party (standby side) by the redundant dedicated operating system 22 after the thirty-first step; A thirty-third step (ST34) of transmitting data to the other party (standby side) to the general-purpose communication device after the thirty-second step; After the thirty-third operation, the standby dedicated redundancy operating system 22 includes a thirty-fourth step ST35 for reading a dirty page and a process context from a general-purpose communication device; After the 34 th step, the redundant dedicated OS 22 performs the same operation as the active through the dirty page and the process context, and includes the 35 th step (ST36) (ST37) for performing error processing. do.

상기에서 제 35 단계는, 액티브 측의 오류 원인이 하드웨어였을 경우에는 스탠바이 측의 하드웨어가 이상이 없을 때 스탠바이 측이 정상 동작하도록 하는 것을 특징으로 한다.In the above-described step 35, when the cause of the error on the active side is hardware, the standby side operates normally when there is no abnormality in the hardware on the standby side.

상기에서 제 35 단계는, 액티브 측의 오류 원인이 소프트웨어의 오류일 경우에는 액티브 측과 동일하게 스탠바이 측에서도 오류가 발생하도록 하는 것을 특징으로 한다.In the above-mentioned step 35, when the cause of the error on the active side is a software error, the error occurs on the standby side as in the active side.

상기에서 제 35 단계는, 액티브 측과 동일하게 스탠바이 측에서 오류가 발생하였을 경우에는 이전에 저장해 두었던 이전 프로세스 #1의 프로세스 컨텍스트 정보를 통해 롤백(Roll Back)해서 이전 상태로 되돌아가도록 하는 것을 특징으로 한다.In the above step 35, when an error occurs on the standby side as in the active side, the process returns to the previous state by rolling back through the process context information of the previous process # 1 previously stored. do.

이와 같이 구성된 본 발명에 의한 MMU를 이용한 운영체제 기반 이중화 방법의 동작을 첨부한 도면에 의거 상세히 설명하면 다음과 같다.The operation of the OS-based duplication method using the MMU according to the present invention configured as described above will be described in detail with reference to the accompanying drawings.

먼저 본 발명은 하드웨어나 응용프로그램의 수정 없이 운영체제만으로 이중 화하고, 기존 이중화 방식이 대응하지 못하는 하드웨어 오류 및 소프트웨어 오류를 모두 복구하고자 한 것이다.First, the present invention intends to duplicate only the operating system without modifying hardware or application programs, and to recover both hardware error and software error that the existing duplication method does not support.

그래서 본 발명은 이중화 전용 운영체제(22)가 CPU(23)의 MMU를 이용해서 더티 페이지(Dirty Page)를 찾고, 이를 범용 하드웨어(25) 내의 범용 통신 장치를 이용해서 다른 시스템(스탠바이측)으로 전송해서 동기화 시키도록 한다.Thus, in the present invention, the redundant dedicated operating system 22 finds a dirty page using the MMU of the CPU 23 and transmits it to another system (standby side) using a general-purpose communication device in the general-purpose hardware 25. To synchronize.

그리고 CPU(23)의 MMU를 이용해서 범용 응용프로그램(21)이 메모리(24)의 내용을 변경시킬 때 마다, 페이지 오류 예외(Page Fault Exception)를 발생시킬 수 있다.Each time the general purpose application 21 changes the contents of the memory 24 using the MMU of the CPU 23, a page fault exception can be generated.

하지만, 일반적으로 CPU(23)에서 사용하는 페이지의 크기는 통상 4096 바이트이므로, 이 때마다 데이터를 전송 시켜 동기화 시키는 것은 지나치게 많은 CPU 부하를 발생시킨다.However, in general, the size of a page used by the CPU 23 is usually 4096 bytes, and therefore, transferring and synchronizing data each time generates too much CPU load.

이를 방지하기 위해 본 발명에서는 페이지 오류시마다 동기화 시키지 않고, 페이지 위치만을 저장해 놓는다. 그리고 컨텍스트 스위칭이 발생할 때나 또는 오류 가 발생했을 때, 해당 페이지들을 상대편(스탠바이측)으로 전송하도록 한다.In order to prevent this, the present invention stores only the page position without synchronizing every page error. When context switching occurs or an error occurs, the pages are sent to the other side (standby side).

여기서 MMU(Memory Management Unit)란 대부분의 CPU(23) 내에 포함되어 있는 주요장치의 하나로서, 메모리 매핑(Mapping)과 메모리 보호(Protection) 기능 등을 수행하는 장치이다.The MMU (Memory Management Unit) is one of the main devices included in most CPUs 23, and is a device that performs memory mapping and memory protection functions.

또한 이중화란 하나의 시스템이 하드웨어나 소프트웨어 오류로 인해 정상적인 수행을 하지 못할 경우를 대비하여 동일한 하나의 시스템을 더 두고 오류시에 절체(Switch Over) 하여 서비스의 단절이 없도록 하는 방식을 말한다.In addition, redundancy refers to a method in which a system is switched over in case of an error so that there is no disconnection of service in case one system fails to perform normally due to a hardware or software error.

또한 DMA(Direct Memory Access)란 디바이스가 메모리에 직접 값을 라이트(Write)하는 오퍼레이션(Operation)을 말한다.In addition, direct memory access (DMA) refers to an operation in which a device writes a value directly to memory.

또한 페이지 오류 예외(Page Fault Exception)란 MMU의 페이지 테이블 엔트리(Page Table Entry)에 해당 페이지가 없거나 접근권한이 없을 때 MMU가 발생 시키는 예외(Exception)이다.In addition, a page fault exception is an exception that the MMU generates when there is no corresponding page in the MMU's page table entry or when there is no access permission.

또한 더티 페이지 리스트(Dirty Page List)란 응용프로그램이 값을 수정한 메모리 페이지의 번지를 가지고 있는 리스트를 말한다.Also, a dirty page list is a list that contains the address of the memory page where the application modified the value.

또한 컨텍스트(Context)란 프로세스가 수행하기 위한 리소스 정보(CPU 레지스터 정보, I/O(Input/Output, 입출력) 자원 정보 등)를 말한다.In addition, context refers to resource information (CPU register information, I / O (Input / Output, input / output) resource information, etc.) for the process to perform.

또한 컨텍스트 스위칭(Context Switching)이란 하나의 프로세스가 다른 프로세스로 천이 되는 과정을 말한다.In addition, context switching refers to a process in which one process transitions to another process.

이러한 본 발명의 동작을 좀더 상세히 설명하면 다음과 같다.Referring to the operation of the present invention in more detail as follows.

1. 제 1 단계 : 프로세스 실행 (도 7 및 도 8 참조)1. The first step: run the process (see Figs. 7 and 8)

이는 프로세스 실행 중일 경우의 처리 과정이다.This is the process when the process is running.

그래서 프로세스 실행(Running)중 일 때 MMU에서 페이지 오류 예외(Page Fault Exception)를 발생시키고, 이를 이중화 전용 운영체제가 더티 페이지 리스트(Dirty Page List)에 저장하도록 한다(ST1).Therefore, when the process is running, the MMU generates a Page Fault Exception, which causes the redundant operating system to store it in a dirty page list (ST1).

1) 프로세스 #1에서 메모리의 내용을 수정하고자 하면(ST11), MMU는 페이지 오류 예외(Page Fault Exception)를 발생시킨다(ST12).1) If process # 1 attempts to modify the contents of memory (ST11), the MMU generates a page fault exception (ST12).

2) 이중화 전용 운영체제(22)는 해당 페이지에 대한 위치를 더티 페이지 리 스트(Dirty Page List)에 보관한다(ST13).2) The redundant dedicated operating system 22 stores the location of the page in a dirty page list (ST13).

2. 제 2 단계 : 컨텍스트 스위칭 (도 9 및 도 10 참조)2. Second step: context switching (see FIGS. 9 and 10)

이는 컨텍스트 스위칭 시의 처리 과정이다.This is the process during context switching.

그래서 프로세스 사이에서 컨텍스트 스위칭(Context Switching, 프로세스 #1에서 프로세스 #2로 천이)이 있으면, 기존에 보관하였던 더티 페이지(Dirty Page)에 대한 정보와 현재 실행중인 프로세스에 대한 컨텍스트들을 범용 통신 디바이스를 통해 상대편(스탠바이측)으로 전송한다(ST2)So if there is a context switching between processes (process # 1 to process # 2), the information about the dirty page stored previously and the contexts for the currently running process can be stored through the general purpose communication device. Transmit to the other side (standby side) (ST2)

1) 프로세스 #1에서 프로세스 #2로 컨텍스트 스위칭이 있으면(ST21), 이중화 전용 운영체제(22)는 프로세스 #1에 대한 더티 페이지(Dirty Page)에 대한 위치와 프로세스 컨텍스트 정보를 수집한다(ST22).1) If there is a context switching from the process # 1 to the process # 2 (ST21), the redundant dedicated operating system 22 collects the position and process context information for the dirty page for the process # 1 (ST22).

2) 범용 통신 디바이스로 상대편(스탠바이측)의 범용 하드웨어(25)로 데이터를 전송한다(ST24).2) The data is transmitted to the general purpose hardware 25 of the other side (standby side) to the general purpose communication device (ST24).

3) 스탠바이의 이중화 전용 운영체제(22)는 범용 통신 디바이스로부터 더티 페이지와 프로세스 컨텍스트 정보를 읽어와서 업데이트 시킨다(ST25).3) The standby dedicated redundancy operating system 22 reads and updates the dirty page and process context information from the general purpose communication device (ST25).

4) 스탠바이 측의 이중화 전용 운영체제(22)는 액티브 측과 동일하게 프로세스 #2로 컨텍스트 스위칭을 수행한다(ST26).4) The redundant dedicated operating system 22 on the standby side performs context switching to process # 2 in the same manner as the active side (ST26).

3. 제 3 단계 : 오류 처리 (도 11 및 도 12 참조)3. Third step: error handling (see Figures 11 and 12)

이는 오류 발생 시의 처리 과정이다.This is the process when an error occurs.

그래서 프로세스에 오류가 발생하면, 커널(Kernel)에서 페이지 오류 예외(Exception)를 발생시켜 현재 저장 중이던 더티 페이지(Dirty Page)의 내용과 프로 세스 컨텍스트를 상대편(스탠바이측)으로 전송하고, 상대편(스탠바이측)에서는 전송받은 정보를 가지고 오류 처리를 수행하도록 한다(ST3).Therefore, if an error occurs in the process, the kernel raises a page error exception, transferring the contents of the currently stored dirty page and the process context to the other side (standby side), and then to the other side (standby side). Side) performs the error processing with the received information (ST3).

1) 프로세스 #2 에 오류가 발생하면(ST31), 이중화 전용 운영체제(22)가 페이지 오류 예외를 통해 오류 상태를 감지한다(ST32).1) If an error occurs in process # 2 (ST31), the duplication-only operating system 22 detects an error state through a page error exception (ST32).

2) 이중화 전용 운영체제(22)가 더티 페이지와 프로세스 컨텍스트를 범용 통신 디바이스를 통해 상대편(스탠바이측)으로 전송한다(ST33).2) The redundant dedicated operating system 22 transmits the dirty page and the process context to the other party (standby side) via the general purpose communication device (ST33).

3) 범용 통신 디바이스로 상대편(스탠바이측)으로 데이터를 전송한다(ST34).3) The data is transmitted to the other party (standby side) to the general-purpose communication device (ST34).

4) 스탠바이 측의 이중화 전용 운영체제(22)는 범용 통신 디바이스로부터 더티 페이지와 프로세스 컨텍스트를 읽어온다(ST35).4) The redundant dedicated operating system 22 on the standby side reads the dirty page and the process context from the general purpose communication device (ST35).

5) 스탠바이 측의 이중화 전용 운영체제(22)는 더티 페이지와 프로세스 컨텍스트를 통해 액티브와 동일하게 오페레이션을 수행하고, 오류 처리를 수행한다.5) The redundant dedicated operating system 22 on the standby side performs the operation and performs error processing in the same manner as the active through the dirty page and the process context.

이때 액티브 측의 오류 원인이 하드웨어였을 경우에는 스탠바이 측의 하드웨어가 이상이 없을 때 스탠바이 측이 정상 동작하도록 한다.At this time, if the cause of the error on the active side is hardware, the standby side operates normally when there is no abnormal hardware on the standby side.

또한 액티브 측의 오류 원인이 소프트웨어의 오류일 경우에는 액티브 측과 동일하게 스탠바이 측에서도 오류가 발생하도록 한다(ST36).If the cause of the error on the active side is a software error, the error occurs on the standby side as in the active side (ST36).

6) 액티브 측과 동일하게 스탠바이 측에서 오류가 발생하였을 경우에는 이전에 저장해 두었던 이전 프로세스 #1의 프로세스 컨텍스트 정보를 통해 롤백(Roll Back)해서 이전 상태로 되돌아가도록 한다(ST37)6) When an error occurs on the standby side like the active side, the user rolls back to the previous state through the process context information of the previously stored process # 1 (ST37).

이처럼 본 발명은 하드웨어나 응용프로그램의 수정 없이 운영체제만으로 이중화하고, 기존 이중화 방식이 대응하지 못하는 하드웨어 오류 및 소프트웨어 오류 를 모두 복구하게 되는 것이다.As described above, the present invention is to duplicate only the operating system without modifying hardware or applications, and to recover both hardware error and software error that the existing duplexing method does not support.

이러한 본 발명은 기간 통신 시스템 제품군(Gateway 장비, IMT2000, 교환기 등), 네트워크 제품군(스위치, 라우터, 보안장비 등), 서버 제품군 (웹 서버, 게임서버, 파일 서버 등) 등에 적용될 수 있다.The present invention can be applied to the main communication system product line (Gateway equipment, IMT2000, switch, etc.), the network product line (switch, router, security equipment, etc.), the server product line (web server, game server, file server, etc.).

이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 하기 특허청구범위의 한계에 의해 정해지는 본 발명의 범위를 한정하는 것이 아니다.Although the preferred embodiment of the present invention has been described above, the present invention may use various changes, modifications, and equivalents. It is clear that the present invention can be applied in the same manner by appropriately modifying the above embodiments. Accordingly, the above description does not limit the scope of the invention as defined by the limitations of the following claims.

이상에서 살펴본 바와 같이, 본 발명에 의한 MMU를 이용한 운영체제 기반 이중화 방법은 하드웨어나 응용프로그램의 수정 없이 운영체제만으로 이중화하고, 기존 이중화 방식이 대응하지 못하는 하드웨어 오류 및 소프트웨어 오류를 모두 복구할 수 있는 효과가 있게 된다.As described above, the OS-based redundancy method using the MMU according to the present invention has the effect of dualizing only the operating system without modifying hardware or applications, and recovering all hardware and software errors that the existing duplexing method does not support. Will be.

따라서 본 발명은 이중화 하드웨어를 이용한 이중화 방식이 대응하지 못하는 소프트웨어 오류에 대해 대응할 수 있고, 이중화 라이브러리를 이용한 이중화 방식이 대응하지 못하는 하드웨어 오류에 대해서도 대응할 수 있는 효과가 있게 된다.Therefore, the present invention can cope with a software error that the duplication method using the duplication hardware does not cope with, and can cope with a hardware error that the duplication method using the duplication library does not cope with.

또한 본 발명은 기존의 일반적인 목적의 응용프로그램을 바이너리 레벨(Binary Level)로 이중화된 시스템에서 재사용하는 것이 가능한 장점도 있게 된다.In addition, the present invention also has the advantage that it is possible to reuse the existing general-purpose application program in a system duplexed to the binary level (Binary Level).

또한 본 발명은 운영체제에서 이중화를 지원하므로 응용프로그램의 신규 개발 시 이중화를 고려하지 않아도 되기 때문에 개발 시간이 줄어들게 되고, 이중화 의 복잡도가 낮아지며 호환성이 높아지는 효과가 있게 된다.In addition, since the present invention supports the redundancy in the operating system, the development time is reduced, the complexity of the redundancy is lowered, and the compatibility is increased because the duplication does not have to be considered when developing new applications.

또한 본 발명은 CPU 내부의 MMU를 이용하고, 필요한 부분만 동기화 하기 때문에 이중화 라이브러리를 이용한 이중화에 비해 이중화에 소요되는 CPU 부하가 낮은 장점도 있다.In addition, since the present invention uses the MMU inside the CPU and synchronizes only necessary portions, the CPU load required for the duplication is lower than that of the duplication using the duplication library.

또한 본 발명은 범용 하드웨어를 이용하기 때문에 개발비용과 시간을 줄일 수 있는 효과가 있게 된다.In addition, since the present invention uses general-purpose hardware, it is possible to reduce development costs and time.

Claims (7)

액티브와 스탠바이로 분리 구성되는 이중화 장치에 있어서 , In the redundancy device configured as active and standby separately , 상기 액티브측의 프로세스 실행중 일 때 MMU에서 페이지 오류 예외를 발생시키고, 이를 이중화 전용 운영체제가 더티 페이지 리스트에 저장하는 제 1 단계와;A first step of generating a page error exception in the MMU when the active side of the process is executing, and storing the page error exception in a dirty page list by a duplication-only operating system; 상기 제 1 단계 후 프로세스 사이에서 컨텍스트 스위칭이 있으면, 기존에 보관하였던 더티 페이지에 대한 정보와 현재 실행중인 프로세스에 대한 컨텍스트들을 범용 통신 디바이스를 통해 스탠바이측으로 전송하는 제 2 단계와;If there is a context switching between the processes after the first step, a second step of transmitting information on a dirty page previously stored and contexts for a currently running process to a standby side via a universal communication device; 상기 제 2 단계 후 상기 액티브측의 프로세스에 오류가 발생하면, 커널에서 예외를 발생시켜 현재 저장 중이던 더티 페이지의 내용과 프로세스 컨텍스트를 상기 스탠바이측으로 전송하고, 상기 스탠바이측에서는 전송받은 정보를 가지고 오류 처리를 수행하는 제 3 단계를 포함하여 수행하는 것을 특징으로 하는 MMU를 이용한 운영체제 기반 이중화 방법.If an error occurs in the process on the active side after the second step, an exception is generated in the kernel to transmit the contents and the process context of the dirty page currently stored to the standby side , and the standby side performs the error processing with the received information. Operating system-based redundancy method using the MMU, characterized in that it comprises a third step to perform. 제 1 항에 있어서, 상기 제 1 단계는,The method of claim 1, wherein the first step, 프로세스 #1에서 메모리의 내용을 수정하고자 하면, MMU는 페이지 오류 예외를 발생시키는 제 11 단계와;If it is desired to modify the contents of the memory in process # 1, the MMU includes an eleventh step of raising a page error exception; 상기 제 11 단계 후 이중화 전용 운영체제는 해당 페이지에 대한 위치를 더티 페이지 리스트에 보관하는 제 12 단계를 포함하여 수행하는 것을 특징으로 하는 MMU를 이용한 운영체제 기반 이중화 방법.And the twelfth dedicated operating system after the eleventh step includes a twelfth step of storing a location of a corresponding page in a dirty page list. 제 1 항에 있어서, 상기 제 2 단계는, The method of claim 1, wherein the second step, 상기 제 1 단계 후 프로세스 #1에서 프로세스 #2로 컨텍스트 스위칭이 있으면, 상기 액티브측의 이중화 전용 운영체제는 프로세스 #1에 대한 더티 페이지에 대한 위치와 프로세스 컨텍스트 정보를 수집하는 제 21 단계와;If there is a context switching from the process # 1 to the process # 2 after the first step, the active dedicated redundancy operating system collects the location and process context information for the dirty page for the process # 1; 상기 제 21 단계 후 상기 이중화 전용 운영체제는 더티 페이지의 내용과 프로세스 컨텍스트 정보를 범용 통신 디바이스로 전송하는 제 22 단계와;A twenty-second step of transmitting the contents of a dirty page and process context information to a general purpose communication device after the twenty-first step; 상기 제 22 단계 후 범용 통신 디바이스로 상기 스탠바이측의 범용 하드웨어로 데이터를 전송하는 제 23 단계와;A twenty-third step of transmitting data to the general purpose hardware on the standby side to a general purpose communication device after the twenty-second step; 상기 제 23 단계 후 스탠바이의 이중화 전용 운영체제는 범용 통신 디바이스로부터 더티 페이지와 프로세스 컨텍스트 정보를 읽어와서 업데이트 시키는 제 24 단계와;After the twenty-third step, the standby dedicated redundancy operating system includes: a twenty-fourth step of reading and updating dirty pages and process context information from a general-purpose communication device; 상기 제 24 단계 후 스탠바이 측의 이중화 전용 운영체제는 액티브 측과 동일하게 프로세스 #2로 컨텍스트 스위칭을 수행하는 제 25 단계를 포함하여 수행하는 것을 특징으로 하는 MMU를 이용한 운영체제 기반 이중화 방법.And a twenty-fifth step of performing context switching to process # 2 in the same manner as the active side after the twenty-fourth step. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 제 2 단계는,The method according to any one of claims 1 to 3, wherein the second step is 상기 제 2 단계 후 프로세스 #2 에 오류가 발생하면, 상기 액티브측의 이중화 전용 운영체제가 페이지 오류 예외를 통해 오류 상태를 감지하는 제 31 단계와;A 31st step of detecting an error state through a page error exception by a duplication-only operating system on the active side when an error occurs in the process # 2 after the second step; 상기 제 31 단계 후 상기 액티브측의 이중화 전용 운영체제가 더티 페이지와 프로세스 컨텍스트를 범용 통신 디바이스로 전송하는 제 32 단계와;A thirty-second step of transmitting, by the active dedicated redundancy operating system, a dirty page and a process context to a general purpose communication device after the thirty-first step; 상기 제 32 단계 후 범용 통신 디바이스를 통해 스탠바이측으로 데이터를 전송하는 제 33 단계와;A thirty-third step of transmitting data to the standby side via the universal communication device after the thirty-second step; 상기 제 33 단계 후 스탠바이 측의 이중화 전용 운영체제는 범용 통신 디바이스로부터 더티 페이지와 프로세스 컨텍스트를 읽어오는 제 34 단계와;After the thirty-third operation, the standby dedicated redundancy operating system includes: a thirty-fourth step of reading a dirty page and a process context from a general purpose communication device; 상기 제 34 단계 후 스탠바이 측의 이중화 전용 운영체제는 더티 페이지와 프로세스 컨텍스트를 통해 액티브와 동일하게 오페레이션을 수행하고, 오류 처리를 수행하는 제 35 단계를 포함하여 수행하는 것을 특징으로 하는 MMU를 이용한 운영체제 기반 이중화 방법.After the thirty-fourth step, the redundant dedicated OS on the standby side performs an operation in the same manner as the active through the dirty page and the process context, and performs an error process, including the thirty-five step of performing error processing. Based redundancy method. 제 4 항에 있어서, 상기 제 35 단계는,The method of claim 4, wherein the 35th step is 액티브 측의 오류 원인이 하드웨어였을 경우에는 스탠바이 측의 하드웨어가 이상이 없을 때 스탠바이 측이 정상 동작하도록 하는 것을 특징으로 하는 MMU를 이용한 운영체제 기반 이중화 방법.Operating system-based redundancy method using the MMU, characterized in that the standby side is operating normally when the hardware of the standby side if the hardware of the active side is not abnormal. 제 4 항에 있어서, 상기 제 35 단계는,The method of claim 4, wherein the 35th step is 액티브 측의 오류 원인이 소프트웨어의 오류일 경우에는 액티브 측과 동일하게 스탠바이 측에서도 오류가 발생하도록 하는 것을 특징으로 하는 MMU를 이용한 운영체제 기반 이중화 방법.Operating system-based redundancy method using MMU, if the error of the active side is caused by a software error, the error occurs on the standby side as well as the active side. 제 4 항에 있어서, 상기 제 35 단계는,The method of claim 4, wherein the 35th step is 액티브 측과 동일하게 스탠바이 측에서 오류가 발생하였을 경우에는 이전에 저장해 두었던 이전 프로세스 #1의 프로세스 컨텍스트 정보를 통해 롤백해서 이전 상태로 되돌아가도록 하는 것을 특징으로 하는 MMU를 이용한 운영체제 기반 이중화 방법.If an error occurs on the standby side like the active side, the OS-based redundancy method using the MMU to roll back through the process context information of the previously stored process # 1 to return to the previous state.
KR1020040114275A 2004-12-28 2004-12-28 Method for operating system based duplication by using MMU KR100675136B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040114275A KR100675136B1 (en) 2004-12-28 2004-12-28 Method for operating system based duplication by using MMU

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040114275A KR100675136B1 (en) 2004-12-28 2004-12-28 Method for operating system based duplication by using MMU

Publications (2)

Publication Number Publication Date
KR20060075478A KR20060075478A (en) 2006-07-04
KR100675136B1 true KR100675136B1 (en) 2007-01-29

Family

ID=37168015

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040114275A KR100675136B1 (en) 2004-12-28 2004-12-28 Method for operating system based duplication by using MMU

Country Status (1)

Country Link
KR (1) KR100675136B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185556A (en) * 1995-12-27 1997-07-15 Toshiba Corp Method for managing duplex memory and duplex memory management device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185556A (en) * 1995-12-27 1997-07-15 Toshiba Corp Method for managing duplex memory and duplex memory management device

Also Published As

Publication number Publication date
KR20060075478A (en) 2006-07-04

Similar Documents

Publication Publication Date Title
US6687849B1 (en) Method and apparatus for implementing fault-tolerant processing without duplicating working process
US6622263B1 (en) Method and apparatus for achieving system-directed checkpointing without specialized hardware assistance
US8966315B2 (en) System-directed checkpointing implementation using a hypervisor layer
JP2002287999A (en) Server duplexing method, duplex server system, and duplex database server
KR100408047B1 (en) Processor board dualizing apparatus and method for mobile communication system
US6654880B1 (en) Method and apparatus for reducing system down time by restarting system using a primary memory before dumping contents of a standby memory to external storage
US7260739B2 (en) Method, apparatus and program storage device for allowing continuous availability of data during volume set failures in a mirrored environment
WO2020233001A1 (en) Distributed storage system comprising dual-control architecture, data reading method and device, and storage medium
KR100675136B1 (en) Method for operating system based duplication by using MMU
CN111488247A (en) High-availability method and device for managing and controlling multiple fault tolerance of nodes
JP2953639B2 (en) Backup device and method thereof
KR20000033935A (en) Method for overcoming ethernet communication fault in duplicated switching system
JPH10133926A (en) Mirror disk restoring method and restoring system
JPH03265951A (en) Trouble recovery type computer
JPH07219802A (en) Duplex control system
JP3340284B2 (en) Redundant system
JPH06259274A (en) Duplex system
JP2000163276A (en) Network wide spare system
CN117093143A (en) Input/output process processing method and device, electronic equipment and storage medium
JPH05265789A (en) Memory copy system
JP4494263B2 (en) Service system redundancy method
JPH01220049A (en) Duplicate memory control system
JP2001236241A (en) System for controlling memory duplex
JPH0793173A (en) Computer network system and process allocating method for computer therein
JP2850757B2 (en) Failure handling method in hierarchical file system

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20111209

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee