KR100322573B1 - 주기억장치와 보조기억장치사이의 스와핑 장치및 방법, 그 장치를 채용한 웹비디오 폰 - Google Patents

주기억장치와 보조기억장치사이의 스와핑 장치및 방법, 그 장치를 채용한 웹비디오 폰 Download PDF

Info

Publication number
KR100322573B1
KR100322573B1 KR1019980023201A KR19980023201A KR100322573B1 KR 100322573 B1 KR100322573 B1 KR 100322573B1 KR 1019980023201 A KR1019980023201 A KR 1019980023201A KR 19980023201 A KR19980023201 A KR 19980023201A KR 100322573 B1 KR100322573 B1 KR 100322573B1
Authority
KR
South Korea
Prior art keywords
data
program code
main memory
stored
program
Prior art date
Application number
KR1019980023201A
Other languages
English (en)
Other versions
KR20000002446A (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 KR1019980023201A priority Critical patent/KR100322573B1/ko
Priority to GB9825088A priority patent/GB2338574B/en
Priority to JP33810498A priority patent/JP3662432B2/ja
Priority to US09/206,237 priority patent/US6233664B1/en
Publication of KR20000002446A publication Critical patent/KR20000002446A/ko
Application granted granted Critical
Publication of KR100322573B1 publication Critical patent/KR100322573B1/ko

Links

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/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

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

Abstract

본 발명은 주기억장치와 보조기억장치 사이의 스와핑 장치 및 방법, 그 장치를 채용한 웹비디오 폰에 관한 것이다.
상기 웹비디오 폰은, 애플리케이션 프로그램의 실행명령을 입력하는 키입력부; 적어도 H.324 표준안에 의한 비디오폰과, H.323 표준안에 의한 인터넷 폰과, 웹브라우저와, 이-메일과 PIMS와 같은 애플리케이션 프로그램을 저장하는 플래쉬 메모리; 프로그램 코드 영역과 데이터 영역을 구비하여 상기 플래쉬 메모리에서 다운로드된 프로그램 코드와 플래쉬 메모리와 스와핑된 데이터를 저장하는 디램; 및 상기 키입력부로 입력되는 애플리케이션 프로그램의 실행명령에 응답하여, 상기 플래쉬 메모리에 저장된 각 애플리케이션 프로그램의 프로그램 코드는 상기 디램의 프로그램 영역에 저장하도록 제어하고, 상기 플래쉬 메모리에 저장된 각 애플리케이션 프로그램의 데이터는 상기 디램의 데이터 영역에 저장된 데이터와 스와핑하도록 제어하는 메인 프로세서를 포함함을 특징으로 한다.
본 발명에 따르면, 적은 용량의 디램으로 전체 애플리케이션 프로그램들을 구동할 수 있고, 또한 각 애플리케이션 프로그램별로 관리하기가 편리하다.

Description

주기억장치와 보조기억장치 사이의 스와핑 장치 및 방법, 그 장치를 채용한 웹비디오 폰
본 발명은 스와핑 장치 및 방법에 관한 것으로, 보다 상세하게는 보조기억장치에 저장된 복수개의 애플리케이션 프로그램 중 입력수단에 의해 실행이 요구된 애플리케이션 프로그램만을 디램의 소정 영역에 저장된 프로그램 코드 및 데이터와 스와핑하기 위한 주기억장치와 보조기억장치 사이의 스와핑 장치 및 방법, 그 장치를 채용한 웹비디오 폰에 관한 것이다.
스와핑(Swapping)은 주기억 장치에 저장된 내용과 보조기억 장치에 저장된 내용을 상호교환하는 조작을 말한다. 주기억 장치의 효율적인 사용을 위해 리소스(Resource)를 재배치하는 시스템에 있어서 우선도가 높은 프로그램을 보조기억장치에서 주기억 장치로 옮기는 것을 스왑-인(Swap-in)이라 하고, 우선도가 높은 프로그램을 주기억에 배치하기 위해 우선도가 낮은 프로그램을 주기억장치에서 보조기억장치로 옮기는 것을 스왑-아웃(Swap-out)이라 한다.
도 1은 종래의 스와핑 장치를 채용하지 않은 웹비디오 폰의 블록도이다.
도 1에서 디램(10)은 주기억 장치의 일종으로서, 실시간(Real Time) OS(Operating System) 코드와 메인 메뉴를 저장하는 기본 프로그램 코드 영역(102)과 플래쉬 메모리(12)의 각 애플리케이션 프로그램과 스와핑하기 위한 프로그램 코드 및 데이터 영역(104)을 포함한다.
플래쉬 메모리(12)는 보조기억 장치의 일종으로서, OS 라이브러리와 스태틱 링크된(Static linked) 애플리케이션 프로그램들(122, 124, 126, 128)을 저장하고 있다. 도 1의 웹비디오 폰은 파워 스타팅 시퀀스(Power Starting Sequence)시 플래쉬 메모리(12)에 저장된 모든 애플리케이션 프로그램들 전체가 일시에 디램(10)으로 다운 로드된다.
그런데, 도 1에 도시된 웹비디오 폰은 다음과 같은 문제점이 있다.
첫째, OS 라이브러리와 스태틱 링크되어 있는 애플리케이션 프로그램들의 분리가 불가능함에 따라, 모든 애플리케이션 프로그램들이 디램(10)으로 한꺼번에 다운로드 되므로 메모리 싸이즈가 큰 디램이 필요하다. 예컨대 1M 바이트 짜리 4개의 애플리케이션 프로그램들이 플래쉬 메모리(12)에서 디램(10)으로 다운로딩이 되려면 적어도 디램(10)의 용량은 4M 바이트 이상이 되어야 한다. 둘째, 플래쉬 메모리에 저장된 애플리케이션 프로그램들의 스태틱 링킹은 하나의 애플리케이션 프로그램만 변경되어도 다른 모든 애플리케이션 프로그램들을 재 컴파일 및 링크를 해야 하므로 애플리케이션 프로그램의 관리가 쉽지 않다.
본 발명의 목적은, 상기와 같은 문제점을 해결하기 위해, 보조기억장치에 저장된 복수개의 애플리케이션 프로그램 중 입력수단에 의해 실행이 요구된 애플리케이션 프로그램만을 디램의 소정 영역에 저장된 프로그램 코드 및 데이터와 스와핑하기 위한 주기억장치와 보조기억장치 사이의 스와핑 장치 및 방법, 그 장치를 채용한 웹비디오 폰을 제공하는 것이다.
도 1은 종래의 스와핑 장치를 채용하지 않은 웹비디오 폰의 블록도이다.
도 2는 본 발명에 따른 주기억장치와 보조기억장치 사이의 스와핑 장치의 블록도이다.
도 3은 본 발명에 따른 주기억장치와 보조기억장치 사이의 스와핑 방법의 흐름도이다.
도 4는 본 발명에 따른 스와핑 장치를 채용한 웹비디오 폰의 블록도이다.
도 5는 도 4에 도시된 디스플레이부에 메인 메뉴가 디스플레이된 것을 나타낸 도면이다.
상기의 목적을 달성하기 위하여,
프로그램 코드와 데이터를 포함하는 애플리케이션 프로그램을 복수개 저장하는 보조기억부; 상기 보조 기억부에 저장된 각 애플리케이션 프로그램의 시작 어드레스를 저장하는 가상 어드레스 테이블; 프로그램 코드 영역과 데이터 영역을 구비하여 상기 보조기억부에서 다운로드된 프로그램 코드와 상기 보조기억부와 스와핑된 데이터를 저장하는 주기억부; 및 사용자 인터페이스에 의한 애플리케이션 프로그램의 실행 요구에 응답하여, 상기 프로그램의 프로그램 코드는 상기 가상 어드레스 테이블에 저장된 어드레스를 참조하여 상기 주기억부의 프로그램 코드 영역에 다운로드하도록 제어하고, 상기 프로그램의 데이터는 상기 주기억부의 데이터 영역에 저장된 데이터와 스와핑하도록 제어하는 스와핑 제어부를 포함함을 특징으로 하는 주기억장치와 보조기억장치 사이의 스와핑 장치가 제공된다.
상기의 다른 목적을 달성하기 위하여,
주기억장치와 보조기억장치 사이의 스와핑 방법에 있어서,
상기 주기억장치의 데이터 영역에 실행을 하고자 하는 애플리케이션 프로그램의 프로그램 코드가 존재하는지를 판단하는 제1단계; 상기 제1단계에서 프로그램 코드가 존재하지 않는다고 판단된 경우, 상기 보조기억장치에 저장된 프로그램 코드를 상기 주기억장치의 프로그램 코드 영역에 다운로드하는 제2단계; 상기 보조기억장치에 저장된 애플리케이션 프로그램의 데이터를 상기 주기억장치의 데이터 영역에 저장된 데이터와 스와핑하는 제3단계; 및 프로그램 카운터에 상기 제2단계에서 주기억장치로 다운로드된 프로그램 코드의 시작 어드레스를 로드하여 상기 프로그램 코드를 실행하는 제4단계를 포함함을 특징으로 하는 주기억장치와 보조기억장치 사이의 스와핑 방법이 제공된다.
상기의 또 다른 목적을 달성하기 위하여,
웹비디오 폰에 있어서, 애플리케이션 프로그램의 실행명령을 입력하는 키입력부; 적어도 H.324 표준안에 의한 비디오폰과, H.323 표준안에 의한 인터넷 폰과, 웹브라우저와, 이-메일과 PIMS와 같은 애플리케이션 프로그램을 저장하는 플래쉬 메모리; 프로그램 코드 영역과 데이터 영역을 구비하여 상기 플래쉬 메모리에서 다운로드된 프로그램 코드와 플래쉬 메모리와 스와핑된 데이터를 저장하는 디램; 및 상기 키입력부로 입력되는 애플리케이션 프로그램의 실행명령에 응답하여, 상기 플래쉬 메모리에 저장된 각 애플리케이션 프로그램의 프로그램 코드는 상기 디램의 프로그램 영역에 저장하도록 제어하고, 상기 플래쉬 메모리에 저장된 각 애플리케이션 프로그램의 데이터는 상기 디램의 데이터 영역에 저장된 데이터와 스와핑하도록 제어하는 메인 프로세서를 포함함을 특징으로 하는 디램과 플래쉬 메모리가 스와핑되는 웹비디오 폰이 제공된다.
이어서, 첨부한 도면들을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.
도 2는 본 발명에 따른 주기억장치와 보조기억장치 사이의 스와핑 장치의 블록도이다.
도 2에 도시된 장치는 디램(20), 플래쉬 메모리(22), 가상 어드레스 테이블(24) 및 스와핑 제어부(26)를 포함한다. 도 2에서, 디램(20)은 주기억장치로 사용되고, 플래쉬 메모리(22)는 보조기억장치로 사용된다.
플래쉬 메모리(22)는 제1 및 제2애플리케이션 프로그램(220, 230)을 포함하여 복수개의 애플리케이션 프로그램들을 저장하며, 각 애플리케이션 프로그램은 프로그램 코드와 데이터를 저장하고 있다.
디램(20)은 기본 프로그램 코드 영역(202), 프로그램 코드 영역(204) 및 데이터 영역(206)을 포함한다. 기본 프로그램 코드 영역(202)은 실시간(Real Time) OS(Operating System) 코드와 사용자와 인터페이스하는데 필요한 메인 메뉴를 표시하고 사용자 입력을 처리하기 위한 프로그램 코드가 저장된 영역이다. 프로그램 코드 영역(204)은 플래쉬 메모리(22)의 애플리케이션 프로그램들(220, 230,...)의 프로그램 코드들(222, 232,...)이 다운로드 되는 영역이다. 프로그램 코드 영역(204)의 용량은 애플리케이션 프로그램들(220, 230,...)의 프로그램 코드들(222, 232,...) 각각의 용량 보다 큰 것이 바람직하다. 데이터 영역(206)은 플래쉬 메모리(22)의 애플리케이션 프로그램들(220, 230,...)의 데이터들(224, 234,...)과 스와핑하기 위한 영역이다.
가상 어드레스 테이블(24)은 애플리케이션 프로그램들(220, 230,...)의 시작 어드레스를 저장하고 있다. 제1 및 제2어드레스(242, 244)는 각각 제1 및 제2애플리케이션 프로그램(220, 230)이 시작되는 지점의 어드레스이다.
스와핑 제어부(26)는 사용자 인터페이스에 의한 제1애플리케이션 프로그램(220)의 실행명령에 응답하여, 플래쉬 메모리(22)의 프로그램 코드 1(220)은 가상 어드레스 테이블에 저장된 제1어드레스(242)를 참조하여 디램(20)의 프로그램 코드 영역(204)에 다운로드하도록 제어하고 플래쉬 메모리(22)의 데이터 1(224)은 디램(20)의 데이터 영역(206)에 저장된 데이터와 스와핑하도록 제어한다.
여기서, 스와핑 제어부(26)는 제1애플리케이션 프로그램을 시스템 파워 온 후 처음 다운로딩하는 것인지를 판단하여, 처음 다운로딩하는 것이라면 프로그램 코드 1(222)을 디램(20)으로 다운로딩한 후 플래쉬 메모리(22)에 있는 제1애플리케이션 프로그램(220)의 데이터 1(224)은 디램(20)으로 다운로딩 하지 않도록 제어한다. 그리고 스와핑 제어부(26)는 제1애플리케이션 프로그램 종료시, 디램의 데이터 영역(206)에 저장된 데이터를 데이터 1(224)에 저장한다. 즉, 디램의 데이터와 플래시 메모리의 데이터 사이의 스와핑은 각 애플리케이션 프로그램이 두 번 이상 디램으로 다운로딩하는 경우에 일어난다.
또한, 스와핑 제어부(26)는 사용자 인터페이스에 의한 제2애플리케이션 프로그램(230)의 실행명령에 응답하여, 디램(20)의 데이터 영역에 저장된 데이터는 플래쉬 메모리(22)의 데이터 1(224)과 스와핑하도록 제어하고, 플래쉬 메모리(22)의 프로그램 코드 2(232)는 디램(20)의 프로그램 코드 영역(204)에 저장된 프로그램 코드 1(220)상에 오버라이트하고 플래쉬 메모리(22)의 데이터 2(234)는 디램(20)의 데이터 영역에 저장된 데이터와 스와핑하도록 제어한다.
도 2에서 각 애플리케이션 프로그램의 용량이 너무 크면 디램(20)에서 플래쉬 메모리(22)로 애플리케이션 프로그램이 다운로딩 되는 시간이 너무 오래 걸려 시스템 성능에 나쁜 영향을 끼칠 수 있으므로 가능한 한 각 애플리케이션 프로그램의 싸이즈는 작은 것이 바람직하다. 또한, 플래쉬 메모리(22)의 물리적인 리드/라이트 속도도 빠른 것이 바람직하다.
도 3은 본 발명에 따른 주기억장치와 보조기억장치 사이의 스와핑 방법의 흐름도이다.
메인 메뉴를 디스플레이한다.(302 단계) 도 5의 LCD(46)는 비디오 폰(462), 인터넷 폰(464), EMAIL(466), PIMS(Personal Information Management System; 468), 웹브라우저(470)와 같은 메뉴들을 디스플레이하고 있다.
키입력이 있는지를 판단한다.(304 단계) 사용자 인터페이스, 예컨대 도 5에 디스플레이된 메뉴 중에서 실행하고자 하는 메뉴를 터치 스크인이나 해당 키와 같은 입력 장치를 이용하여 선택한다.
사용자가 도 2에 도시된 제1애플리케이션 프로그램(220)을 선택하였다고 가정하고 본 발명의 방법에 의한 흐름도를 설명하기로 한다.
DRAM(디램; 20)의 프로그램 코드 영역(204)에 사용자가 선택한 제1애플리케이션 프로그램의 프로그램 코드 1(222)이 존재하는지를 판단한다.(306 단계)
만약 존재하지 않으면, 가상 어드레스 테이블(24)을 참조하여 플래쉬 메모리에 저장된 프로그램 코드 1(220)을 DRAM의 프로그램 코드 영역(204)으로 다운로드한다.(308 단계)
DRAM의 데이터 영역(206)에 저장된 데이터를 가장 최근, 즉 프로그램 코드 1을 다운로드하기 직전에 실행한 애플리케이션 프로그램의 데이터 영역(플래쉬 메모리에 위치)에 저장한다.(310 단계) 306 단계에서 프로그램 코드 1이 존재하면 312 단계를 수행한다.
DRAM의 프로그램 코드 영역(204)에 로딩된 프로그램 코드 1이 시스템 파워 온 후 처음으로 로딩된 것인지를 판단한다.(312 단계)
처음 로딩된 것이 아니면, DRAM의 데이터 영역(206)에 저장된 데이터와 제1애플리케이션 프로그램의 데이터 1(224)을 스와핑한다.(314 단계)
처음 로딩된 것이면, PC(Program Counter)에 DRAM의 제1애플리케이션 프로그램의 프로그램 코드 1(222)의 시작 어드레스를 로딩하여 DRAM에 로딩된 프로그램 코드 1(222)을 실행한다.(316 단계)
제1애플리케이션 프로그램의 프로그램 코드 1의 종료 명령이 입력되었는지를 판단한다.(318 단계) 종료명령이 입력된 경우 지금 수행한 프로그램 코드 1이 시스템 파워 온 후 처음으로 로딩된 것인지를 판단한다.(320 단계)
처음 로딩된 경우라면 DRAM의 데이터 영역에 저장된 데이터(206)를 플래쉬 메모리에 위치한 제1애플리케이션 프로그램의 데이터 1(224)에 저장한다.(324 단계)
320 단계에서 처음 로딩된 것이 아니면, DRAM의 데이터 영역(206)에 저장된 데이터와 제1애플리케이션 프로그램의 데이터 1(224)을 스와핑한다.(322 단계)
도 4는 본 발명에 따른 스와핑 장치를 채용한 웹비디오 폰의 블록도이다.
도 4에 도시된 웹비디오 폰은 키입력부(40), 디램(42), 플래쉬 메모리(44), 디스플레이부(46) 및 메인 프로세서(48)를 포함한다.
디램은 기본 프로그램 코드 영역(422), 프로그램 코드 영역(424) 및 데이터 영역(426)을 포함한다. 프로그램 코드 영역(424)에는 H.323 표준안에 의한 인터넷 폰이 저장되어 있다.
플래쉬 메모리(44)는 H.324 표준안에 의한 비디오 폰(442), 웹브라우저(444), EMAIL(446), PIMS(448) 및 H.323 표준안에 의한 인터넷 폰(450)을 저장하고 있다.
메인 프로세서(48)는 사용자가 디스플레이부(46)에 디스플레이된 메뉴들을 보고 키입력부(40)로 입력한 애플리케이션 프로그램의 실행명령에 응답하여, 플래쉬 메모리(44)의 애플리케이션 프로그램의 프로그램 코드는 디램(424)의 프로그램 코드 영역(424)에 저장하도록 제어하고, 플래쉬 메모리(44)의 각 애플리케이션 프로그램의 데이터는 디램(42)의 데이터 영역(426)에 저장된 데이터와 스와핑하도록 제어한다.
사용자가 플래쉬 메모리(44)에 저장된 애플리케이션 프로그램들(442-450) 중 H.323 표준안에 의한 인터넷 폰(450)을 키 입력부(40)의 입력에 의해 선택하였다고 가정하고 도 4에 도시된 웹비디오 폰의 동작을 설명하면 다음과 같다.
메인 프로세서(48)는 디램(42)의 프로그램 코드 영역(424)에 이미 H.323 표준안에 의한 인터넷 폰(450)의 코드가 존재하는 경우 플래쉬 메모리(44)로부터 디램(42)에 다운로드 하지 않는다. 또한, 메인 프로세서(48)는 인터넷 폰(450)이 시스템 파워 온 후 처음 다운로딩하는 것이라면 플래쉬 메모리에 저장된 인터넷 폰(450)의 데이터(미도시)는 디램(20)으로 다운로딩 하지 않는다. 그리고 인터넷 폰(450)을 종료하는 경우 디램의 데이터 영역(206)에 저장된 데이터를 인터넷 폰(450)의 데이터 영역(미도시)에 저장한다. 시스템 파워 온 후, 인터넷 폰(450)을 두 번 이상 다운로드하는 경우라면 종료시 디램의 데이터 영역(426)에 저장된 데이터와 인터넷 폰(450)의 데이터 영역(미도시)에 저장된 데이터는 스와핑된다.
한편, 본발명의 실시예는 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하다. 그리고 컴퓨터에서 사용되는 매체로부터 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 매체는 마그네틱 저장매체(예: 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독매체(예: CD-ROM, DVD 등) 및 캐리어 웨이브(예: 인터넷을 통해 전송)와 같은 기록매체를 포함한다.
상기 기록매체는, 주기억장치와 보조기억장치 사이의 스와핑 방법에 있어서, 상기 주기억장치의 데이터 영역에 실행을 하고자 하는 애플리케이션 프로그램의 프로그램 코드가 존재하는지를 판단하는 제1단계; 상기 제1단계에서 프로그램 코드가 존재하지 않는다고 판단된 경우, 상기 보조기억장치에 저장된 프로그램 코드를 상기 주기억장치의 프로그램 코드 영역에 다운로드하는 제2단계; 상기 보조기억장치에 저장된 애플리케이션 프로그램의 데이터를 상기 주기억장치의 데이터 영역에 저장된 데이터와 스와핑하는 제3단계; 및 프로그램 카운터에 상기 제2단계에서 주기억장치로 다운로드된 프로그램 코드의 시작 어드레스를 로드하여 상기 프로그램 코드를 실행하는 제4단계를 컴퓨터에서 실행할 수 있는 프로그램 코드를 저장한다.
상기 프로그램 코드는 상기 주기억장치에 다운로드된 프로그램 코드가 시스템 파워 온 후 처음으로 로드된 것인지를 판단하는 제5단계; 및 상기 제5단계에서 처음으로 로드된 것으로 판단된 경우, 상기 주기억장치의 데이터 영역의 데이터를 가장 최근에 실행한 애플리케이션 프로그램의 데이터 영역에 저장하는 제6단계를 수행할 수 있는 프로그램 코드를 더 구비한다.
상기 프로그램 코드는 상기 주기억장치에서 실행한 애플리케이션 프로그램의 종료 명령이 입력된 경우, 상기 제2단계에서 다운로드된 프로그램 코드가 시스템 파워 온 후 처음으로 로드되었는지를 판단하는 제5단계; 및 상기 제5단계에서 처음으로 로드된 것으로 판단된 경우, 상기 주기억장치의 데이터 영역에 저장된 데이터를 상기 제4단계에서 실행한 애플리케이션 프로그램의 데이터 영역에 저장하는 제6단계를 수행할 수 있는 프로그램 코드를 더 구비한다.
그리고, 상기 프로그램 코드는, 상기 제5단계에서 처음으로 로드된 것이 아니라고 판단된 경우, 상기 주기억장치의 데이터 영역에 저장된 데이터와 상기 실행한 애플리케이션 프로그램의 데이터 영역에 저장된 데이터를 스와핑하는 단계를 수행할 수 있는 프로그램 코드를 더 구비한다.
또한, 상기 프로그램 코드는, 사용자에 의해 다른 애플리케이션 프로그램의 실행 명령이 입력되었는지를 판단하는 제5단계; 및 상기 제5단계에서 실행 명령이 입력된 경우, 상기 주기억장치의 데이터 영역에 저장된 데이터는 가장 최근에 실행된 애플리케이션 프로그램의 데이터 영역에 저장하고, 상기 다른 애플리케이션 프로그램의 데이터를 상기 주기억장치의 데이터 영역에 저장하는 제6단계를 수행할 수 있는 프로그램 코드를 더 구비한다.
또한, 본 발명을 구현하기 위한 기능적인(funtional) 프로그램, 코드 및 코드 세그멘트들을 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 상술한 실시예에 한정되지 않으며, 본 발명의 사상내에서 당업자에 의한 변형이 가능함은 물론이다. 즉, 본발명에 실시예에서는 주기억 장치 및 보조기억 장치로 디램 및 플래쉬 메모리를 예로 들었으나, 디램 대신 고속의 리드/라이트 메모리를 사용할 수 있고, 플래쉬 메모리 대신에는 저속의 비휘발성 리드/라이트 메모리를 사용할 수도 있다.
본 발명에 따르면, 플래쉬 메모리에 저장된 여러 애플리케이션 프로그램 중 입력수단에 의해 실행이 요구된 애플리케이션 프로그램만 디램의 소정 영역에서 수행되는 프로그램 코드 및 데이터와 스와핑함으로써 적은 용량의 디램으로 전체 애플리케이션 프로그램을 구동할 수 있고, 또한 각 애플리케이션 프로그램 별로 관리하기가 편리하다.

Claims (11)

  1. 프로그램 코드와 데이터를 포함하는 애플리케이션 프로그램을 복수개 저장하는 보조기억부;
    상기 보조 기억부에 저장된 각 애플리케이션 프로그램의 시작 어드레스를 저장하는 가상 어드레스 테이블;
    프로그램 코드 영역과 데이터 영역을 구비하여 상기 보조기억부에서 다운로드된 프로그램 코드와 상기 보조기억부와 스와핑된 데이터를 저장하는 주기억부; 및
    사용자 인터페이스에 의한 애플리케이션 프로그램의 실행 요구에 응답하여, 상기 프로그램의 프로그램 코드는 상기 가상 어드레스 테이블에 저장된 어드레스를 참조하여 상기 주기억부의 프로그램 코드 영역에 다운로드하도록 제어하고, 상기 프로그램의 데이터는 상기 주기억부의 데이터 영역에 저장된 데이터와 스와핑하도록 제어하는 스와핑 제어부를 포함함을 특징으로 하는 주기억장치와 보조기억장치 사이의 스와핑 장치.
  2. 제1항에 있어서,
    상기 주기억부는 디램과 고속의 리드/라이트 메모리 중의 어느 하나이고, 상기 보조기억부는 플래쉬 메모리와 저속의 비휘발성 리드/라이트 메모리 중의 어느 하나인 것을 특징으로 하는 주기억장치와 보조기억장치 사이의 스와핑 장치.
  3. 주기억장치와 보조기억장치 사이의 스와핑 방법에 있어서,
    상기 주기억장치의 데이터 영역에 실행을 하고자 하는 애플리케이션 프로그램의 프로그램 코드가 존재하는지를 판단하는 제1단계;
    상기 제1단계에서 프로그램 코드가 존재하지 않는다고 판단된 경우, 상기 보조기억장치에 저장된 프로그램 코드를 상기 주기억장치의 프로그램 코드 영역에 다운로드하는 제2단계;
    상기 보조기억장치에 저장된 애플리케이션 프로그램의 데이터를 상기 주기억장치의 데이터 영역에 저장된 데이터와 스와핑하는 제3단계; 및
    프로그램 카운터에 상기 제2단계에서 주기억장치로 다운로드된 프로그램 코드의 시작 어드레스를 로드하여 상기 프로그램 코드를 실행하는 제4단계를 포함함을 특징으로 하는 주기억장치와 보조기억장치 사이의 스와핑 방법.
  4. 제3항에 있어서,
    상기 제2단계에서 프로그램 코드의 다운로드는 상기 보조 기억장치에 저장된 각 애플리케이션 프로그램의 시작 어드레스를 저장하는 가상 어드레스 테이블을 참조하여 수행하는 것을 특징으로 하는 주기억장치와 보조기억장치 사이의 스와핑 방법.
  5. 제3항에 있어서, 상기 제2단계에서 다운로드는
    상기 주기억장치의 프로그램 코드 영역에 다른 프로그램 코드가 존재하는 경우, 상기 다른 프로그램 코드상에 오버라이트하여 저장하는 것을 특징으로 하는 주기억장치와 보조기억장치 사이의 스와핑 방법.
  6. 제3항에 있어서,
    상기 주기억장치에 다운로드된 프로그램 코드가 시스템 파워 온 후 처음으로 로드된 것인지를 판단하는 제5단계; 및
    상기 제5단계에서 처음으로 로드된 것으로 판단된 경우, 상기 주기억장치의 데이터 영역의 데이터를 가장 최근에 실행한 애플리케이션 프로그램의 데이터 영역에 저장하는 제6단계를 더 포함함을 특징으로 하는 주기억장치와 보조기억장치 사이의 스와핑 방법.
  7. 제3항에 있어서, 상기 주기억장치에서 실행한 애플리케이션 프로그램의 종료 명령이 입력된 경우,
    상기 제2단계에서 다운로드된 프로그램 코드가 시스템 파워 온 후 처음으로 로드되었는지를 판단하는 제5단계; 및
    상기 제5단계에서 처음으로 로드된 것으로 판단된 경우, 상기 주기억장치의 데이터 영역에 저장된 데이터를 상기 제4단계에서 실행한 애플리케이션 프로그램의 데이터 영역에 저장하는 제6단계를 더 포함함을 특징으로 하는 주기억장치와 보조기억장치 사이의 스와핑 방법.
  8. 제7항에 있어서,
    상기 제5단계에서 처음으로 로드된 것이 아니라고 판단된 경우, 상기 주기억장치의 데이터 영역에 저장된 데이터와 상기 실행한 애플리케이션 프로그램의 데이터 영역에 저장된 데이터를 스와핑하는 단계를 더 포함함을 특징으로 하는 주기억장치와 보조기억장치 사이의 스와핑 방법.
  9. 제3항에 있어서,
    사용자에 의해 다른 애플리케이션 프로그램의 실행 명령이 입력되었는지를 판단하는 제5단계; 및
    상기 제5단계에서 실행 명령이 입력된 경우, 상기 주기억장치의 데이터 영역에 저장된 데이터는 가장 최근에 실행된 애플리케이션 프로그램의 데이터 영역에 저장하고, 상기 다른 애플리케이션 프로그램의 데이터를 상기 주기억장치의 데이터 영역에 저장하는 제6단계를 더 포함함을 특징으로 하는 주기억장치와 보조기억장치 사이의 스와핑 방법.
  10. 제9항에 있어서, 상기 다른 애플리케이션 프로그램의 프로그램 코드가 이미 두 번 이상 상기 주기억장치의 프로그램 코드 영역에서 실행되었다고 판단된 경우,
    상기 다른 애플리케이션 프로그램의 데이터는 상기 주기억장치의 데이터 영역의 데이터와 스와핑됨을 특징으로 하는 주기억장치와 보조기억장치 사이의 스와핑 방법.
  11. 웹비디오 폰에 있어서,
    애플리케이션 프로그램의 실행명령을 입력하는 키입력부;
    적어도 H.324 표준안에 의한 비디오폰과, H.323 표준안에 의한 인터넷 폰과, 웹브라우저와, 이-메일과 PIMS와 같은 애플리케이션 프로그램을 저장하는 플래쉬 메모리;
    프로그램 코드 영역과 데이터 영역을 구비하여 상기 플래쉬 메모리에서 다운로드된 프로그램 코드와 플래쉬 메모리와 스와핑된 데이터를 저장하는 디램; 및
    상기 키입력부로 입력되는 애플리케이션 프로그램의 실행명령에 응답하여, 상기 플래쉬 메모리에 저장된 각 애플리케이션 프로그램의 프로그램 코드는 상기 디램의 프로그램 영역에 저장하도록 제어하고, 상기 플래쉬 메모리에 저장된 각 애플리케이션 프로그램의 데이터는 상기 디램의 데이터 영역에 저장된 데이터와 스와핑하도록 제어하는 메인 프로세서를 포함함을 특징으로 하는 디램과 플래쉬 메모리가 스와핑되는 웹비디오 폰.
KR1019980023201A 1998-06-19 1998-06-19 주기억장치와 보조기억장치사이의 스와핑 장치및 방법, 그 장치를 채용한 웹비디오 폰 KR100322573B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1019980023201A KR100322573B1 (ko) 1998-06-19 1998-06-19 주기억장치와 보조기억장치사이의 스와핑 장치및 방법, 그 장치를 채용한 웹비디오 폰
GB9825088A GB2338574B (en) 1998-06-19 1998-11-17 Apparatus and method for swapping between main memory and auxiliary memory, and web video phone adopting the apparatus
JP33810498A JP3662432B2 (ja) 1998-06-19 1998-11-27 主記憶装置と補助記憶装置間のスワッピング装置及び方法、該装置を採用したウェブビデオホン
US09/206,237 US6233664B1 (en) 1998-06-19 1998-12-07 Apparatus and method for swapping contents between main memory and auxiliary memory and web video phone adopting the apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980023201A KR100322573B1 (ko) 1998-06-19 1998-06-19 주기억장치와 보조기억장치사이의 스와핑 장치및 방법, 그 장치를 채용한 웹비디오 폰

Publications (2)

Publication Number Publication Date
KR20000002446A KR20000002446A (ko) 2000-01-15
KR100322573B1 true KR100322573B1 (ko) 2002-03-08

Family

ID=19540124

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980023201A KR100322573B1 (ko) 1998-06-19 1998-06-19 주기억장치와 보조기억장치사이의 스와핑 장치및 방법, 그 장치를 채용한 웹비디오 폰

Country Status (4)

Country Link
US (1) US6233664B1 (ko)
JP (1) JP3662432B2 (ko)
KR (1) KR100322573B1 (ko)
GB (1) GB2338574B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051851A (ja) 1999-08-17 2001-02-23 Nec Corp 携帯電子機器のプログラム変更システム及び方法
GB2369701B (en) * 1999-08-17 2002-11-13 Nec Corp System for changing a program stored in a terminal device and a terminal device used in the system
KR20000030253A (ko) * 2000-02-16 2000-06-05 마영민 인터넷 상의 타사 또는 타인 홈페이지에 삽입한 아이콘의 원클릭으로 연결되는 수신자부담 전화 서비스 제공 시스템 및 그 방법
US20030021593A1 (en) * 2001-05-03 2003-01-30 Masato Otsuka Method of controlling the operations mode of an optical disc player between a video playback mode and a user agent mode
US20030170011A1 (en) * 2001-09-24 2003-09-11 Masato Otsuka System and method for seamless navigation between local and external documents in an optical disc player
TWI233542B (en) * 2003-07-18 2005-06-01 Delta Electronics Inc Auxiliary memory device for automation controller
GB2404748B (en) 2003-08-01 2006-10-04 Symbian Ltd Computing device and method
US7721292B2 (en) * 2004-12-16 2010-05-18 International Business Machines Corporation System for adjusting resource allocation to a logical partition based on rate of page swaps and utilization by changing a boot configuration file
KR100745256B1 (ko) * 2005-10-11 2007-08-01 엘지전자 주식회사 임베디드 시스템에서의 코드 오버레이 방법
KR101663545B1 (ko) 2009-04-06 2016-10-07 시게이트 테크놀로지 엘엘씨 코드의 동적 재배치 방법 및 이를 이용한 디스크 드라이브
KR102031565B1 (ko) * 2013-03-11 2019-10-15 삼성전자주식회사 단말기에서 데이터를 처리하는 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0157038B1 (ko) * 1989-08-23 1999-02-18 로베르트 아인젤 프로그램 위치 정렬 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5816547B2 (ja) 1977-11-29 1983-03-31 富士通株式会社 仮想記憶デ−タ処理システム
JPS61112260A (ja) * 1984-11-07 1986-05-30 Hitachi Ltd 多重階層記憶システムにおけるスワツプ制御装置
JP3226525B2 (ja) * 1988-10-07 2001-11-05 株式会社日立製作所 主記憶管理方法
US5212633A (en) * 1989-08-18 1993-05-18 Sharedata System for transferring resident programs to virtual area and recalling for instant excution in memory limited DOS system using program control tables
US5167030A (en) * 1989-08-23 1992-11-24 Helix Software Company, Inc. System for dynamically allocating main memory to facilitate swapping of terminate and stay resident communication program to increase available memory space
JPH07152642A (ja) 1993-11-29 1995-06-16 Hitachi Ltd データ領域拡張方式
JPH07212253A (ja) 1994-01-17 1995-08-11 Toshiba Corp 携帯型マルチメディア端末
US5809564A (en) * 1994-06-27 1998-09-15 Microsoft Corporation Apparatus and method for swapping blocks of memory between a main memory area and a secondary storage area of a computer system
JPH1021082A (ja) 1996-07-01 1998-01-23 Kokusai Electric Co Ltd プログラム実行方法
US5761280A (en) * 1996-09-04 1998-06-02 8×8, Inc. Telephone web browser arrangement and method
KR100251962B1 (ko) 1997-12-29 2000-04-15 윤종용 웹 비디오 폰에서 메모리 스와핑 방법
US6020916A (en) * 1997-12-31 2000-02-01 At&T Corp Videophone multimedia interactive on-hold information menus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0157038B1 (ko) * 1989-08-23 1999-02-18 로베르트 아인젤 프로그램 위치 정렬 방법

Also Published As

Publication number Publication date
JP2000020315A (ja) 2000-01-21
US6233664B1 (en) 2001-05-15
KR20000002446A (ko) 2000-01-15
GB2338574A (en) 1999-12-22
JP3662432B2 (ja) 2005-06-22
GB2338574B (en) 2000-07-19
GB9825088D0 (en) 1999-01-13

Similar Documents

Publication Publication Date Title
KR102084816B1 (ko) Bpram을 사용한 소프트웨어 애플리케이션들의 레이아웃 및 실행
JP4608580B2 (ja) ソフトウェア・モジュールを実行する方法及び計算システム
CA2162818C (en) Rewritable rom file device
US5546585A (en) Personal computer system with start-up capability from an external mass storage device
US5903753A (en) Name space registry with backward compatibility for older applications
US6988163B2 (en) Executing binary images from non-linear storage systems
KR100922907B1 (ko) 동적 코드 갱신을 지원하기 위한 페이징 사용
JP4024751B2 (ja) 共通の名前を有する複数のレジスタへの選択的なアクセス
KR100322573B1 (ko) 주기억장치와 보조기억장치사이의 스와핑 장치및 방법, 그 장치를 채용한 웹비디오 폰
EP2339466A2 (en) Data control device, data control method, and program
KR20030072550A (ko) 데이터 처리장치와 복귀상태의 저장방법
JPH07219848A (ja) キャッシュ制御システム
JP2009059349A (ja) 共用型ジャバjarファイル
JP2006079628A (ja) ユーザデータをパーティションファイルに記憶する、又はユーザデータを含むパーティションファイルを使用するシステム及び方法
JPH077316B2 (ja) システム再起動装置
US5963738A (en) Computer system for reading/writing system configuration using I/O instruction
KR100261527B1 (ko) 프로세서 상태의 선택적 제초기화용 전기핀을 구비한 다중모드 마이크로프로세서
US7681009B2 (en) Dynamically updateable and moveable memory zones
US20050027954A1 (en) Method and apparatus to support the maintenance and reduction of FLASH utilization as it pertains to unused or infrequently referenced FLASH data
CN101187882A (zh) 支持多个操作***的计算机体系及其支持多个操作***的方法
JP2008204175A (ja) 端末装置およびプログラム
CN111078301A (zh) 一种多核心运算装置及其运作方法
US20100293556A1 (en) Information processing apparatus, execution method, and object program
JP2001209578A (ja) メモリ更新履歴管理方式
CN117331605A (zh) 一种医疗设备开机方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121228

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20131230

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee