KR20010103913A - 역순주소지정 응용 방법과 장치 - Google Patents

역순주소지정 응용 방법과 장치 Download PDF

Info

Publication number
KR20010103913A
KR20010103913A KR1020000025189A KR20000025189A KR20010103913A KR 20010103913 A KR20010103913 A KR 20010103913A KR 1020000025189 A KR1020000025189 A KR 1020000025189A KR 20000025189 A KR20000025189 A KR 20000025189A KR 20010103913 A KR20010103913 A KR 20010103913A
Authority
KR
South Korea
Prior art keywords
address
memory
memory device
loaded
addressing
Prior art date
Application number
KR1020000025189A
Other languages
English (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 KR1020000025189A priority Critical patent/KR20010103913A/ko
Publication of KR20010103913A publication Critical patent/KR20010103913A/ko

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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

대한민국 발명 특허 출원# 10-1999-0013182 (July 19, 1999)에 "다중 컴퓨터 오퍼레이팅 시스템 사용 장치"의 발명을 이용하여 다양한 시스템을 구성하는 방법과 장치에 대한 발명이다.

Description

역순주소지정 응용 방법과 장치{Methods and appliances for application system making use of decending addressing}
대한민국 발명 특허 출원# 10-1999-0013182 (July 19, 1999)에 "다중 컴퓨터 오퍼레이팅 시스템 사용 장치"에 대한 출원이 되었고, 이는 메모리 장치의 최상위 주소 번지부터 시작하여 FFFFH를 0000H의 시작 번지로 전환하고, 이하 동일한 방법으로 주소 번지를 전환하여 복수 개의 메모리 장치 영역을 만들고 이를 활용하여 복수 개의 OS를 로딩하여 사용하는 장치를 나타내었다. 본 발명은 이를 보완.추가하는 발명이다.
Intel 사의 AGP VGA Card system은 기본메모리장치를 VGA 메모리로 사용하는 것이다.
하나의 컴퓨터 시스템에서 daughter card 형식으로 별도의 메모리 장치를 추가하여 메모리 용량을 확장하여 사용하는 경우도 있다. 그러나 이런 경우에도 OS는 하나를 활용한다. 본 발명은 이렇게 메모리 장치가 2 개 혹은 이상으로 구분되어 있는 경우에도 적용한다.
기존의 컴퓨터 시스템에 로딩되어 사용되는 OS는 반드시 컴퓨터 시스템의 메모리장치의 초기주소부터 사용하기 시작하여 점차 상위 주소를 접근하도록 되어 있다.
복수개의 CPU가 하나의 시스템에 장착되어 사용되는 Multi-Processor system에서 복수개의 CPU가 하나의 OS 만을 위해 작동한다.
컴퓨터 시스템 상에 각각의 응용프로그램이 모두 작동하도록 하기 위해서는 CPU를 각 작업에 적당히 할당해 주어야 한다. 이러한 작업은 하나의 OS라는 전제하에서이루어 졌으나 본 발명은 복수개의 OS을 대상으로 CPU를 할당해 주어야 한다.
좀 더 다양한 복수개의 OS를 메모리 장치에 로딩하여 사용할 수 있는 방법과 장치를 고안한다.
이러한 방법과 장치에 실제적인 운용 시 다양한 경우와 각각의 경우에 대한 방법과 장치를 고안한다.
하나의 컴퓨터 시스템에 메모리장치가 복수개로 구성되어 이 메모리장치들을 하나의 OS가 모두 통합하여 주소지정을 하여 접근 사용하거나 혹은 복수개의 OS가 이용하도록 한다.
하나의 메모리장치를 역순주소전환방법에 추가하여 순차적주소전환방법에 의해서 분할영역으로 사용할 수 있도록 한다.
복수개의 컴퓨터 시스템에서 각각의 컴퓨터 시스템이 놀고 있는 경우에 유휴되어 있는 메모리장치를 사용할 수 있도록 한다. 이 때에 각각의 컴퓨터시스템의 메모리장치의 주소에 접근할 수 있는 방법을 도출한다. 이러한 경우에 남아 있는 메모리 용량 확인 방법, 메모리장치에 로딩되어 있는 데이터를 오염시키지 않고 메모리장치를 가장 효율적으로 사용할 수 있도록 하며, 기존의 메모리에 로딩되어 있는 데이터와의 주소 충돌이 없도록 한다.
하나의 컴퓨터 시스템에서 복수개의 OS를 사용할 수 있는 환경을 만드는데에 주소전환방법이 아니고, OS 혹은 응용프로그램의 프로그램 시에 이러한 환경을 고려하여 프로그래밍을 하도록 한다. 또한 역순주소전환방법외에도 메모리장치의 중간 일부를 점유하여 이 주소를 대상으로 사용하며, 주소지정을 순차주소지정방식에 의해 이행될 수 있도록 한다.
본 발명에서는 복수개의 CPU를 적당히 분할하여 복수개의 OS가 로딩되어 사용될 경우에 각각의 CPU가 각각의 OS를 운영하고, 일반적인 경우와 같이 하나의 OS만이 운영될 경우에는 복수개의 CPU가 하나의 OS만을 위해 작동하도록 한다. 이러한 시스템에서, 복수개의 OS가 로딩되는 것을 인식하는 수단, 각각의 CPU를 각각의 OS와 메모리장치에 배정하여 사용하도록 하는 수단과 이들 복수개의 CPU를 하나의 OS와 메모리장치에 다시 전환하여 사용하도록 하는 수단이 필요하다.
복수개의 OS가 메모리장치에 로딩되어 사용되면 OS간에 CPU를 배분하여 각각의 OS에 분배해 주어야 원활하게 모든 OS가 작동한다. 이러한 기능을 하는 수단을 강구한다.
도 1a는 컴퓨터 시스템에서 메모리장치가 각각의 물리적 시작주소를 갖고 각각 독립.개별적으로 물리적 시작주소를 이용하여 접근이 가능한 컴퓨터 시스템에서 메모리장치의 분리/통합수단을 통하여 각각의 메모리장치의 주소를 분리/통합시켜 하나 혹은 이상의 OS 혹은 응용프로그램을 사용하도록 구성한 시스템의 블록도이다.
도 1b는 메모리장치의 순차주소지정방식 혹은 역순주소지정방식을 이용하여 2개 혹은 이상의 영역으로 구분하고, 다시 이를 하.상위 영역으로 구분하므로써 복수개의 OS 혹은 응용프로그램을 각각의 메모리장치 영역에서 사용할 수 있도록 하는 방법을 설명한 그림이다.
도 1c는 Multi-Processor 시스템에서 각각의 CPU가 각각의 OS에 배정.할당되어 각각의 OS를 운영할 수 있도록 하는 방식을 나타낸 블록도이다.
도 2는 하위메모리영역에는 OS와 driver들을 로딩하고, 상위메모리영역에는 응용프로그램들을 로딩하며, 하.상위메모리영역에 로딩된 프로그램간에 서로 데이터를 주고 받도록 구성한 블록도이다.
한국 발명특허 출원# 10-1999-0013182 (July 19, 1999) 에 기술되어 있는 방법과 장치에 추가하여 다음과 같은 방법으로 복수 개의 OS 혹은 응용 프로그램 등을 메모리 장치에 로딩하여 사용한다. 이하 설명에서 복수 개의 OS를 하나의 메모리 장치에 로딩하여 사용하는데 있어서, OS 혹은 프로그램 간의 충돌을 막기 위한 수단의 필요성등은 기 언급된 발명특허 출원 내용과 동일하다.
2개 혹은 이상의 독립메모리 장치의 분리/통합 사용
도 1a는 복수개의 독립된 메모리 장치(예로 A장치, B장치의 2개로 구성)로 구성된 컴퓨터 시스템에서 cpu가 각각의 메모리장치를 A의 0000H ~ ffffH로 주소를 지정.접근이 가능하고, B장치도 마찬가지로 B의 0000H ~ ffffH로 주소를 지정.접근이 가능한 시스템을 나타낸다. 이러한 컴퓨터시스템에서 복수 개의 영역으로 가상 혹은 실제적으로 분리하여 복수 개의 OS 혹은 application(이하 "복수 개의 OS"라 통칭)을 로딩하여 사용할 경우에, 주소 지정방식을
- 하나의 OS 만을 이용할 경우에는 하나의 메모리 영역으로 통합 사용하고,
- 복수 개의 OS를 사용할 경우에는 메모리 영역을 복수 개로 구분하여 사용하는 경우를 나타내었다. 하나의 OS 만을 혹은 복수 개의 OS를 사용할 경우에 메모리 장치는 메모리 장치 통합/분할 수단을 통하여 통합/분할 사용한다.
도 1a에서 1은 CPU로서 하나의 CPU 혹은 복수개의 CPU이다. 메모리 장치 2와 3이 하나의 장치로 통합되어 사용될 경우에는 4의 회로를 통하여 address de/multiplexer 5와 6을 하나의 장치로서 지정되도록 하고, 복수개로 분할되어 사용될 경우에는 8의 회로로서 각각의 장치에 주소 지정을 하도록 한다. 이러한 통합/분할은 BIOS 상태에 따라 복수 개의 OS가 사용되는 것으로 감지되면 회로 전환을 통하여 구현한다. 여기서 2와 3의 메모리장치의 크기가 똑 같을 필요는 없다. 이는 hardware적 접근 방법이다.
소프트웨어 접근방법으로서,
1) 일반적인 메모리장치 구성에서와 같이, 하나의 메모리 장치와 하나의 address de/multiplexer 로 구성되었으며(도 1a의 4의 형태로 혹은 하나의 메모리장치로 통합된 경우), 이를 2 개의 혹은 이상의 수의 OS를 돌리기 위하여 분리하는 방법으로서 주소전환을 소프트웨어적으로 수행하는 것은 3과 6의 메모리장치와 de/multiplexer이 2와 3의 전체 메모리주소에 있어서, c000H ~ ffffH의 주소영역을 갖는다고 할 때에, 이를 역순주소전환을 하여,
ffffH => 0000H
......
c000H => 3fffH 식으로 전환하는 것은 기 언급된 한국 발명특허 출원# 10-1999-0013182 의 발명 사항으로 역차순주소전환이다.
이와는 달리
c000H => 메모리장치(3)의 0000H
......
ffffH => 3fffH 식으로 전환하기도 한다. 즉, 순차적주소전환이다.
2) 두개의 혹은 복수개의 메모리 장치로 구분되어 있을 경우에는 즉, 도 1a의 7의 회로 형태로 되어 있을 경우에 각각의 OS가 각각의 메모리 장치를 독립적으로 사용한다. 이러한 복수개의 메모리 장치를 하나의 OS가 통합적으로 사용할 경우에 즉, 3의 메모리 장치가 2와 분리되어 있으므로 3의 주소지정을 주소전환수단을 이용하여 3의 메모리장치의 실제 물리적 주소의 0000h를 2의 최상위주소에 연이어서10001H로 주소지정을 하여 접근 및 쓰기.읽기가 가능하도록 한다.
복수개의 CPU를 사용하는 경우에 각각의 CPU가 각각의 OS를 운용하기도 한다.
이러한 방법은 하나의 컴퓨터에 각각의 독립된 시작주소를 갖은 메모리 장치 뿐만이 아니라, 복수개의 각각의 독립된 컴퓨터 시스템에서 메모리장치의 통합.분리에 적용될 수 있다. 이 때에 각각의 컴퓨터 시스템에는 그 컴퓨터시스템을 운영하기 위한 OS가 로딩이 되고, 나머지의 공간을 활용하는데, 이 공간을 OS가 로딩된 주소의 상위 주소부터 순차적주소지정방법에 의해 혹은 최상위주소부터 역순주소지정방법에 의해 메모리장치를 접근한다.
최상위 주소를 시작번지로 하는 OS
복수 개의 OS를 사용하는 방법으로서 OS 혹은 application program 들을 처음부터 프로그래밍을 메모리 장치의 최상위 주소(예: ffffH)를 지정하고 이를 기준으로하여 다른 주소를 지정하도록 하여 사용하도록 한다. 즉, ffffH, fffeH, fffdH, ... 0000H 식의 역차순으로 메모리 주소 지정이 되어 프로그램이 메모리 장치에 로딩.접근된다. 이 경우에 메모리 장치의 최상위 주소는 메모리 장치의 크기에 따라 ffffH, 1ffffH 혹은 fffffH가 될 수도 있다. 즉, 메모리 장치의 크기에 따라 변한다. 이는 BIOS 등에서 처음 부팅 시에 전체 메모리 장치의 크기를 인식하고 이를
최상위 주소 = ffffH
의 형식으로 "최상위 주소"의 변수에 ffffH 주소를 대입하고 이 후는 이 "최상위 주소" 변수를 지정하도록 한다.
메모리장치의 중간 일부주소를 시작주소로 하고 그 상위의 전체 영역 혹은 일부 영역을 사용하도록 OS 혹은 프로그램을 프로그래밍하는 경우에도 "시작주소" 변수와 "끝 주소변수"를 사용하여 해당 메모리영역의 시작주소(예: c0000H) 혹은 끝주소를 지정하여 사용하도록 한다. 이러한 변수는 시스템 전체에 적용되는 변수이다.
메모리 크기가 변하지 않는 경우에는 실제 물리적주소를 직접 지정하여 프로그래밍을 한다.
복수개의 OS 로딩과 메모리 주소 지정
도 1b는 메모리 장치를 상.하위 영역의 2 개의 영역으로 구분하고, 이 각각의 영역을 다시 상.하위 영역으로 구분하는 경우를 나타낸다.
먼저 전체 메모리 크기를 도 1b의 10을 기준으로 하여 2 개로 분리하고, 이 분리된 메모리 영역을 다시 주소전환 방법을 이용하여 각각 2 개의 OS를 로딩한다. 여기에서 메모리 영역을 2개로 분리하는 방법의 예는 0000H ~ ffffH를 0000H ~ 8fffH와 9000H ~ ffffH로 구분하고(이하 각각을 "하위영역"과 "상위영역"으로 통칭), 상위영역 9000H ~ ffffH를 0000H ~ 6fffH로 주소를 전환(이하 출원# 10-1999-0013182에 상대적 개념으로 "순주소전환수단"으로 통칭한다. 출원# 10-1999-0013182은 이하 "역주소전환수단"으로 통칭한다.)한다. 역주소전환수단을 이용하면 9000H ~ ffffH를 6fffH ~ 0000H으로 전환한다. 주소 전환은 간단히 주소 전환수단을 이용하여 구현한다.
도 1b에서 2개의 영역으로 구분하여 11은 순주소전환방법을 이용하여 각각의 영역의 가상주소의 초기주소에 OS 혹은 응용프로그램들을 로딩하였다. 12는 역주소전환수단을 이용하여 실제 주소의 시작주소와 끝주소를 시작으로 하여 로딩하였다. 13은 이 각각의 상.하위영역에 다시 종속상.하위영역으로 순.역주소전환수단을 이용하여 분할하였고, OS와 응용프로그램들을 로딩한 것을 나타내었다. 종속상.하위영역에는 10과 동일한 각각의 영역을 보호하는 수단이 있다.
복수 개의 CPU에 각각의 OS를 사용
도 1c에서 20과 21은 CPU이다. 두개의 CPU, 1 개의 메모리 장치와 1개의 OS가 로딩되어 사용하는 경우는 일반적인 경우의 Multi-Processor 시스템이다. 이러한 시스템에서 본 발명에 의해 복수개의 OS가 로딩되어 사용되고, CPU가 각각의 메모리장치를 접근하여 각각의 OS를 운영.실행하도록 구성하여 컴퓨터 시스템을 구성한다. 한 개의 OS만이 사용될 경우에는 메모리장치를 구분.분리하지 않고 하나의 OS를 위해서 복수개의 CPU와 메모리장치의 전체가 할당되어 운영.실행한다. 또 하나의 OS가 로딩되어 실행되면 이러한 경우에는 어느 하나의 CPU가 완전히 하나의 OS에 할당되어 운영되도록 하는 시스템의 블록도이다. 여기에서 CPU 20은 하위의 OS(22)를 21은 상위메모리영역에 로딩된 OS(23)를 지원한다.
이러한 시스템에서, 복수개의 OS가 로딩되는 것을 인식하는 수단, 각각의 CPU를 각각의 OS와 메모리장치에 배정하여 사용하도록 하는 수단과 이들 복수개의 CPU를 하나의 OS와 메모리장치에 다시 전환하여 사용하도록 하는 수단이 필요Q하다. 복수개의 OS가 로딩되는 것을 인식하는 수단은 BIOS 상 혹은 메모리콘트롤러 상에서 메모리 영역 분할 시에 감지하도록 하며, 각각의 CPU를 각각의 OS와 메모리장치에 배정하여 사용하도록 하는 수단과 이들 복수개의 CPU를 하나의 OS와 메모리장치에 다시 전환하여 사용하도록 하는 수단은 회로장치를 구성.활용한다.
이러한 시스템은 CPU의 효율은 떨어진다. 노는 CPU는 이러한 상황을 감지하여 바쁜 CPU의 작업을 일부를 맡아 수행하도록 구성한다.
그러나 상위메모리영역과 하위메모리영역이 항상 균일하게 운영이 된다면 이러한 시스템이 간단하다. 이러한 예는 Intel 사의 AGP VGA 시스템이 있다.
Virus Protection System
바이러스는 디스크의 부팅 섹터, FAT 등을 망가뜨려 디스크를 사용 못하게 하거나, 디스크 포맷 혹은 화일 지우기 등을 하는데, 이러한 작업을
1) 사용자의 실수로 바이러스 실행화일을 실행하여서 이러한 작업을 하게 하거나,
2) 메모리에 상주되어 있으면서 다른 실행 명령어를 감염 시켜 그 명령어의 실행에 따라 이러한 작업을 하도록 한다.
이러한 상황의 발생을 막는 방법은 다음과 같다.
디스크에 쓰기 작업을 함부로 하지 못하도록 하며,
메모리데이터 간의 상호 감염을 막기위하여 프로그램로딩 메모리영역을 철저히 구분하여 실행한다.
디스크에 쓰기 작업을 함부로 하지 못하도록 하는 방법은 다음과 같다.
하드디스크 혹은 플로피 디스크 등의 저장장치(이하 "디스크 드라이브 저장장치"라통칭)에 지우기 동작은 기존의 데이터에 "?" 등의 마크를 하고 이를 빈 데이터로 인식하는 것이다. 이하 이러한 동작을 "지우기" 동작이라 칭한다. 이와는 달리 섹터등의 단위로 새로 쓰기를 하거나 지워진 데이터 위에 지운 표식위에 새로이 쓰는 동작을 이하 "쓰기" 동작이라고 칭한다. 데이터 파괴 동작은 지우기가 치명적이다. 즉, 부트 섹터 지우기, 파티션 테이블 지우기, 일반 데이터 섹터 지우기 등이다. 여기서 지우기 동작을 관리하면 바이러스에 의한 데이터 삭제를 막을 수 있다. 지우기 동작을 관리하는 방법으로서 컴퓨터 시스템 상에서 일어나는 지우기 동작을 분석하면 다음과 같은 경우에 지우기 동작이 실행된다.
1) 사용자가 임의로 지우기 동작을 실행할 때.
2) 일정 화일내의 데이터 혹은 일정 directory 내에서의 화일들을 수시로 update 하는데 지우고 쓰기 동작이 일어난다. 이는 cache 혹은 swap 화일/directory 등이다.
사용자가 임의로 지우기 동작을 실행할 때에는 철저히 사용자의 확인을 요하도록 하고, cache 혹은 swap 화일/directory에서의 동작은 그러한 사전에 설정된 크기와 위치 내에서 동작이 가능하도록 철저히 관리를 한다.
메모리데이터 간의 상호 감염을 막기 위한 방법은 하드디스크로의 지우기 동작 관련된 명령어 혹은 하드디스크 드라이버를 메모리장치로의 로딩 영역을 일반 명령어 혹은 프로그램이 로딩되는 영역과 철저히 구분을 한다. 즉, 본 발명에 따라 하나는 하위 메모리영역에 다른 하나는 상위메모리영역에 로딩하는 것이다. 이러한 구분에의해 virus에 감염된 일반 명령어를 하드디스크 지우기 명령어와 철저히 구분을 하면 감염에 따른 하드디스크의 파괴를 막을 수 있다.
바이러스제작자가 Assembler 언어를 이용하여 하드디스크에 지우기 동작을 하는 명령을 수행하도록 할 수 있다. 이러한 명령어는 사용자가 인정한 명령어이외의 명령어 이므로 실행하지 않도록 한다. 즉, 섹터 단위로 지우기(파티셔닝, 포맷팅 포함) 동작은 반드시 사용자의 허가를 받아 실행하도록 한다.
OSs와 application programs
하위메모리영역에는 OS와 driver들을 로딩하고, 상위메모리명역에는 응용프로그램들을 로딩하며, 하.상위메모리영역에 로딩된 프로그램간에 서로 데이터를 주고 받는다. 하.상위메모리영역에 로딩하는 응용분야는 다음과 같다. 하위 메모리영역에는 일반 OS가 로딩되는 것을 전제로 한다. 상위메모리영역에
1) 별도의 특별한 그리고 하위 OS와 관련없는 OS를 로딩하여 사용한다. 이러한 분야는 Game OS와 응용프로그램들, NetworkOS와 응용프로그램들이 있다.
2) 혹은 하위 OS와 관련있는 application program들을 로딩하여 사용한다.
도 2에서 2.1은 하위메모리영역에 로딩된 OS 혹은 application program들이고 2.2는 상위메모리영역에 로딩된 OS 혹은 application program들이다. 2.3은 하위메모리영역의 OS와 프로그램들이 사용하는 하드디스크드라이브이고, 2.4는 상위메모리영역의 OS와 프로그램들이 사용하는 하드디스크드라이브이다. 상위메모리영역의 OS가 NetworkOS이고 하위메모리영역의 OS는 일반OS로 하면, NetworkOS는 철저히 네트웍상에서의 데이터송수신만을 한다. 이때에 일반OS가 Active일 때에 NetworkOS는 백그라운드에서 실행한다. 주변기기는 각각의 OS가 Active 혹은 background 실행여부에 따라 적절히 해당 OS에 귀속되어 실행한다. NetworkOS는 사실 하나의 응용프로그램과 같이 동작한다.
기타
메모리영역 활용방법
메모리영역 1 메모리영역 2 비고
1 일반 OS 일반 OS의 응용 프로그램
2 일반 OS Game OS와 응용프로그램 각각 독립적으로 실행.
3 일반 OS Network OS: 각각 독립적이며, Network OS는 관련 주변기기장치의 드라이버를 포함하여 background에서 실행 가능
4 Network OS Network OS 2개의 각각 독립된 서버 혹은 클라이언트로서 동작.
5 일반 OS Java OS Java는 일반 OS의 Virtual Machine 상에서 작동 혹은 별개의 독립OS로서 작동.
6 일반 OS와 저장매체에 지우기관련 드라이버 혹은 프로그램 일반 프로그램(저장매체의 지우기 작업 관련 제외) Virus Protection 응용.
주:1. OS는 응용프로그램을 포함.2. 메모리영역은 순주소전환수단 혹은 역주소전환수단에 의한 메모리영역의 구분 혹은 복수개의 메모리장치의 각각의 장치를 뜻함.
위의 설명에서 OS와 응용프로그램들을 분리된 메모리영역에 로딩하는 것을 정리한 것이 아래의 표이다.
표 1
위에서 각각의 OS를 작동하며, 백그라운드에서 실행하는 하나 혹은 이상의 OS를 작동시키기 위해서는 각 OS간의 CPU 사용을 조정해 주는 time sharing 수단을 요구한다. 기존의 Multi-Processing 시스템에서는 이러한 역할을 OS의 driver 혹은 프로그램이 수행을 하였다. 본 발명에서 각각의 OS에 CPU를 할당.배분하여 OS의 작업을 원활히 조정.수행하도록 하기 위해서, 기존의 시스템에서 time sharing 역할을 하였던 기능을(이하 "time sharing 수단"이라 통칭)
1) 별도의 콘트롤러와 회로를 이용한 구성,
2) cpu와 연결되어 있는 중간 메모리저장장치에 이러한 프로그램을 로딩하여 조정.수행하도록 구성하거나 혹은
3) 각각의 OS 상에 이러한 역할을 하는 프로그램을
로딩하여 자동 수행하도록 한다.
사용하지 않는 컴퓨터 시스템이 많다. 본 발명을 이용하면 사용하지 않는 유휴 컴퓨터 시스템에서 HDD와 기타 데이터의 손상을 입히지 않고 메모리장치의 상위영역에 접근하여 유휴메모리공간을 빌려 사용하는 것이 가능하다.
이러한 방법으로 바이러스의 침투로 인해 디스크 저장 장치 혹은 데이터의 파괴를 막을 수 있다. 이와 같이 하드디스크에 손상을 입히는 동작을 특정 드라이버만을 통하게 하고 지우기 동작을 철저히 관리하면 바이러스에 의해 데이터가 함부로 지워지는 것을 막을 수 있다.
하위메모리영역에는 일반 OS, 상위메모리영역에는 game OS를 로딩하면 일반 OS의 불필요한 driver들을 메모리장치에 로딩하지 않으므로 game의 실행이 가볍다. 상위메모리영역에 Network OS인 Netware등을 로딩하고, 메모리장치의 상.하위영역 간에는 철저히 충돌이 없도록 하고, 각각의 OS가 데이터를 저장하는 하드디스크드라이브장치를 구분하여 사용하면 바이러스에 의한 다른 데이터 혹은 드라이브장치의 파괴를 막을 수 있다.
장점:
- 다른 불필요한 driver 를 사용하지 않으므로 속도가 빠르다. 전용으로 사용하므로 OS가 가볍다. 다른 응용프로그램 들과 Memory에 로드된 바이러스 프로그램의 영향을 받지 않는다.
- 보안: Network OS는 데이터 처리를 일반적인 방법과 달리 한다. 또한 하드디스크에 접근을
하나의 OS 프로그램, 응용프로그램 혹은 HDD에 문제가 있어서 시스템에 OS를 loading 하여 사용하지 못하는 경우에 DOS와 같은 간단한 OS로서 메모리장치의 상위영역에 로딩함으로써 인터넷 등에 접속하고, 업체 등에서 telnet 등으로 고장난 컴퓨터 시스템에 접속하여 Repair 작업을 수행함으로써 간단히 받을 수 있다. 기존의 컴퓨터 시스템은 reboot 등을 하여야 함으로써 번거로웠으나 OS를 스위칭 하므로써 고장 수리 및 확인 작업을 즉시 할 수 있다.
"최상위 주소를 시작번지로 하는 OS"는 OS를 메모리장치의 주소접근방법을 수정함으로써 본 발명의 효과를 거둘 수 있다.

