KR20070010432A - 양방향 공유 메모리를 이용한 전자기기 및 그 방법 - Google Patents

양방향 공유 메모리를 이용한 전자기기 및 그 방법 Download PDF

Info

Publication number
KR20070010432A
KR20070010432A KR1020050064988A KR20050064988A KR20070010432A KR 20070010432 A KR20070010432 A KR 20070010432A KR 1020050064988 A KR1020050064988 A KR 1020050064988A KR 20050064988 A KR20050064988 A KR 20050064988A KR 20070010432 A KR20070010432 A KR 20070010432A
Authority
KR
South Korea
Prior art keywords
data
channel
pointer
storage means
semaphore
Prior art date
Application number
KR1020050064988A
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 KR1020050064988A priority Critical patent/KR20070010432A/ko
Publication of KR20070010432A publication Critical patent/KR20070010432A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/34Microprocessors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/36Memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Transceivers (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 양방향 공유 메모리를 이용한 전자기기 및 그 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은 공유 메모리를 두 개의 채널로 구분하여 관리함으로써 동시에 두 개의 제어부가 데이터 쓰기/읽기를 하여 전자기기의 수행 효율을 높이기 위한 양방향 공유 메모리를 이용한 전자기기 및 그 방법을 제공하는데 그 목적이 있음.
3. 발명의 해결방법의 요지
본 발명은, 양방향 공유 메모리를 이용한 전자기기에 있어서, 동시에 한 방향의 데이터 흐름을 지원하는 두 개의 채널로 구분되어 있는 제 1 저장 수단; 상기 제 1 저장 수단을 관리하기 위한 정보를 저장하고 있는 제 2 저장 수단; 및 상기 제 2 저장 수단의 정보를 이용하여 상기 제 1 저장 수단의 두 개의 채널에 동시 데이터 쓰기/읽기 기능을 제어하기 위한 제 1 제어 수단 및 제 2 제어 수단을 포함함.
4. 발명의 중요한 용도
본 발명은 양방향 공유 메모리가 장착된 전자기기 등에 이용됨.
공유 메모리, 세마포어, 채널, 포인터, 무선통신 단말기

Description

양방향 공유 메모리를 이용한 전자기기 및 그 방법{Apparatus using two-way sharing memory and its method}
도 1a는 종래의 전자기기에서의 공유 메모리 이용 방법을 설명하기 위한 도면,
도 1b는 종래의 공유 메모리의 구조를 설명하기 위한 도면,
도 2는 본 발명에 따른 양방향 공유 메모리를 이용한 무선통신 단말기의 일실시예 구성도,
도 3은 본 발명에 따른 무선통신 단말기에서 양방향 공유 메모리의 데이터 읽기 방법에 대한 일실시예 흐름도,
도 4는 본 발명에 따른 무선통신 단말기에서 양방향 공유 메모리의 데이터 쓰기 방법에 대한 일실시예 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명
210 : 제어부 220 : 저장부
230 : 입력부(키패드) 240 : 표시부(LCD)
250 : 무선송수신부 260 : 코덱(CODEC)
270 : 음성 입력부(마이크) 280 : 음성 출력부(스피커)
본 발명은 양방향 공유 메모리를 이용한 전자기기 및 그 방법에 관한 것으로, 더욱 상세하게는 공유 메모리를 두 개의 채널로 구분하여 관리함으로써 동시에 두 개의 제어부가 데이터 쓰기/읽기를 하여 전자기기의 수행 효율을 높이기 위한 양방향 공유 메모리를 이용한 전자기기 및 그 방법에 관한 것이다.
본 발명에서 전자기기란 무선통신 단말기, 노트북(notebook) 컴퓨터, 캠코더, 디지털 카메라, 휴대용 멀티미디어 플레이어(PMP) 등과 같이 메모리가 부착되어 있는 기기를 말한다.
그리고, 본 발명에서 무선통신 단말기란 이동통신 단말기, 개인휴대통신 단말기(PCS), 개인용디지털 단말기(PDA), 스마트폰, 차세대이동통신 단말기(IMT-2000), 무선랜 단말기 등과 같이 개인이 휴대하면서 무선통신이 가능한 단말기를 말한다.
이하의 일실시예에서는 전자기기 중 무선통신 단말기를 예로 들어 설명하기로 한다.
무선통신 단말기의 이점은 여러 가지가 있을 수 있겠지만, 무엇보다도 통화하는 사용자에게 제공되는 이동성에 최대 이점이 있다고 할 수 있다. 이러한 이동 성으로 인하여 무선통신 가입자의 수는 기하급수적으로 증가하였고, 근래에는 무선통신 단말기가 일반인에게 대중적으로 사용되고 있다.
하지만, 시간이 지나면서 무선통신 단말기 사용자에게 이동성의 메리트(merit)는 점점 사라지고, 좀 더 다양한 부가 서비스를 제공할 수 있는 다기능 무선통신 단말기가 요구되고 있다.
이에 따라, 최근 출시되고 있는 무선통신 단말기는 대부분 카메라 기능은 물론, 라디오 방송 수신 기능, 음악(일예로, MP3 : MPEG layer 3) 재생 기능, 지압 기능, 혈당량 감지 기능, 초음파 촬영 기능 등과 같은 다양한 부가 기능을 구비하고 있다. 특히, 음악 재생 기능은 젊은 세대들로부터 각광을 받고 있는 부가 기능들 중 하나다.
한편, 상기와 같이 무선통신 단말기에 많은 부가 기능들이 첨가됨에 따라 하나의 제어부를 이용하여 상기 무선통신 단말기를 구동시키기에는 역부족이다. 따라서, 요즘의 고기능 무선통신 단말기는 무선 통신을 담당하는 제어부와 멀티미디어를 담당하는 제어부를 별도로 두기도 한다.
한편, 상기와 같이 하나의 무선통신 단말기에 제어부가 두 개인 경우 상기 두 제어부 간의 상호 연동을 위해 공유 메모리를 둔다.
도 1a은 종래의 무선통신 단말기에서의 공유 메모리 이용 방법을 설명하기 위한 도면이다.
도 1a에 도시된 바와 같이, 종래의 무선통신 단말기에서 두 개의 제어부(제 1 제어부, 제 2 제어부)가 공유 메모리를 통해 데이터를 주고 받는 경우, 제 1 제 어부가 데이터를 공유 메모리에 쓴 후, 이를 알리기 위해 읽기 신호를 제 2 제어부로 발생시키면 상기 제 2 제어부는 상기 제 1 제어부가 쓴 데이터를 읽는다. 한편, 상기 제 1 제어부는 상기 제 2 제어부가 데이터를 다 읽을 동안 대기한 후, 그 다음 데이터를 상기 공유 메모리에 쓴 후 상기와 같은 과정을 반복한다.
한편, 상기와 같은 방법으로 두 개의 제어부가 공유 메모리를 통해 연동하는 경우, 하나의 제어부가 데이터를 공유 메모리에 쓴 후, 타 제어부가 상기 데이터를 다 읽을 동안 대기한 후 다음 데이터를 씀으로 인해 무선통신 단말기의 수행 시간이 많이 지연된다.
또한, 도 1b에 도시된 종래의 공유 메모리의 구조를 살펴보면 공유 메모리에 쓰이는 데이터를 관리하기 위해 고려되는 변수가 데이터의 길이만 있기 때문에 제어부가 상기 공유 메모리에 데이터를 쓰고자 할 때 한번에 하나의 데이터만 쓸 수가 있다.
이 또한, 상기 무선통신 단말기의 수행 시간을 지연시키는 원인이 된다.
따라서, 상기와 같이 두 개의 제어부가 메모리를 공유해서 쓸 때 무선통신 단말기의 수행 시간을 최소화하는 효율적인 방법이 요구된다.
본 발명은 상기 문제점을 해결하고 상기 요구에 부응하기 위하여 제안된 것으로, 공유 메모리를 두 개의 채널로 구분하여 관리함으로써 동시에 두 개의 제어부가 데이터 쓰기/읽기를 하여 전자기기의 수행 효율을 높이기 위한 양방향 공유 메모리를 이용한 전자기기 및 그 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 장치는, 양방향 공유 메모리를 이용한 전자기기에 있어서, 동시에 한 방향의 데이터 흐름을 지원하는 두 개의 채널로 구분되어 있는 제 1 저장 수단; 상기 제 1 저장 수단을 관리하기 위한 정보를 저장하고 있는 제 2 저장 수단; 및 상기 제 2 저장 수단의 정보를 이용하여 상기 제 1 저장 수단의 두 개의 채널에 동시 데이터 쓰기/읽기 기능을 제어하기 위한 제 1 제어 수단 및 제 2 제어 수단을 포함한다.
또한, 본 발명의 방법은, 전자기기에서 양방향 공유 메모리의 데이터 읽기 방법에 있어서, 타 제어 수단으로부터의 데이터 쓰기 알림 신호를 수신함에 따라 상기 데이터가 쓰인 채널의 세마포어를 확인하는 단계; 세마포어가 제 1 소정의 값임에 따라 상기 세마포어를 제 2 소정의 값으로 설정하고 상기 채널의 인 포인터와 아웃 포인터를 확인하는 단계; 상기 채널의 인 포인터와 아웃 포인터의 값이 서로 상이함에 따라 상기 상이한 값만큼의 데이터를 읽고 상기 아웃 포인터의 값을 업그레이드하는 단계; 및 상기 제 2 소정의 값으로 설정한 세마포어를 제 1 소정의 값 으로 설정하는 단계를 포함한다.
한편 본 발명의 다른 방법은, 전자기기에서 양방향 공유 메모리의 데이터 쓰기 방법에 있어서, 데이터를 쓰고자하는 채널의 세마포어를 확인하는 단계; 상기 세마포어가 제 1 소정의 값임에 따라 상기 세마포어를 제 2 소정의 값으로 설정하고 상기 채널의 인 포인터와 아웃 포인터를 확인하는 단계; 상기 채널의 인 포인터와 아웃 포인터의 값의 차이가 상기 데이터를 쓰기에 충분함에 따라 쓰고자 하는 데이터를 쓰고 상기 인 포인터의 값을 업그레이드하는 단계; 및 상기 제 2 소정의 값으로 설정한 세마포어를 상기 제 1 소정의 값으로 설정하는 단계를 포함한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
도 2는 본 발명에 따른 양방향 공유 메모리를 이용한 무선통신 단말기의 일실시예 구성도이다.
도 2에 도시된 바와 같이, 본 발명에 따른 양방향 공유 메모리를 이용한 무선통신 단말기는, 무선통신망을 통하여 신호를 송/수신하기 위한 무선송수신부(260), 버튼을 통해 메뉴 선택 정보 등을 입력받기 위한 입력부(키패드)(240), 동 시에 한 방향의 데이터 흐름을 지원하는 두 개의 채널로 구분되어 있는 제 1 저장부(220), 상기 제 1 저장부(220)를 관리하기 위한 정보를 저장하고 있는 제 2 저장부(225), 상기 제 2 저장부(225)의 정보를 이용하여 두 개의 채널로 구분된 제 1 저장부(220)의 데이터 쓰기/읽기 기능을 제어하기 위한 제 1 제어부(210) 및 제 2 제어부(215), 상기 제 1 제어부(210) 또는 상기 제 2 제어부(215)의 제어에 따라 상기 무선통신 단말기의 상태나 프로그램의 진행 상황 등을 표시하기 위한 표시부(LCD)(250), 상기 제 1 제어부(210) 또는 상기 제 2 제어부(215)의 제어에 따라 무선송수신부(260)로부터 전달받은 신호를 음성으로 변환하여 음성 출력부(스피커)(290)로 출력하고, 음성 입력부(마이크)(280)로부터 입력받은 음성을 신호로 변환하여 상기 제 1 제어부(210) 또는 상기 제 2 제어부(215)로 전달하여 무선송수신부(260)를 통하여 송출되도록 하기 위한 코덱(CODEC)(270), 상기 코덱(CODEC)(270)으로부터 전달받은 음성을 출력하기 위한 음성 출력부(스피커)(290), 음성을 입력받아 상기 코덱(CODEC)(270)으로 전달하기 위한 음성 입력부(마이크)(280)를 포함한다.
그리고, 상기 제 1 저장부(220) 또는 상기 제 2 저장부(225)에는 상기 제 1 제어부(210) 또는 상기 제 2 제어부(215)의 동작 프로그램, 시스템 프로그램이 저장되며, 동작 프로그램이나 시스템 프로그램은 통상의 롬(ROM) 영역에 저장되고 필요에 의해 소거가 가능하다. 그리고, 상기 제 1 저장부(220) 또는 상기 제 2 저장부(225)는 여러 동작 프로그램 수행 중에 발생하는 데이터를 일시 저장하는 램(RAM)을 포함한다.
또한, 상기 제 1 저장부(220)는 두 개의 채널로 구분되어 상기 제 1 제어부(210) 또는 제 2 제어부(215)가 동시에 데이터를 쓰거나 읽을 수 있도록 한다.
여기서, 제 1 저장부(220)가 두 개의 채널로 구분되는 것은 예를 들어 상기 제 1 저장부(220)가 4KB인 경우 하나의 채널은 0에서 2KB까지이고, 다른 하나의 채널은 2KB에서 4KB로 구분되는 것을 뜻한다.
한편, 상기 제 1 저장부(220)의 두 개의 채널은 한 방향으로만 데이터 흐름을 지원한다. 즉, 하나의 채널이 현재 데이터 쓰기를 지원하고 있다면 다른 채널 또한 데이터 쓰기만을 지원할 수 있고, 하나의 채널이 현재 데이터 읽기를 지원하고 있다면 다른 채널 또한 데이터 읽기만을 지원할 수 있는 것이다. 왜냐하면 상기 구분된 채널은 소프트웨어적으로만 구분하여 관리하는 것이지 하드웨어적으로는 하나의 저장부에 속하기 때문이다.
그리고, 상기 제 2 저장부(225)는 상기 제 1 저장부(220)의 두 개의 채널을 관리하기 위한 정보들인 인 포인터, 아웃 포인터 및 세마포어를 저장한다.
여기서, 상기 아웃 포인터는 상기 제 1 저장부(220)의 채널에 저장되어 있는 데이터를 읽게 되면 업그레이드되고, 인 포인터는 상기 제 1 저장부(220)의 채널에 데이터를 쓰게 되면 업그레이드된다.
따라서, 상기 제 1 저장부(220)의 특정 채널의 인 포인터와 아웃 포인터가 가르키는 채널의 주소가 상이하면, 이는 상기 특정 채널에 새로운 데이터가 저장되었다는 것을 뜻하고, 저장된 데이터의 크기는 인 포인터와 아웃 포인터가 가리키는 채널의 주소 차이만큼이다.
그리고, 상기 인 포인터는 상기 채널에 데이터를 쓰게 되면 업그레이드되기 때문에 상기 인 포인터가 가리키고 있는 채널의 주소 이후부터가 데이터를 쓸 수 있는 영역이다.
따라서, 상기 제 1 제어부(210) 또는 상기 제 2 제어부(215)는 데이터를 쓰기 위한 충분한 공간을 확보할 수 있는지를 확인하기 위해서 상기 인 포인터를 참조한다.
그리고, 여기서 세마포어(semaphores)는 프로그래밍에서 운영체계의 자원을 경쟁적으로 사용하는 다중 프로세스에서, 행동을 조정하거나 또는 동기화 시키는 기술이다. 세마포어는 운영체계 또는 커널의 한 지정된 저장장치 내 값으로서, 각 제어부(210, 215)는 이를 확인하고 변경할 수 있다.
따라서, 확인되는 세마포어의 값에 따라, 그 제어부(210, 215)가 즉시 자원을 사용할 수 있거나, 또는 이미 다른 제어부(210, 215)에 의해 사용 중이라는 사실을 알게되면 재시도하기 전에 일정 시간을 기다려야만 한다.
세마포어는 이진수 (0 또는 1)를 사용하거나, 또는 추가적인 값을 가질 수도 있다. 제어부(210, 215)는 자원을 사용하기 전에 그 자원의 세마포어의 값을 확인하고, 자원을 사용하는 동안에는 세마포어의 값을 소정의 값으로 변경함으로써 다른 제어부(210, 215)가 기다리도록 해야한다.
세마포어들은 일반적으로 메모리 공간을 공유하거나, 또는 파일들을 공유 액세스하기 위한, 두 가지 정도의 목적을 위해 사용된다. 세마포어들은 제어부(210, 215)간 통신(IPC)을 위한 기술 중 하나이다.
한편, 공유자원(공유 메모리)를 제어부(210, 215)가 동시에 접근하는 것을 허용한다면, 어느 제어부(210, 215)에 의해 변경된 자료가 나중에 된 자료인지 모르게 되는 문제가 생기며, 이로 인해 데이터의 각종 오류가 발생하게 된다.
따라서, 세마포어를 이용하여 한 시점에 하나의 제어부(210, 215)에게만 제 1 저장부(220)가 할당되어지는 것을 보장한다.
그리고, 상기 입력부(키패드)(240)는 다수의 숫자키(문자키)와 메뉴키 및 각종 기능을 수행하기 위한 기능키 등으로 이루어지며, 외부의 조작에 의해 상기 제 1 제어부(210) 또는 상기 제 2 제어부(215)로 키 데이터를 출력한다.
그리고, 상기 제 1 제어부(210) 또는 상기 제 2 제어부(215)는 상기 무선통신 단말기 및 각 구성요소의 전반적인 동작을 제어한다.
또한, 상기 제 1 제어부(210) 또는 상기 제 2 제어부(215)는 상기 제 2 저장부(225)에 저장되어 있는 인 포인터, 아웃 포인터 및 세마포어를 이용하여 두 개의 채널로 구분된 상기 제 1 저장부(220)에 데이터를 쓰거나, 저장되어 있는 데이터를 읽는다.
한편, 상기 제 1 제어부(210) 또는 상기 제 2 제어부(215)는 상기 제 1 저장부(220)에 데이터를 쓰면 이를 타 제어부(210, 215)에게 알리기 위해 데이터 쓰기 알림 신호를 발생시킨다.
상기와 같이, 데이터를 쓴 제어부(210, 215)가 데이터 쓰기 알림 신호를 발생시키면 타 제어부(210, 215)는 이를 수신하여 상기 제 1 저장부(220)에 읽을 데이터가 있음을 인지하게 된다.
그리고, 상기 표시부(LCD)(250)는 액정표시장치(LCD) 등과 같은 표시장치로서, 상기 제어부(210)의 제어를 받아 무선통신 단말기의 상태나 프로그램의 진행 상황 등을 표시한다. 즉, 무선통신 단말기의 전반적인 상태 및 상기 입력부(키패드)(240)를 통해 입력받는 내용 등을 표시한다.
도 3은 본 발명에 따른 무선통신 단말기에서 양방향 공유 메모리의 데이터 읽기 방법에 대한 일실시예 흐름도이다.
이하의 일실시예에서는 설명의 편의상 상기 제 1 저장부(220)의 두 개의 채널을 제 1 채널과 제 2 채널이라 한다.
먼저, 제 1 제어부(210)가 데이터 쓰기 알림 신호를 수신한다(310).
이는 상기 제 2 제어부(215)가 상기 제 1 저장부(220)의 제 1 채널에 데이터 쓰기를 완료함에 따라 발생시킨 것이다.
이를 수신한 제 1 제어부(210)는 상기 제 1 저장부(220)의 제 1 채널에 읽을 데이터가 존재함을 인지한 후, 상기 제 1 채널의 세마포어의 값을 확인한다(315). 이와 같이, 상기 제 1 채널의 세마포어의 값을 확인하는 것은 상기 제 2 제어부(215)가 상기 제 1 채널에 데이터 쓰기를 완료하였지만, 완전히 상기 제 1 채널을 해제시키지 않은 경우를 대비해서이다.
상기 확인 결과(315), 상기 제 1 채널의 세마포어의 값이 1인 경우, 상기 제 1 제어부(210)는 상기 제 2 제어부(215)가 상기 제 1 채널의 사용을 아직 완료하지 않았음을 인지하고 일정 시간 대기 후(320), 다시 상기 제 1 채널의 세마포어의 값을 확인하는 과정 "315"로 진행한다.
한편, 상기 확인 결과(315), 상기 제 1 채널의 세마포어의 값이 0임에 따라 상기 제 1 제어부(210)는 상기 제 1 채널을 상기 제 2 제어부(215)가 사용하지 않도록 제 1 채널의 세마포어의 값을 1로 설정한다(330).
이후, 상기 제 1 제어부(210)는 상기 제 1 채널의 인 포인터와 아웃 포인터가 가리키는 제 1 저장부(220)의 주소를 확인한다(330).
상기 확인 결과(330), 상기 제 1 채널의 인 포인터와 아웃 포인터가 가리키는 제 1 저장부(220)의 주소가 동일한 경우, 상기 수신한 데이터 쓰기 알림 신호의 발생이 오류임을 알리는 메시지를 출력하여(350) 이를 알린다.
한편, 상기 확인 결과(330), 상기 제 1 채널의 인 포인터와 아웃 포인터가 가리키는 제 1 저장부(220)의 주소가 상이함에 따라 아웃 포인터가 가리키는 제 1 채널의 주소부터 인 포인터가 가리키는 제 1 채널의 주소에 저장되어 있는 데이터를 읽는다(360).
상기 데이터 읽기 과정을 완료한 후, 상기 제 1 제어부(210)는 아웃 포인터의 값을 업그레이드하고(370), 상기 제 1 채널의 세마포어의 값을 0으로 재설정하여(380) 제 2 제어부(215)가 상기 제 1 채널의 데이터를 읽을 수 있도록 한다.
한편, 상기 예에서 제 1 제어부(210)가 상기 제 1 저장부(220)의 제 1 채널의 데이터를 읽는 동안에 마찬가지로 상기 제 2 제어부(215)는 상기 제 1 제어부(210)가 상기 제 1 저장부(220)의 제 2 채널에 쓴 데이터를 동시에 읽을 수 있다.
이는 상기 제 1 저장부(220)가 두 개의 채널로 구분되어지고 또한 각 채널의 세마포어를 이용하여 각 채널의 할당 여부를 알 수 있기 때문에 가능하다.
도 4는 본 발명에 따른 무선통신 단말기에서 양방향 공유 메모리의 데이터 쓰기 방법에 대한 일실시예 흐름도이다.
데이터를 쓰고자 하는 제 1 제어부(210)가 데이터를 쓸려고 하는 제 1 채널의 세마포어의 값을 확인한다(410).
상기 확인 결과(410), 상기 제 1 채널의 세마포어의 값이 1인 경우 상기 제 1 제어부(210)는 상기 제 2 채널의 세마포어의 값을 확인하여 그 결과에 따라 데이터 쓰기 과정을 진행한다(420).
한편, 상기 확인 결과(410), 상기 제 1 채널의 세마포어의 값이 0인 경우 상기 제 1 제어부(210)는 상기 제 1 채널의 세마포어의 값을 1로 설정한 후(430), 상기 제 1 채널의 인 포인터가 가리키는 주소를 확인하여 데이터를 쓰기에 상기 제 1 채널의 공간이 충분한지를 확인한다(440).
상기 확인 결과(440), 상기 제 1 채널의 인 포인터가 가리키는 주소 이후의 영역이 데이터를 쓰기에 충분한 공간임에 따라 상기 제 1 제어부(210)는 상기 인 포인터가 가리키는 주소 이후의 영역에 데이터를 쓴 후(460), 상기 인 포인터를 업그레이드한다(470).
이후, 상기 제 1 제어부(210)는 상기 제 1 채널의 세마포어의 값을 0으로 재설정하여(480) 제 2 제어부(215)가 상기 제 1 채널에 데이터를 쓸 수 있도록 한다.
한편, 상기 예에서 상기 제 1 제어부(210)가 상기 제 1 저장부(220)의 제 1 채널에 데이터를 쓰는 동안 상기 제 2 제어부(215)도 상기 제 1 저장부(220)의 제 2 채널에 데이터를 쓸 수 있다.
이는 전술한 바와 같이, 상기 제 1 저장부(220)가 두 개의 채널로 구분되어지고 또한 각 채널의 세마포어를 이용하여 각 채널의 할당 여부를 알 수 있기 때문에 가능하다.
따라서, 제 2 제어부(215)는 상기 제 1 제어부(210)가 데이터 쓰기 과정을 완료하기까지 기다린 후, 데이터 쓰기 과정을 수행하지 않고 상기 제 1 제어부(210)의 데이터 쓰기 과정과 동시에 상기 제 1 저장부(220)에 데이터 쓰기 과정을 수행할 수 있다.
상기와 같이, 저장부를 두 개의 채널로 구분하고 이를 관리하기 위한 인 포인터, 아웃 포인터 및 세마포어와 같은 변수를 둠으로써 두 개의 제어부가 동시에 저장부를 할당받을 수 있으므로 전자기기의 수행 시간을 절약할 수 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
상기와 같은 본 발명은, 공유 메모리를 두 개의 채널로 구분하여 관리함으로써 동시에 두 개의 제어부가 데이터 쓰기/읽기를 하여 전자기기의 수행 효율을 높일 수 있는 효율이 있다.

Claims (7)

  1. 양방향 공유 메모리를 이용한 전자기기에 있어서,
    동시에 한 방향의 데이터 흐름을 지원하는 두 개의 채널로 구분되어 있는 제 1 저장 수단;
    상기 제 1 저장 수단을 관리하기 위한 정보를 저장하고 있는 제 2 저장 수단; 및
    상기 제 2 저장 수단의 정보를 이용하여 상기 제 1 저장 수단의 두 개의 채널에 동시 데이터 쓰기/읽기 기능을 제어하기 위한 제 1 제어 수단 및 제 2 제어 수단
    을 포함하는 양방향 공유 메모리를 이용한 전자기기.
  2. 제 1 항에 있어서,
    상기 제 2 저장 수단은,
    상기 제 1 저장 수단의 데이터를 읽음에 따라 업그레이드되는 인 포인터;
    상기 제 1 저장 수단에 데이터를 씀에 따라 업그레이드되는 아웃 포인터; 및
    상기 제 1 저장 수단의 각 채널의 할당 여부를 표시하기 위한 세마포어
    를 포함하는 양방향 공유 메모리를 이용한 전자기기.
  3. 제 2 항에 있어서,
    상기 제 1 제어 수단 및 상기 제 2 제어 수단은,
    상기 제 2 저장 수단 각 채널의 인 포인터가 가리키는 상기 제 1 저장 수단의 주소와 상기 아웃 포인터가 가리키는 상기 제 1 저장수단 주소의 차이만큼의 데이터를 읽는 것을 특징으로 하는 양방향 공유 메모리를 이용한 전자기기.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 제 1 제어 수단 및 상기 제 2 제어 수단은,
    상기 제 2 저장 수단의 채널을 할당받음에 따라 타 제어 수단이 상기 채널을 할당받지 못하도록 각 채널에 해당하는 세마포어를 소정의 값으로 설정하는 것을 특징으로 하는 양방향 공유 메모리를 이용한 전자기기.
  5. 제 4 항에 있어서,
    상기 제 1 제어 수단 및 상기 제 2 제어 수단은,
    상기 제 2 저장 수단의 채널에 데이터를 씀에 따라 이를 타 제어 수단에 알리기 위해 데이터 쓰기 알림 신호를 발생시키는 것을 특징으로 하는 양방향 공유 메모리를 이용한 전자기기.
  6. 전자기기에서 양방향 공유 메모리의 데이터 읽기 방법에 있어서,
    타 제어 수단으로부터의 데이터 쓰기 알림 신호를 수신함에 따라 상기 데이터가 쓰인 채널의 세마포어를 확인하는 단계;
    세마포어가 제 1 소정의 값임에 따라 상기 세마포어를 제 2 소정의 값으로 설정하고 상기 채널의 인 포인터와 아웃 포인터를 확인하는 단계;
    상기 채널의 인 포인터와 아웃 포인터가 가리키는 제 1 저장 수단의 주소가 서로 상이함에 따라 상기 상이한 제 1 저장 수단 주소 차이만큼의 데이터를 읽고 상기 아웃 포인터의 값을 업그레이드하는 단계; 및
    상기 제 2 소정의 값으로 설정한 세마포어를 상기 제 1 소정의 값으로 설정하는 단계
    를 포함하는 전자기기에서 양방향 공유 메모리의 데이터 읽기 방법.
  7. 전자기기에서 양방향 공유 메모리의 데이터 쓰기 방법에 있어서,
    데이터를 쓰고자하는 채널의 세마포어를 확인하는 단계;
    상기 세마포어가 제 1 소정의 값임에 따라 상기 세마포어를 제 2 소정의 값으로 설정하고 상기 채널의 인 포인터와 아웃 포인터를 확인하는 단계;
    상기 채널의 인 포인터가 가리키는 제 1 저장 수단의 주소를 참조하여 상기 채널의 공간이 데이터를 쓰기에 충분함에 따라 쓰고자 하는 데이터를 쓰고 상기 인 포인터의 값을 업그레이드하는 단계; 및
    상기 제 2 소정의 값으로 설정한 세마포어를 상기 제 1 소정의 값으로 설정하는 단계
    를 포함하는 전자기기에서 양방향 공유 메모리의 데이터 쓰기 방법.
KR1020050064988A 2005-07-18 2005-07-18 양방향 공유 메모리를 이용한 전자기기 및 그 방법 KR20070010432A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050064988A KR20070010432A (ko) 2005-07-18 2005-07-18 양방향 공유 메모리를 이용한 전자기기 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050064988A KR20070010432A (ko) 2005-07-18 2005-07-18 양방향 공유 메모리를 이용한 전자기기 및 그 방법

Publications (1)

Publication Number Publication Date
KR20070010432A true KR20070010432A (ko) 2007-01-24

Family

ID=38011650

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050064988A KR20070010432A (ko) 2005-07-18 2005-07-18 양방향 공유 메모리를 이용한 전자기기 및 그 방법

Country Status (1)

Country Link
KR (1) KR20070010432A (ko)

Similar Documents

Publication Publication Date Title
US8155505B2 (en) Hybrid playlist
KR101640460B1 (ko) 휴대 단말기의 분할 화면 운용 방법 및 이를 지원하는 휴대 단말기
US20140289415A1 (en) Continuous and concurrent device experience in a multi-device ecosystem
US8819402B2 (en) System for displaying image from mobile device on a display in a computer by booting the computer with limited operating system and relinquishing bus control to the mobile device
US20090064202A1 (en) Support layer for enabling same accessory support across multiple platforms
US20100159989A1 (en) Cellular phone and portable storage device using the same
KR20080076390A (ko) 휴대단말기에서 터치 이벤트에 따른 정보 표시 장치 및방법
US20110136434A1 (en) Method and apparatus for transmitting data in bluetooth devices
CN101132586A (zh) 移动通信系统中的多任务管理装置和方法
US20170102914A1 (en) Electronic device and audio ouputting method thereof
JP2009510890A (ja) 電波識別タグが付加された情報端末装置及びその制御方法
KR100783113B1 (ko) 이동 통신 단말기의 음악 파일 단축 저장 방법
KR20130046482A (ko) 기본 화면 제어 방법 및 이를 지원하는 단말기
JP2004318864A (ja) ディジタル製品用インタフェース
US20100105434A1 (en) Data management method and apparatus using subscriber identity module
JP4796131B2 (ja) 筆記による及び/又は可聴音によるユーザ指示に応える、電子デバイス内のデータ管理のための、方法、電子デバイス、及びコンピュータ読み取り可能な記録媒体
KR100711568B1 (ko) 구비된 대용량 보조 메모리에 대한 고속 데이터 전송 및멀티태스킹 구현이 가능한 휴대용 단말기 및 방법
US20070186750A1 (en) Apparatus and method for composing music in a portable terminal
KR102206426B1 (ko) 사용자 기기의 도움말 제공 방법 및 그에 관한 장치
KR20070010432A (ko) 양방향 공유 메모리를 이용한 전자기기 및 그 방법
US11120810B2 (en) Recording device
CN107391733B (zh) 音乐文件快速分组方法、音乐文件快速分组装置及终端
KR20110063951A (ko) 이동단말에서 네트워크 접속 방법 및 장치
KR100529786B1 (ko) 화면 부분 갱신 기능을 가지는 무선통신단말기
US20120044126A1 (en) Method for controlling display unit having a plurality of display panel and mobile terminal operated based thereon

Legal Events

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