KR101719563B1 - 방송수신장치 및 그의 메모리 관리방법 - Google Patents

방송수신장치 및 그의 메모리 관리방법 Download PDF

Info

Publication number
KR101719563B1
KR101719563B1 KR1020100059035A KR20100059035A KR101719563B1 KR 101719563 B1 KR101719563 B1 KR 101719563B1 KR 1020100059035 A KR1020100059035 A KR 1020100059035A KR 20100059035 A KR20100059035 A KR 20100059035A KR 101719563 B1 KR101719563 B1 KR 101719563B1
Authority
KR
South Korea
Prior art keywords
operating system
memory
memory area
recoverable
broadcast receiving
Prior art date
Application number
KR1020100059035A
Other languages
English (en)
Other versions
KR20110138888A (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 KR1020100059035A priority Critical patent/KR101719563B1/ko
Priority to US13/078,505 priority patent/US8914607B2/en
Priority to EP11170563.8A priority patent/EP2400743A3/en
Publication of KR20110138888A publication Critical patent/KR20110138888A/ko
Application granted granted Critical
Publication of KR101719563B1 publication Critical patent/KR101719563B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42692Internal components of the client ; Characteristics thereof for reading from or writing on a volatile storage medium, e.g. Random Access Memory [RAM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

방송수신장치가 개시된다. 본 방송수신장치는, 복수의 운영체제 각각에 대한 복수의 메모리 영역을 포함하는 저장부, 복수의 메모리 영역 각각에 대한 회수 가능한 메모리 영역을 주기적으로 확인하는 확인부, 및, 메모리 영역의 재분배가 필요하면, 회수 가능한 메모리 영역 중 적어도 일부를 재분배하는 제어부를 포함한다.

Description

방송수신장치 및 그의 메모리 관리방법{BROADCAST RECIVER AND METHOD FOR MANAGEMENTING MEMORY}
본 발명은 방송수신장치 및 그의 메모리 관리방법에 관한 것으로, 더욱 상세하게는 메모리 분배를 적응적으로 수행하여 빠른 응답성을 제공할 수 있는 방송수신장치 및 그의 메모리 관리방법에 관한 것이다.
방송수신장치는 디지털 위성방송을 수신하는 장치로, 방송국에서 전송되는 디지털방송 또는 아날로그방송 및 각종 외부기기(Video Player, DVD Player Bue-ray Disc Player 등)로부터 입력된 영상 및 음성신호를 TS 신호로 변환하여 표시하거나, 외부의 디스플레이장치에 전송하는 장치이다. 이러한, 방송수신장치의 대표적 예로는 디지털 TV, VOD(Video On Demand) 등의 IPTV(Internet Protocol Television) 및 셋탑 박스(Set Top Box)를 들 수 있다.
최근 들어, 방송수신장치는 급속도로 발전하고 있으며, PC에 준하는 성능을 갖게 되었다. 때문에 현재 PC에서 제공되는 수많은 서비스가 방송수신장치에서도 적용되고 있다.
하지만, 방송수신장치는 PC와 다르게 부족한 자원을 최대한 활용해야 하고, 고유의 기능이 다른 서비스 제공에 의하여 방해받지 않아야 하다는 점에서, PC 상의 서비스를 그대로 옮겨 오는 것은 사용자에게 보안과 안정성에 있어 심각한 문제를 초래할 수 있다.
이러한 점을 해결하기 위해 최근의 방송수신장치는 디지털 TV와 같은 기본서비스와 PC와 유사한 서비스를 구분하고, 구분된 서비스들을 다른 운영체제를 이용하여 제공하였다.
그러나 운영체제의 성능은 제공되는 메모리 양에 의하여 결정된다는 점에서, 단일 하드웨어 상에 복수의 운영체제가 동작하는 경우, 각 운영체제에 제공되는 메모리의 크기를 결정하는 것은 중요하다.
하지만, 종래에는 우선순위 없이 복수의 운영체제 간에 메모리 분배를 수행하였다는 점에서, '부가서비스를 제공하는 운영체제'에서 많은 메모리를 우선적으로 사용하는 경우 '영상 서비스를 제공하는 운영체제'의 동작이 정지하는 등의 문제점이 있었다.
따라서, 본 발명의 목적은, 메모리 분배를 적응적으로 수행하여 빠른 응답성을 제공할 수 있는 방송수신장치 및 그의 메모리 관리방법을 제공하는 데 있다.
상술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 메모리 관리 방법은, 상기 복수의 운영체제 각각에 대한 복수의 메모리 영역을 분배하는 단계, 상기 분배된 복수의 메모리 영역 각각에 대한 회수 가능한 메모리 영역을 주기적으로 확인하는 단계, 및, 메모리 영역의 재분배가 필요하면, 상기 회수 가능한 메모리 영역 중 적어도 일부를 재분배하는 단계를 포함한다.
이 경우, 상기 확인하는 단계는, 상기 분배된 메모리 영역 각각에 대한 운영체제가 사용하는 메모리 크기를 확인하고, 상기 확인된 메모리 크기에 기초하여 회수 가능한 메모리 영역을 확인하는 것이 바람직하다.
한편, 상기 확인하는 단계는, 상기 회수 가능한 메모리 영역을 클린 리스트(Clean-List)로 관리하는 것이 바람직하다.
한편, 상기 재분배하는 단계는, 상기 메모리 크기 변화에 기초하여 상기 회수 가능한 메모리 영역 중 적어도 일부를 재분배하는 것이 바람직하다.
한편, 상기 복수의 운영체제는, 제1 운영체제 및 제2 운영체제를 포함하고, 상기 제1 운영체제는 상기 방송수신장치의 기본서비스를 제공하기 위해 이용되고, 상기 제2 운영체제는 상기 방송수신장치에서 제공되는 부가서비스를 제공하기 위해 이용되는 것이 바람직하다.
이 경우, 상기 확인하는 단계는, 상기 제2 운영체제에 대응하는 메모리 영역에 대한 회수 가능한 메모리 영역을 주기적으로 확인하고, 상기 재분배하는 단계는, 상기 제1 운영체제에 대응하는 메모리가 부족한 경우, 상기 제2 운영체제에 대응하는 회수 가능한 메모리 영역을 제1 메모리 영역으로 재분배하는 것이 바람직하다.
이 경우, 상기 재분배하는 단계는, 상기 제1 운영체제의 메모리 영역의 크기에 대응되는 제2 운영체제의 회수 가능한 영역을 제1 메모리 영역으로 재분배하는 것이 바람직하다.
한편, 상기 재분배하는 단계는, 상기 제1 운영체제에 대응하는 메모리 영역을 상기 제2 운영체제에 대응하는 메모리 영역에 우선하여 상기 회수 가능한 메모리 영역을 재분배하는 것이 바람직하다.
한편, 본 실시예에 따른 방송수신장치는, 상기 복수의 운영체제 각각에 대한 복수의 메모리 영역을 포함하는 저장부, 상기 복수의 메모리 영역 각각에 대한 회수 가능한 메모리 영역을 주기적으로 확인하는 확인부, 및, 메모리 영역의 재분배가 필요하면, 상기 회수 가능한 메모리 영역 중 적어도 일부를 재분배하는 제어부를 포함한다.
이 경우, 상기 확인부는, 상기 분배된 메모리 영역 각각에 대한 운영체제가 사용하는 메모리 크기를 확인하고, 상기 확인된 메모리 크기에 기초하여 회수 가능한 메모리 영역을 확인하는 것이 바람직하다.
한편, 상기 확인부는, 상기 회수 가능한 메모리 영역을 클린 리스트(Clean-List)로 관리하는 것이 바람직하다.
한편, 상기 제어부는, 상기 메모리 크기 변화에 기초하여 상기 회수 가능한 메모리 영역 중 적어도 일부를 재분배하는 것이 바람직하다.
한편, 상기 복수의 운영체제는, 제1 운영체제 및 제2 운영체제를 포함하고, 상기 제1 운영체제는 상기 방송수신장치의 기본서비스를 제공하기 위해 이용되고, 상기 제2 운영체제는 상기 방송수신장치에서 제공되는 부가서비스를 제공하기 위해 이용되는 것이 바람직하다.
이 경우, 상기 확인부는, 상기 제2 운영체제에 대응하는 메모리 영역에 대한 회수 가능한 메모리 영역을 주기적으로 확인하고, 상기 제어부는, 상기 제1 운영체제에 대응하는 메모리가 부족한 경우, 상기 제2 운영체제에 대응하는 회수 가능한 메모리 영역을 제1 메모리 영역으로 재분배하는 것이 바람직하다.
이 경우, 상기 제어부는, 상기 제1 운영체제의 메모리 영역의 크기에 대응되는 제2 운영체제의 회수 가능한 영역을 제1 메모리 영역으로 재분배하는 것이 바람직하다.
한편, 상기 제어부는, 상기 제1 운영체제에 대응하는 메모리 영역을 상기 제2 운영체제에 대응하는 메모리 영역에 우선하여 상기 회수 가능한 메모리 영역을 재분배하는 것이 바람직하다.
도 1은 본 발명의 일 실시예에 따른 방송수신장치의 구성을 나타내는 블럭도,
도 2 내지 도 6은 다양한 메모리 분할 동작을 설명하기 위한 도면,
도 7은 회수 가능한 메모리 영역을 주기적으로 확인한 경우와 그렇지 않은 경우의 메모리 전달 시간을 나타내는 도면,
도 8은 본 실시예에 따른 메모리 분배 동작의 예를 도시한 도면,
도 9는 본 발명의 일 실시예에 따른 메모리 관리 방법을 설명하기 위한 흐름도, 그리고,
도 10은 도 9의 확장하는 단계를 구체적으로 설명하기 위한 도면이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 방송수신장치의 구성을 나타낸 블럭도이다. 본 실시 예에서는 설명의 편의를 위해 방송수신장치(100)에서 사용되는 운영체제(또는 가상 머신, 이하에서는 '운영체제'로 지칭한다)를 제1 운영체제(또는 주 운영체제)와 제2 운영체제(부 운영체제)로 한정하여 설명하기로 한다.
여기서, 제1 운영체제는 방송수신장치(100)의 기본서비스를 제공하기 위해 사용되는 운영체제이고, 제2 운영체제는 부가서비스를 제공하기 위해 사용되는 운영체제이다.
그리고 기본서비스는, 방송수신장치(100)의 본연의 기능인 선국된 채널에 대응되는 방송신호 혹은 선택된 영상에 대응되는 영상신호를 재생하는 서비스 또는 방송수신장치(100)의 제조사가 최초에 방송수신장치(100)에 탑재한 서비스를 나타낸다. 부가서비스는 방송수신장치(100)에서 제공하는 인터넷 접속, 게임 등의 부가적인 서비스 또는 사용자가 방송수신장치(100)에 설치함으로써 제공하는 서비스를 나타낸다.
도 1을 참조하면, 본 발명의 방송수신장치는, 방송 수신부(110), 신호 분리부(115), A/V 처리부(120), 오디오 출력부(125), GUI 생성부(130), 디스플레이(135), 저장부(140), 조작부(150), 확인부(160) 및 제어부(170)를 포함한다.
방송 수신부(110)는 방송국 또는 위성으로부터 유선 또는 무선으로 방송을 수신하여 복조한다.
신호 분리부(115)는 방송신호를 영상신호, 오디오신호, 부가정보 신호로 분리한다. 그리고 신호 분리부(115)는 영상신호 및 오디오신호를 A/V 처리부(120)로 전송한다.
A/V 처리부(120)는 방송 수신부(110) 및 저장부(140)로부터 입력된 영상신호 및 오디오신호에 대해 비디오 디코딩, 비디오 스케일링, 오디오 디코딩 등의 신호처리를 수행한다. 그리고 A/V 처리부(120)는 영상신호를 GUI 생성부(130)로 출력하고, 오디오신호를 오디오 출력부(125)로 출력한다.
반면, 수신된 영상 및 오디오신호를 저장부(140)에 저장하는 경우, A/V 처리부(120)는 영상과 오디오를 압축된 형태로 저장부(140)에 출력할 수 있다.
오디오 출력부(125)는 A/V 처리부(120)에서 출력되는 오디오신호를 사운드로 변환하여 스피커(미도시)를 통해 출력시키거나, 외부 출력단자(미도시)를 통해 연결된 외부기기로 출력한다.
GUI 생성부(130)는 사용자에게 제공하기 위한 GUI(Graphic User Interface)를 생성한다. 그리고 GUI 생성부(130)는 생성된 GUI를 A/V 처리부(120)에서 출력된 영상에 부가한다. 그리고 디스플레이(135)는 GUI가 부가된 영상을 표시한다.
저장부(140)는 복수의 운영체제 각각에 대한 복수의 메모리 영역을 포함한다. 구체적으로, 저장부(140)는 방송수신장치(100)의 기본서비스를 제공하기 위한 제1 메모리 영역과 방송수신장치(100)의 부가서비스를 제공하기 위한 제2 메모리 영역을 포함한다.
여기서 제1 메모리 영역은 기본서비스를 제공하기 위한 제1 운영체제가 사용하기 위해 분배된 메모리 영역을 나타내고, 제2 메모리 영역은 부가서비스를 제공하기 위한 제2 운영체제가 사용하기 위해 분배된 메모리 영역을 나타낸다.
여기서 기본 서비스의 일 예로는, 방송수신장치(100)의 본연의 기능인 방송신호 또는 영상신호를 재생하는 서비스일 수 있으며, 부가서비스의 일 예로는 게임, 웹브라우저와 같은 3rd Party 어플리케이션이 제공하는 서비스일 수 있다.
그리고, 저장부(140)는 영상 컨텐츠를 저장할 수 있다. 구체적으로, 저장부(140)는 A/V 처리부(120)로부터 영상과 오디오가 압축된 영상 컨텐츠를 제공받아 저장할 수 있으며, 제어부(170)의 제어에 따라 저장된 영상 컨텐츠를 A/V 처리부(120)에 출력할 수 있다. 한편, 저장부(140)는 하드디스크, 비휘발성 메모리, 휘발성 메모리 등으로 구현될 수 있다.
조작부(150)는 터치스크린, 터치패드, 키 버튼, 키패드 등으로 구현되어, 방송수신장치의 사용자 조작을 제공한다. 구체적으로, 사용자는 조작부(150)를 이용하여 방송수신장치(100)가 기본서비스를 제공할지, 부가서비스를 제공할지, 또는 기본서비스 및 부가서비스를 함께 제공할지를 선택하고, 조작부(150)는 사용자 선택에 대응되는 기본서비스 수행명령 혹은 부가서비스 수행명령을 후술할 제어부(170)로 전송한다.
확인부(160)는 각각의 운영체제가 사용하는 메모리 크기를 확인한다. 구체적으로, 확인부(160)는 각 운영체제의 WSS(working Set size)를 주기적으로 확인하여 각각의 운영체제가 사용하는 메모리 크기를 확인할 수 있다. 여기서 WSS는 각 운영체제가 실질적으로 사용하고 있는 메모리 사용량이다. 즉, 확인부(160)는 제1 운영체제의 WSS을 확인하여, 제1 운영체제에 분배된 제1 메모리 영역 중 제1 운영체제가 실제 사용중인 메모리 영역을 확인할 수 있다. 그리고, 확인부(160)는 제2 운영체제의 WSS을 확인하여, 제2 운영체제에 분배된 제2 메모리 영역 중 제2 운영체제가 실제 사용중인 메모리 영역을 확인할 수 있다.
그리고, 확인부(160)는 사용하고 있는 메모리 크기에 기초하여 회수 가능한 메모리 영역을 확인할 수 있다. 구체적으로, 확인부(160)는 각 운영체제에 분배된 메모리 영역에서 사용하고 있는 메모리 영역을 제외하여 회수 가능한 메모리 영역을 확인할 수 있다. 예를 들어, 확인부(160)는 제2 운영체제에 대응하는 제2 메모리 영역에 제2 운영체제의 WSS을 제외하여 제2 운영체제에 대한 회수 가능한 메모리 영역을 확인할 수 있다.
그리고, 확인부(160)는 회수 가능한 메모리 영역을 클린 리스트(Clean-List)로 관리할 수 있다. 여기서 클린 리스트는 운영체제에서 사용했던 메모리 영역 중 다른 운영체제에 즉시 양도할 수 있는, 즉 더럽혀지지 않은 메모리 페이지들을 지칭한다.
한편, 확인부(160)는 제2 운영체제에 대한 회수 가능한 메모리 영역이 기설정된 크기 이상이 되도록 관리할 수 있다. 구체적으로, 확인부(160)는 제1 운영체제가 추가로 필요로 하는 최대 메모리 크기 만큼, 제2 운영체제의 회수 가능한 메모리 영역을 클린 리스트로 관리할 수 있다.
이와 같이 선행적으로 회수 가능한 메모리 영역에 대한 클린 리스트를 미리 작성하는바, 메모리 회수가 필요한 시점에 페이지 캐쉬를 검사하고, 더티 페이지인지 검사하는 등의 지연이 발생하지 않게 된다. 구체적으로, 종래에는 메모리 재분배가 필요한 경우, 모든 페이지 캐쉬를 검사하여 더티 페이지인지 검사하고 스왑-아웃(swap-out)/디스크 플레슁(disk-flushing)을 수행하기 위한 메모리 회수에 지연이 발생하였으나, 본 실시 예에서는 선행적으로 회수할 수 있는 메모리의 목록을 파악하고 있기 때문에 신속하게 메모리 회수를 할 수 있다.
제어부(170)는 방송수신장치(100)의 전반적인 동작을 제어하고, 복수의 운영체제 각각에 메모리 영역을 분배한다. 구체적으로, 제어부(170)는 최초 동작시 또는 사용자의 조작 또는 이벤트 발생에 따라 복수의 운영체제가 동작하여야 하는 시점에, 운영체제 각각에 대한 메모리 영역을 분배할 수 있다. 이때 제어부(170)는 기설정되어 있는 크기 또는 기설정되어 있는 알고리즘에 기초하여 각각의 운영체제에 대한 메모리 영역을 분배할 수 있다. 예를 들어, 두개의 운영체제로 동작하는 경우, 제어부(170)는 제1 운영체제에 메모리 영역의 50%를 분배하고, 제2 운영체제에 메모리 영역의 50%를 분배할 수 있다.
그리고, 제어부(170)는 메모리 영역의 재분배가 필요한지를 판단한다. 구체적으로, 제어부(170)는 각각의 운영체제의 WSS를 확인하고, WSS가 각 운영체제에 분배된 메모리 크기에 근접해지면, 재분배가 필요한 상황으로 파악하여 재분배를 수행할 수 있다. 예를 들어, 제1 운영체제에 분배된 메모리 크기의 80%~100%에 해당하는 WSS를 갖는 경우, 제어부(170)는 메모리 영역에 대한 재분배 동작을 수행할 수 있다.
그리고, 제어부(170)는 회수 가능한 메모리 영역 중 적어도 일부를 재분배한다. 구체적으로, 제어부(170)는 타 운영체제에 분배된 메모리 영역 중 회수 가능한 영역을 메모리가 필요한 운영체제의 메모리 영역으로 재분배할 수 있다. 예를 들어, 제1 운영체제의 메모리 필요양이 증가하게 된 경우, 제2 운영체제에 대응하는 제2 메모리 영역의 회수 가능한 영역을 제1 운영체제로 재분배할 수 있다.
이때, 제어부(170)는 제2 운영체제의 회수 가능한 모든 영역을 제1 운영체제에 재분배할 수 있으며, 제1 운영체제의 메모리 할당 페이지 수에 대응하는 크기만큼만을 제1 운영체제에 재분배할 수도 있다. 또한, 제어부(170)는 제2 운영체제의 회수 가능한 메모리 영역 중 제1 메모리 크기에 대응되는 크기만큼을 제1 운영체제에 재분배할 수 있다. 이와 같은 제어부(170)의 동작에 대해서는 도 10을 참고하여 구체적으로 후술한다.
한편, 제어부(170)는 운영체제별로 우선순위를 부여하여 메모리 영역의 재분배를 수행할 수 있다. 구체적으로, 방송수신장치(100)는 방송신호 재생과 같은 기본 서비스 동작에 장애가 생기지 않도록, 제어부(170)는 운영체제별로 부여된 우선순위에 기초하여 낮은 우선순위를 갖는 운영체제에 메모리 재분배가 필요하면, 높은 우선순위를 갖는 운영체제의 동작에 지장이 없는 범위 내의 회수 가능한 메모리 영역만을 추가 메모리가 필요한 운영체제에 분배할 수 있다. 예를 들어, 제2 운영체제에 메모리 재분배가 필요한 경우, 제어부(170)는 제1 운영체제의 동작에 지장을 주지 않는 범위 내에서 제1 운영체제의 회수 가능한 메모리 영역을 제2 운영체제에 재분배하거나, 재분배하지 않을 수 있다.
한편, 본 실시예에 따른 방송수신장치(100)는 메모리의 재분배가 필요한 시점 이전에, 미리 재분배 가능한 메모리 영역(회수 가능한 메모리 영역)을 클린 리스트로 관리하고 있는바, 메모리 재분배가 필요한 경우에 신속하게 메모리 재분배 동작을 수행할 수 있게 된다.
그리고 운영체제별로 우선순위를 다르게 하여 메모리 재분배하는바, 제2 운영체제에서 메모리를 많이 사용하는 작업을 수행하는 경우에도 제1 운영체제의 성능을 떨어트리거나 서비스가 비정상적으로 동작하는 것을 방지할 수 있게 된다.
도 2 내지 도 6은 다양한 메모리 분할 동작을 설명하기 위한 도면이다.
구체적으로, 도 2는 정적 메모리 분할을 이용하는 경우의 예를 도시한다. 도 2를 참고하면, 각 운영체제는 고정된 메모리 영역(210, 220)을 갖는다. 도시된 바와 같이 각 운영체제는 고정된 메모리 영역을 갖는다는 점에서, 하나의 운영체제의 메모리 영역(210)에 여유 메모리가 남아 있음에도, 다른 하나의 운영체제(220)에 대한 메모리 부족(222)의 문제가 발생한다.
도 3은 동적 메모리 분할을 이용하는 경우의 예를 도시한다. 도 3을 참고하면 각 운영체제는 상황에 따라 변화하는 메모리 영역을 갖는다. 도시된 바와 같이 각 운영체제는 필요한 만큼 변화하는 메모리 크기를 분배받는다. 그러나, 동적 메모리 분할은 운영체제의 우선순위 없이 메모리 분할을 수행하는바, 제2 운영체제에서 과도하게 메모리를 사용하는 경우, 제1 운영체제의 동작에 장애가 생길 수 있다는 단점이 있다.
도 4 내지 도 6은 본 실시예에 따른 메모리 관리 방법을 이용하는 경우의 예를 도시한다.
도 4 및 도 5를 참고하면, 제1 운영체제에 많은 메모리가 필요한 경우 제1 운영체제에 많은 메모리가 분배됨을 알 수 있으며, 제2 운영체제에 많은 메모리가 필요한 경우 제2 운영체제에 않은 메모리가 분배됨을 알 수 있다. 즉, 제한된 메모리 내에서 다수의 운영체제가 메모리를 효율적으로 공유하는 것을 확인할 수 있다.
그리고, 도 6을 참고하면, 제2 운영체제가 메모리 재분배를 요청하면, 관리하고 있던 제1 운영체제의 클린 리스트 영역을 신속하게 제2 운영체제에 제공하는 것을 확인할 수 있다. 도시된 예에서는 제1 운영체제의 모든 클린 리스트 영역을 제2 운영체제에 재분배하는 예만을 도시하였으나, 클린 리스트의 일부 영역만이 제2 운영체제에 제공될 수도 있다. 즉, 제1 운영체제가 동작 중인 경우, 제1 운영체제의 동작에 영향을 주지 않는 범위의 클린 리스트 영역만이 제2 운영체제에 재분배될 수 있다.
도 7은 회수 가능한 메모리 영역을 주기적으로 확인한 경우와 그렇지 않은 경우의 메모리 전달 시간을 나타내는 도면이다.
도 7을 참고하면, 회수 가능한 메모리 영역을 주기적으로 확인하여 클린 리스트를 미리 생성하여 놓은 경우, 그렇지 않은 경우보다 필요한 메모리를 전달하는 시간이 빠른 것을 확인할 수 있다.
도 8은 본 실시예에 따른 메모리 분배 동작의 예를 도시한 도면이다. 구체적으로, 제1 운영체제가 동영상을 재생하고 있는 중에 제2 운영체제가 메모리가 급격히 필요한 '사진 회전 동작'을 수행하는 경우의 각 운영체제별로 배분된 메모리 양 및 WSS를 도시한 도면이다.
도 8을 참고하면, 사진을 회전할 때 제2 운영체제에 필요한 메모리 양이 급격히 증가하는 것을 확인할 수 있다. 그리고, 메모리 양이 급격하기 증가하여도 제1 운영체제의 메모리를 제2 운영체제에 재분배하여 어플리케이션을 지연 없이 실행함을 확인할 수 있다. 또한, 이와 같은 메모리의 확보 과정에서 제1 운영체제 동작에 지연을 유발시키지 않음을 확인할 수 있다.
도 9는 본 발명의 일 실시예에 따른 메모리 관리 방법을 설명하기 위한 흐름도이다.
도 9를 참고하면, 복수의 운영체제 각각에 대한 복수의 메모리 영역을 분배한다(S910). 구체적으로, 최초 동작, 사용자의 조작 또는 이벤트 발생에 따라 복수의 운영체제가 동작하여야 하는 시점에, 운영체제 각각에 대한 메모리 영역을 분배할 수 있다. 이때 각각의 운영체제에 부여되는 메모리 영역은 동일할 수 있으며, 기설정되어 있는 크기 또는 알고리즘에 의하여 각각 다른 메모리 영역이 분배될 수 있다.
그리고, 분배된 복수의 메모리 영역 각각에 대한 회수 가능한 메모리 영역을 주기적으로 확인한다(S920). 구체적으로, 분배된 메모리 영역 각각에 대한 운영체제가 사용하는 메모리 크기를 확인하고, 확인된 메모리 크기에 기초하여 회수 가능한 메모리 영역을 주기적으로 확인한다. 그리고, 확인된 회수 가능한 메모리 영역을 클린 리스트로 관리할 수 있다.
그리고, 메모리 영역의 재분배가 필요하면, 회수 가능한 메모리 영역 중 적어도 일부를 재분배한다(S930). 구체적으로, 메모리 크기 변화를 실시간으로 확인하고, 하나의 운영체제에 요구되는 메모리 크기가 변경되어 메모리 영역의 재분배가 필요하면, 회수 가능한 메모리 영역 중 적어도 일부를 재분배할 수 있다. 메모리 영역의 재분배의 구체적인 동작은 도 10을 참고하여 이하에서 설명한다.
도 10은 도 9의 메모리 영역을 재분배하는 동작을 구체적으로 설명하기 위한 도면이다.
도 10을 참고하면, 먼저 제1 운영제체(주 가상머신)의 메모리가 부족한지를 판단한다(S1005). 구체적으로, 제1 운영체제의 WSS를 확인함으로써 메모리가 부족한지를 판단할 수 있다.
제1 운영체제의 메모리가 부족한 경우, 제1 운영체제의 메모리 부족이 긴급한 것인지를 판단하여(S1015), 제1 운영체제에 재분배할 메모리 크기를 계산할 수 있다(S1010, S1020, S1025). 구체적으로, 긴급으로 재분배해야하는 경우, 현재 제1 운영체제에 분배된 메모리 크기와 동일한 크기의 메모리가 재분배되도록 하고, 긴급으로 재분할 필요가 없는 경우, 제1 운영체제의 초당 메모리 할당 페이지 수에 대응되는 크기만큼을 제1 운영체제에 재분배되도록 할 수 있다.
제2 운영체제의 메모리가 부족한 경우(S1030), 제2 운영체제의 메모리 부족이 긴급한 건지를 판단하여(S1040), 제2 운영체제에 재분배할 메모리 크기를 계산할 수 있다(S1035, S1045, S1050). 이때 제2 운영체제에 추가 재분배되는 메모리 크기는 제1 운영체제의 동작에 제한되지 않는 범위 내에서 재분배될 수 있다.
한편, 상기 실시 예에서는 기본서비스를 제공하기 위한 제1 운영체제 및 부가서비스를 제공하기 위한 제2 운영체제가 사용되는 경우로 한정하여 설명하였지만, 반드시 이에 한정되는 것이 아니라, 본 방송수신장치에서는 기본서비스 및 복수의 부가서비스가 제공되도록 3개 이상의 운영체제가 사용될 수 있다.
따라서, 본 실시예에 따른 메모리 관리 방법은, 메모리가 재분배가 필요한 시점 이전에 미리 재분배 가능한 메모리 영역(회수 가능한 메모리 영역)을 확인하여 확보하는바, 메모리 재분배가 필요한 경우 신속하게 메모리 재분배 동작을 수행할 수 있게 된다. 그리고, 제1 운영체제에 대해서 우선 순위를 부여하여 메모리 재분배를 수행하는바, 제2 운영체제에서 메모리를 많이 사용하는 작업을 수행하는 경우에도 제1 운영체제의 성능을 떨어트리거나 서비스가 비정상적으로 동작하는 것을 방지할 수 있게 된다. 도 9 및 10과 같은 메모리 관리 방법은, 도 1의 구성을 가지는 방송수신장치상에서 실행될 수 있으며, 그 밖의 다른 구성을 가지는 방송수신장치상에서도 실행될 수 있다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100 : 방송수신장치 110 : 방송 수신부
115 : 신호 분리부 120 : A/V 처리부
125 : 오디오 출력부 130 : GUI 생성부
135 : 디스플레이 140 : 저장부
150 : 조작부 160 : 확인부
170 : 제어부

Claims (16)

  1. 방송수신장치의 메모리 관리 방법에 있어서,
    제1 서비스를 제공하는 제1 운영체제와 제2 서비스를 제공하는 제2 운영체제 각각에 제1 메모리 영역과 제2 메모리 영역을 분배하는 단계;
    상기 제1 메모리 영역 중 회수 가능한 제1 메모리 영역과 상기 제2 메모리 영역 중 회수 가능한 제2 메모리 영역을 확인하는 단계; 및
    메모리 영역의 재분배가 필요하면, 상기 회수 가능한 제1 메모리 영역 또는 상기 회수 가능한 제2 메모리 영역을 재분배하는 단계;를 포함하고,
    상기 제1 운영체제는 상기 방송수신장치의 영상 재생 서비스를 제공하기 위해 이용되고, 상기 제2 운영체제는 상기 방송수신장치에서 제공되는 부가서비스를 제공하기 위해 이용되며,
    상기 재분배하는 단계는,
    상기 제1 운영체제를 상기 제2 운영체제보다 우선하여 상기 회수 가능한 제1 메모리 영역 또는 상기 회수 가능한 제2 메모리 영역을 재분배하는 메모리 관리 방법.
  2. 제1항에 있어서,
    상기 확인하는 단계는,
    상기 제1 메모리 영역 내에 상기 제1 운영체제가 사용하는 메모리 크기를 확인하는 단계; 및
    상기 확인된 제1 운영체제가 사용하는 메모리 크기에 기초하여 상기 회수 가능한 제1 메모리 영역을 확인하는 단계;를 포함하는 메모리 관리 방법.
  3. 제2항에 있어서,
    상기 회수 가능한 제1 메모리 영역은,
    상기 제1 메모리 영역과 상기 확인된 제1 운영체제가 사용하는 메모리 크기의 차이와 동일한 메모리 관리 방법.
  4. 제2항에 있어서,
    상기 재분배하는 단계는,
    상기 제2 운영체제가 사용하는 메모리 크기의 변화에 기초하여 상기 회수 가능한 제1 메모리 영역의 적어도 일부를 재분배하는 단계를 포함하는 메모리 관리 방법.
  5. 제1항에 있어서,
    상기 확인하는 단계는,
    상기 회수 가능한 제1 메모리 영역을 클린 리스트(Clean-List)로 관리하는 메모리 관리 방법.
  6. 제1항에 있어서,
    상기 회수 가능한 제2 메모리 영역은,
    상기 제2 메모리 영역과 상기 제2 운영체제가 사용하는 메모리 크기의 차이와 동일하고,
    상기 재분배하는 단계는,
    상기 제1 운영체제가 사용하는 메모리 크기의 변화에 기초하여 상기 회수 가능한 제2 메모리 영역의 적어도 일부를 재분배하는 단계를 포함하는 메모리 관리 방법.
  7. 제1항에 있어서,
    상기 재분배하는 단계는,
    상기 제1 운영체제의 메모리 영역의 크기에 대응되는 상기 회수 가능한 제2 메모리 영역을 상기 제1 메모리 영역으로 재분배하는 단계를 포함하는 메모리 관리 방법.
  8. 삭제
  9. 복수의 운영체제를 사용하는 방송수신장치에 있어서,
    제1 서비스를 제공하는 제1 운영체제에 분배된 제1 메모리 영역과 제2 서비스를 제공하는 제2 운영체제에 분배된 제2 메모리 영역을 포함하는 저장부; 및
    상기 제1 메모리 영역 중 회수 가능한 제1 메모리 영역과 상기 제2 메모리 영역 중 회수 가능한 제2 메모리 영역을 을 확인하고, 메모리 영역의 재분배가 필요하면 상기 회수 가능한 제1 메모리 영역 또는 상기 회수 가능한 제2 메모리 영역을 재분배하는 제어부;를 포함하고,
    상기 제1 운영체제는 상기 방송수신장치의 영상 재생 서비스를 제공하기 위해 이용되고, 상기 제2 운영체제는 상기 방송수신장치에서 제공되는 부가서비스를 제공하기 위해 이용되며,
    상기 제어부는,
    상기 제1 운영체제를 상기 제2 운영체제보다 우선하여 상기 회수 가능한 제1 메모리 영역 또는 상기 회수 가능한 제2 메모리 영역을 재분배하는 방송수신장치.
  10. 제9항에 있어서,
    상기 제어부는,
    상기 제1 메모리 영역 내에 상기 제1 운영체제가 사용하는 메모리 크기를 확인하고, 상기 확인된 제1 운영체제가 사용하는 메모리 크기에 기초하여 상기 회수 가능한 제1 메모리 영역을 확인하는 방송수신장치.
  11. 제10항에 있어서,
    상기 회수 가능한 제1 메모리 영역은,
    상기 제1 메모리 영역과 상기 확인된 제1 운영체제가 사용하는 메모리 크기의 차이와 동일한 방송수신장치.
  12. 제10항에 있어서,
    상기 제어부는,
    상기 제2 운영체제가 사용하는 메모리 크기의 변화에 기초하여 상기 회수 가능한 제1 메모리 영역의 적어도 일부를 재분배하는 방송수신장치.
  13. 제9항에 있어서,
    상기 제어부는,
    상기 회수 가능한 제1 메모리 영역을 클린 리스트(Clean-List)로 관리하는 방송수신장치.
  14. 제9항에 있어서,
    상기 회수 가능한 제2 메모리 영역은,
    상기 제2 메모리 영역과 상기 제2 운영체제가 사용하는 메모리 크기의 차이와 동일하고,
    상기 제어부는,
    상기 제1 운영체제가 사용하는 메모리 크기의 변화에 기초하여 상기 회수 가능한 제2 메모리 영역의 적어도 일부를 재분배하는 방송수신장치.
  15. 제9항에 있어서,
    상기 제어부는,
    상기 제1 운영체제의 메모리 영역의 크기에 대응되는 상기 회수 가능한 제2 메모리 영역을 상기 제1 메모리 영역으로 재분배하는 방송수신장치.
  16. 삭제
KR1020100059035A 2010-06-22 2010-06-22 방송수신장치 및 그의 메모리 관리방법 KR101719563B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020100059035A KR101719563B1 (ko) 2010-06-22 2010-06-22 방송수신장치 및 그의 메모리 관리방법
US13/078,505 US8914607B2 (en) 2010-06-22 2011-04-01 Broadcast receiving apparatus and memory managing method thereof
EP11170563.8A EP2400743A3 (en) 2010-06-22 2011-06-20 Broadcast receiving apparatus and memory managing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100059035A KR101719563B1 (ko) 2010-06-22 2010-06-22 방송수신장치 및 그의 메모리 관리방법

Publications (2)

Publication Number Publication Date
KR20110138888A KR20110138888A (ko) 2011-12-28
KR101719563B1 true KR101719563B1 (ko) 2017-03-24

Family

ID=44925674

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100059035A KR101719563B1 (ko) 2010-06-22 2010-06-22 방송수신장치 및 그의 메모리 관리방법

Country Status (3)

Country Link
US (1) US8914607B2 (ko)
EP (1) EP2400743A3 (ko)
KR (1) KR101719563B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102004867B1 (ko) * 2012-12-12 2019-10-01 삼성전자 주식회사 영상처리장치 및 그 제어방법
KR101771289B1 (ko) * 2014-05-19 2017-08-24 엘에스산전 주식회사 Plc 프로그램 관리 장치
KR102513961B1 (ko) 2015-11-11 2023-03-27 삼성전자주식회사 멀티 운영시스템을 지닌 전자장치 및 이의 동적 메모리 관리 방법
US9910768B1 (en) * 2016-05-23 2018-03-06 Parallels IP Holdings GmbH Method for memory management for virtual machines

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331333A (ja) * 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム及び計算機システムの制御方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6049854A (en) * 1997-05-09 2000-04-11 Vlsi Technology, Inc. System and method for sharing physical memory among distinct computer environments
US6408313B1 (en) * 1998-12-16 2002-06-18 Microsoft Corporation Dynamic memory allocation based on free memory size
US20020129172A1 (en) * 2001-03-08 2002-09-12 International Business Machines Corporation Inter-partition message passing method, system and program product for a shared I/O driver
US6898705B2 (en) * 2001-05-31 2005-05-24 International Business Machines Corporation Automatic appliance server re-provision/re-purposing method
US7822105B2 (en) * 2003-09-02 2010-10-26 Sirf Technology, Inc. Cross-correlation removal of carrier wave jamming signals
US7412705B2 (en) 2005-01-04 2008-08-12 International Business Machines Corporation Method for inter partition communication within a logical partitioned data processing system
CN1940858B (zh) * 2005-09-26 2011-06-15 深圳市朗科科技股份有限公司 媒体播放装置上实现多任务的方法
US7685396B2 (en) 2007-03-05 2010-03-23 Research In Motion Limited System and method for dynamic memory allocation
KR101077188B1 (ko) 2008-11-25 2011-10-31 대한민국 구제역 바이러스 억제를 위한 siRNA를 발현하는 재조합 아데노바이러스
US8024496B2 (en) * 2009-04-10 2011-09-20 International Business Machines Corporation Enhanced memory migration descriptor format and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331333A (ja) * 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム及び計算機システムの制御方法

Also Published As

Publication number Publication date
US8914607B2 (en) 2014-12-16
US20110314247A1 (en) 2011-12-22
EP2400743A2 (en) 2011-12-28
KR20110138888A (ko) 2011-12-28
EP2400743A3 (en) 2014-04-23

Similar Documents

Publication Publication Date Title
US11749313B2 (en) Application tune manifests and tune state recovery
US20200196026A1 (en) Delivery of Content and Priority Messages
JP5678365B2 (ja) メディアコンテンツの選択的保存のためのシステム及び方法
KR101740204B1 (ko) 미디어 소스 선택 및 토클링 시스템 및 방법
US7380264B2 (en) Systems for unifying heterogeneous multimedia tuners
US8225354B2 (en) Merging electronic program guide information
US8166504B2 (en) Method and apparatus for processing content in home network using TV channels
US8619192B2 (en) Closed captioning preferences
US20130007191A1 (en) Systems and methods for initializing allocations of transport streams based on historical data
KR20110116031A (ko) 미디어 콘텐츠 표시를 위한 리소스 관리
KR101719563B1 (ko) 방송수신장치 및 그의 메모리 관리방법
KR20110138887A (ko) 방송수신장치 및 그의 스케줄링 방법
CN101213787A (zh) 在家庭网络中管理用于广播服务的调谐器的方法和设备
US20080069126A1 (en) Method and system for buffering content
US9160467B2 (en) Method and system for assigning definitions to media network channels
KR20070085125A (ko) Av 네트워크 관리 방법 및 이를 위한 장치
KR101109603B1 (ko) 응용 프로그램 실행 방법 및 장치
KR101627273B1 (ko) 방송수신장치 및 그의 메모리 관리방법
RU2703446C1 (ru) Внешний модуль, включающий функциональные возможности обработки
JP2010283683A (ja) ストリーム復号装置及びストリーム復号方法
JP2008180932A (ja) 表示制御装置、表示装置、表示制御方法および制御プログラム
JP4988047B1 (ja) 録画装置及び録画方法
JP2006246452A (ja) 放送受信端末装置
WO2013003174A2 (en) Systems and methods for efficient allocations of transport streams
US20130227597A1 (en) Personal program channel

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