Claims (1)

1. 메모리 장치가 2 개 혹은 이상의 수로 구성이 되었고, 각각의 메모리장치의 주소를 별도로 지정접근이 가능한 컴퓨터 시스템에서, 메모리장치의 주소분리/통합수단이 언급된 각각의 메모리장치의 주소를 분리 혹은 통합할 수 있도록 구성되고, OS 혹은 프로그램의 메모리장치로의 로딩 상태를 인식하여 언급된 메모리주소의 분리/통합 작업을 수행하도록 구성된 것을 특징으로하는 분리된 복수개의 독립메모리장치에서의 각각의 메모리장치 주소접근.사용 방법.
2. 메모리 장치가 2 개 혹은 이상의 수로 구성이 되었고, 각각의 메모리장치의 주소를 별도로 지정접근이 가능한 컴퓨터 시스템에서, 메모리장치의 주소분리/통합수단이 언급된 각각의 메모리장치의 주소를 분리 혹은 통합할 수 있도록 구성되고, OS 혹은 프로그램의 메모리장치로의 로딩 상태를 인식하여 언급된 메모리주소의 분리/통합 작업을 수행하도록 구성된 것을 특징으로하는 분리된 복수개의 독립메모리장치에서의 각각의 메모리장치 주소접근.사용 장치.
KR1020000025189A 2000-05-12 2000-05-12 역순주소지정 응용 방법과 장치 KR20010103913A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000025189A KR20010103913A (ko) 2000-05-12 2000-05-12 역순주소지정 응용 방법과 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000025189A KR20010103913A (ko) 2000-05-12 2000-05-12 역순주소지정 응용 방법과 장치

Publications (1)

Publication Number Publication Date
KR20010103913A true KR20010103913A (ko) 2001-11-24

Family

ID=45811738

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000025189A KR20010103913A (ko) 2000-05-12 2000-05-12 역순주소지정 응용 방법과 장치

Country Status (1)

Country Link
KR (1) KR20010103913A (ko)

Similar Documents

Publication Publication Date Title
TWI263937B (en) Nonvolatile logical partition system data management
US7376949B2 (en) Resource allocation and protection in a multi-virtual environment
US5761680A (en) Coherent film system access during defragmentation operations on a storage medium
JP2727520B2 (ja) メモリカード及びその作動方法
KR101863174B1 (ko) 가상 머신의 일체성 보호를 위한 메모리 인트로스펙션 엔진
JP6050262B2 (ja) 仮想ディスクストレージ技術
US7925818B1 (en) Expansion of virtualized physical memory of virtual machine
US10055361B2 (en) Memory controller for providing a plurality of defined areas of a mass storage medium as independent mass memories to a master operating system core for exclusive provision to virtual machines
KR20080003490A (ko) 시스템 동작 제어 장치 및 방법
US10268592B2 (en) System, method and computer-readable medium for dynamically mapping a non-volatile memory store
US11061829B2 (en) Prefetch support with address space randomization
CN112256396B (zh) 内存管理方法、系统及安全处理装置、数据处理装置
US6618768B2 (en) Method and computer system for integrating a compression system with an operating system
JP4308152B2 (ja) メモリを予約するための方法、システム、および製品
US10216529B1 (en) Method and system for sharing driver pages
US5875487A (en) System and method for providing efficient shared memory in a virtual memory system
US6760827B2 (en) Method and apparatus for accessing ROM PCI memory above 64 K
US5940869A (en) System and method for providing shared memory using shared virtual segment identification in a computer system
JP6679419B2 (ja) メモリ保護ユニット、メモリ管理ユニット、及びマイクロコントローラ
JP3808058B2 (ja) 複数のホストが圧縮データを記憶するメモリ・セクタの集合を共用できるようにするための装置
KR20010103913A (ko) 역순주소지정 응용 방법과 장치
KR20060023956A (ko) 운영체제
JP6035993B2 (ja) 情報処理装置、装置管理方法および装置管理プログラム
KR20020075944A (ko) 주소전환을 이용한 메모리의 다양한 이용방법과 장치
KR20010096024A (ko) 주소전환을 이용한 메모리의 다양한 이용방법과 장치

Legal Events

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