KR101764632B1 - 이동 단말기 및 그 제어방법 - Google Patents

이동 단말기 및 그 제어방법 Download PDF

Info

Publication number
KR101764632B1
KR101764632B1 KR1020110051454A KR20110051454A KR101764632B1 KR 101764632 B1 KR101764632 B1 KR 101764632B1 KR 1020110051454 A KR1020110051454 A KR 1020110051454A KR 20110051454 A KR20110051454 A KR 20110051454A KR 101764632 B1 KR101764632 B1 KR 101764632B1
Authority
KR
South Korea
Prior art keywords
tasks
task
group
processing
resources
Prior art date
Application number
KR1020110051454A
Other languages
English (en)
Other versions
KR20120133005A (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 KR1020110051454A priority Critical patent/KR101764632B1/ko
Priority to US13/244,096 priority patent/US8650577B2/en
Priority to EP12000503.8A priority patent/EP2530592B1/en
Publication of KR20120133005A publication Critical patent/KR20120133005A/ko
Application granted granted Critical
Publication of KR101764632B1 publication Critical patent/KR101764632B1/ko

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/46Multiprogramming arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 이동 단말기 및 그 제어방법에 관한 것으로, 보다 상세히는 복수의 태스크 각각에 대한 처리 순서를 부여하는 스케줄링 기능을 지원하는 이동 단말기 및 그 제어 방법에 관한 것이다.
본 발명의 일예와 관련된 이동 단말기는 제 1 기준에 따라 처리 순서가 제 1 스케줄링 된 복수의 태스크(task)에 대해 제 2 스케줄링 기능을 수행하는 스케줄러를 구비한 운영체제를 포함하는 메모리와 상기 운용체제와 관련된 연산 및 상기 복수의 태스크를 처리하는 프로세서를 포함하되, 상기 스케줄러는 상기 제 1 스케줄링 된 복수의 태스크(task) 중 제 1 태스크가 제 2 기준을 만족하는 경우, 상기 제 1 태스크를 우선 처리하도록 상기 처리 순서를 변경하여 상기 제 2 스케줄링 기능을 수행할 수 있다.

Description

이동 단말기 및 그 제어방법{MOBILE TERMINAL AND METHOD FOR CONTROLLING THEREOF}
본 발명은 이동 단말기 및 그 제어방법에 관한 것으로, 보다 상세히는 복수의 태스크 각각에 대한 처리 순서를 부여하는 스케줄링 기능을 지원하는 이동 단말기 및 그 제어 방법에 관한 것이다.
단말기는 이동 가능 여부에 따라 이동 단말기(mobile/portable terminal) 및 고정 단말기(stationary terminal)로 나뉠 수 있다. 다시 이동 단말기는 사용자의 직접 휴대 가능 여부에 따라 휴대(형) 단말기(handheld terminal) 및 거치형 단말기(vehicle mount terminal)로 나뉠 수 있다.
이와 같은 단말기(terminal)는 기능이 다양화됨에 따라 예를 들어, 사진이나 동영상의 촬영, 음악이나 동영상 파일의 재생, 게임, 방송의 수신 등의 복합적인 기능들을 갖춘 멀티미디어 기기(Multimedia player) 형태로 구현되고 있다.
이러한 단말기의 기능 지지 및 증대를 위해, 단말기의 구조적인 부분 및/또는 소프트웨어적인 부분을 개량하는 것이 고려될 수 있다.
최근, 이동 단말기가 활용되는 영역이 넓어지면서 기능 개발과 더불어 이를 지원하기 위한 장기간 유지될 수 있는 배터리(battery)에 대한 필요성이 높아졌다. 따라서 하드웨어적인 방법 이외에 배터리의 지속시간을 길게 할 수 있는 소프트웨어적인 방법이 요구되는 실정이다.
본 발명은 상기한 바와 같은 일반적인 기술의 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 처리 순서가 결정된 복수의 태스크 중 미리 설정된 기준을 만족하는 태스크가 존재하는 경우, 복수의 태스크에 변경된 처리 순서를 새롭게 부여하는 스케줄링 기능을 지원하는 이동 단말기 및 그 제어 방법에 관한 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기한 과제를 실현하기 위한 본 발명의 일예와 관련된 이동 단말기는 제 1 기준에 따라 처리 순서가 제 1 스케줄링 된 복수의 태스크(task)에 대해 제 2 스케줄링 기능을 수행하는 스케줄러를 구비한 운영체제를 포함하는 메모리와 상기 운용체제와 관련된 연산 및 상기 복수의 태스크를 처리하는 프로세서를 포함하되, 상기 스케줄러는 상기 제 1 스케줄링 된 복수의 태스크(task) 중 제 1 태스크가 제 2 기준을 만족하는 경우, 상기 제 1 태스크를 우선 처리하도록 상기 처리 순서를 변경하여 상기 제 2 스케줄링 기능을 수행할 수 있다.
또한, 상기한 과제를 실현하기 위한 본 발명의 일 예와 관련된 이동 단말기 제어방법은 운영체제에 포함된 스케줄러가 제 1 기준에 따라 복수의 태스크(task) 각각에 대한 처리 순서를 결정하는 제 1 스케줄링 기능을 수행하는 단계, 상기 제 1 스케줄링 된 복수의 태스크(task) 중 제 1 태스크가 제 2 기준을 만족하는 단계와 상기 스케줄러가 상기 제 1 태스크를 우선 처리하도록 상기 처리 순서를 변경하여 제 2 스케줄링 기능을 수행하는 단계를 포함할 수 있다.
상기와 같이 구성되는 본 발명의 적어도 하나의 실시 예에 관련된 이동 단말기는 처리 순서가 결정된 복수의 태스크 중 미리 설정된 기준을 만족하는 태스크가 존재하는 경우, 복수의 태스크에 변경된 처리 순서를 새롭게 부여하는 스케줄링 기능을 제공할 수 있다.
또한, 상기와 같이 구성되는 본 발명의 적어도 하나의 실시 예에 관련된 이동 단말기는 새롭게 스케줄링 된 복수의 태스크의 처리 순서를 기초로 프로세서를 동작하기 위한 주파수 및 전압을 결정할 수 있다.
또한, 상기와 같이 구성되는 본 발명의 적어도 하나의 실시 예에 관련된 이동 단말기에 적용되는 미리 설정된 기준은 서로 다른 태스크 타이밍 제한(timing constraint)을 갖는 복수의 자원(resource) 중 특정 타이밍에 사용되어야 태스크 수행을 완료할 수 있는 자원을 태스크가 사용하는지 여부가 될 수 있다.
도 1은 본 발명의 일 실시 예와 관련된 이동 단말기의 블록 구성도(block diagram).
도 2는 본 발명의 일 실시 예에 관련된 이동 단말기의 전면 사시도.
도 3은 본 발명과 관련된 이동 단말기의 일 작동 상태를 설명하기 위한 이동 단말기의 정면도.
도 4는 본 발명과 관련하여 성능에 영향을 미치는 태스크를 우선 수행하도록 태스크 처리 순서를 결정하는 일례를 나타내는 도면.
도 5는 본 발명과 관련하여 기 설정된 기준을 만족하면 복수의 태스크에 변경된 처리 순서를 부여하는 스케줄링 기능을 제공하는 일례를 나타내는 순서도.
도 6은 본 발명과 관련하여 성능에 영향을 미치는 태스크를 우선 수행하도록 태스크 처리 순서를 결정한 효과의 일례를 나타내는 도면.
도 7은 본 발명의 일 실시 예와 관련하여 복수의 태스크를 사용하는 자원에 따라 서로 다른 처리순서를 갖는 복수의 그룹으로 분류하는 일례를 나타내는 도면.
이하, 본 발명과 관련된 이동 단말기에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
본 명세서에서 설명되는 이동 단말기에는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션 등이 포함될 수 있다. 그러나, 본 명세서에 기재된 실시예에 따른 구성은 이동 단말기에만 적용 가능한 경우를 제외하면, 디지털 TV, 데스크탑 컴퓨터 등과 같은 고정 단말기에도 적용될 수도 있음을 본 기술분야의 당업자라면 쉽게 알 수 있을 것이다.
도 1은 본 발명의 일 실시예와 관련된 이동 단말기의 블록 구성도(block diagram)이다.
상기 이동 단말기(100)는 무선 통신부(110), A/V(Audio/Video) 입력부(120), 사용자 입력부(130), 센싱부(140), 출력부(150), 메모리(160), 인터페이스부(170), 제어부(180) 및 전원 공급부(190) 등을 포함할 수 있다. 도 1에 도시된 구성요소들이 필수적인 것은 아니어서, 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 갖는 이동 단말기(100)가 구현될 수도 있다.
이하, 상기 구성요소들에 대해 차례로 살펴본다.
무선 통신부(110)는 이동 단말기(100)와 무선 통신 시스템 사이 또는 이동 단말기(100)와 이동 단말기(100)가 위치한 네트워크 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 예를 들어, 무선 통신부(110)는 방송 수신 모듈(111), 이동통신 모듈(112), 무선 인터넷 모듈(113), 근거리 통신 모듈(114) 및 위치정보 모듈(115) 등을 포함할 수 있다.
방송 수신 모듈(111)은 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다.
상기 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 상기 방송 관리 서버는, 방송 신호 및/또는 방송 관련 정보를 생성하여 송신하는 서버 또는 기 생성된 방송 신호 및/또는 방송 관련 정보를 제공받아 단말기에 송신하는 서버를 의미할 수 있다. 상기 방송 신호는, TV 방송 신호, 라디오 방송 신호, 데이터 방송 신호를 포함할 뿐만 아니라, TV 방송 신호 또는 라디오 방송 신호에 데이터 방송 신호가 결합한 형태의 방송 신호도 포함할 수 있다.
상기 방송 관련 정보는, 방송 채널, 방송 프로그램 또는 방송 서비스 제공자에 관련한 정보를 의미할 수 있다. 상기 방송 관련 정보는, 이동통신망을 통하여도 제공될 수 있다. 이러한 경우에는 상기 이동통신 모듈(112)에 의해 수신될 수 있다.
상기 방송 관련 정보는 다양한 형태로 존재할 수 있다. 예를 들어, DMB(Digital Multimedia Broadcasting)의 EPG(Electronic Program Guide) 또는 DVB-H(Digital Video Broadcast-Handheld)의 ESG(Electronic Service Guide) 등의 형태로 존재할 수 있다.
상기 방송 수신 모듈(111)은, 예를 들어, DMB-T(Digital Multimedia Broadcasting-Terrestrial), DMB-S(Digital Multimedia Broadcasting-Satellite), MediaFLO(Media Forward Link Only), DVB-H(Digital Video Broadcast-Handheld), ISDB-T(Integrated Services Digital Broadcast-Terrestrial) 등의 디지털 방송 시스템을 이용하여 디지털 방송 신호를 수신할 수 있다. 물론, 상기 방송 수신 모듈(111)은, 상술한 디지털 방송 시스템뿐만 아니라 다른 방송 시스템에 적합하도록 구성될 수도 있다.
방송 수신 모듈(111)을 통해 수신된 방송 신호 및/또는 방송 관련 정보는 메모리(160)에 저장될 수 있다.
이동통신 모듈(112)은, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 상기 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
무선 인터넷 모듈(113)은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 이동 단말기(100)에 내장되거나 외장될 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등이 이용될 수 있다.
근거리 통신 모듈(114)은 근거리 통신을 위한 모듈을 말한다. 근거리 통신(short range communication) 기술로 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.
위치정보 모듈(115)은 이동 단말기(100)의 위치를 획득하기 위한 모듈로서, 그의 대표적인 예로는 GPS(Global Position System) 모듈이 있다.
도 1을 참조하면, A/V(Audio/Video) 입력부(120)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(121)와 마이크(122) 등이 포함될 수 있다. 카메라(121)는 화상 통화모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 디스플레이부(151)에 표시될 수 있다.
카메라(121)에서 처리된 화상 프레임은 메모리(160)에 저장되거나 무선 통신부(110)를 통하여 외부로 전송될 수 있다. 카메라(121)는 사용 환경에 따라 2개 이상이 구비될 수도 있다.
마이크(122)는 통화모드 또는 녹음모드, 음성인식 모드 등에서 마이크로폰(Microphone)에 의해 외부의 음향 신호를 입력받아 전기적인 음성 데이터로 처리한다. 처리된 음성 데이터는 통화 모드인 경우 이동통신 모듈(112)을 통하여 이동통신 기지국으로 송신 가능한 형태로 변환되어 출력될 수 있다. 마이크(122)에는 외부의 음향 신호를 입력받는 과정에서 발생되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘이 구현될 수 있다.
사용자 입력부(130)는 사용자가 단말기의 동작 제어를 위한 입력 데이터를 발생시킨다. 사용자 입력부(130)는 키 패드(key pad) 돔 스위치 (dome switch), 터치 패드(정압/정전), 조그 휠, 조그 스위치 등으로 구성될 수 있다.
센싱부(140)는 이동 단말기(100)의 개폐 상태, 이동 단말기(100)의 위치, 사용자 접촉 유무, 이동 단말기(100)의 방위, 이동 단말기(100)의 가속/감속 등과 같이 이동 단말기(100)의 현 상태를 감지하여 이동 단말기(100)의 동작을 제어하기 위한 센싱 신호를 발생시킨다. 예를 들어 이동 단말기(100)가 슬라이드 폰 형태인 경우 슬라이드 폰의 개폐 여부를 센싱할 수 있다. 또한, 전원 공급부(190)의 전원 공급 여부, 인터페이스부(170)의 외부 기기 결합 여부 등을 센싱할 수도 있다. 한편, 상기 센싱부(140)는 근접 센서(141)를 포함할 수 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것으로, 이에는 디스플레이부(151), 음향 출력 모듈(152), 알람부(153), 햅틱 모듈(154) 및 프로젝터 모듈(155) 등이 포함될 수 있다.
디스플레이부(151)는 이동 단말기(100)에서 처리되는 정보를 표시(출력)한다. 예를 들어, 이동 단말기(100)가 통화 모드인 경우 통화와 관련된 UI(User Interface) 또는 GUI(Graphic User Interface)를 표시한다. 이동 단말기(100)가 화상 통화 모드 또는 촬영 모드인 경우에는 촬영 또는/및 수신된 영상 또는 UI, GUI를 표시한다.
디스플레이부(151)는 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다.
이들 중 일부 디스플레이는 그를 통해 외부를 볼 수 있도록 투명형 또는 광투과형으로 구성될 수 있다. 이는 투명 디스플레이라 호칭될 수 있는데, 상기 투명 디스플레이의 대표적인 예로는 TOLED(Transparant OLED) 등이 있다. 디스플레이부(151)의 후방 구조 또한 광 투과형 구조로 구성될 수 있다. 이러한 구조에 의하여, 사용자는 단말기 바디의 디스플레이부(151)가 차지하는 영역을 통해 단말기 바디의 후방에 위치한 사물을 볼 수 있다.
이동 단말기(100)의 구현 형태에 따라 디스플레이부(151)이 2개 이상 존재할 수 있다. 예를 들어, 이동 단말기(100)에는 복수의 디스플레이부들이 하나의 면에 이격되거나 일체로 배치될 수 있고, 또한 서로 다른 면에 각각 배치될 수도 있다.
디스플레이부(151)와 터치 동작을 감지하는 센서(이하, '터치 센서'라 함)가 상호 레이어 구조를 이루는 경우(이하, '터치 스크린'이라 함)에, 디스플레이부(151)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 터치 센서는, 예를 들어, 터치 필름, 터치 시트, 터치 패드 등의 형태를 가질 수 있다.
터치 센서는 디스플레이부(151)의 특정 부위에 가해진 압력 또는 디스플레이부(151)의 특정 부위에 발생하는 정전 용량 등의 변화를 전기적인 입력신호로 변환하도록 구성될 수 있다. 터치 센서는 터치 되는 위치 및 면적뿐만 아니라, 터치 시의 압력까지도 검출할 수 있도록 구성될 수 있다.
터치 센서에 대한 터치 입력이 있는 경우, 그에 대응하는 신호(들)는 터치 제어기로 보내진다. 터치 제어기는 그 신호(들)를 처리한 다음 대응하는 데이터를 제어부(180)로 전송한다. 이로써, 제어부(180)는 디스플레이부(151)의 어느 영역이 터치 되었는지 여부 등을 알 수 있게 된다.
상기 근접 센서(141)는 상기 터치스크린에 의해 감싸지는 이동 단말기(100)의 내부 영역 또는 상기 터치 스크린의 근처에 배치될 수 있다. 상기 근접 센서는 소정의 검출면에 접근하는 물체, 혹은 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선을 이용하여 기계적 접촉이 없이 검출하는 센서를 말한다. 근접 센서는 접촉식 센서보다는 그 수명이 길며 그 활용도 또한 높다.
상기 근접 센서의 예로는 투과형 광전 센서, 직접 반사형 광전 센서, 미러 반사형 광전 센서, 고주파 발진형 근접 센서, 정전용량형 근접 센서, 자기형 근접 센서, 적외선 근접 센서 등이 있다. 상기 터치스크린이 정전식인 경우에는 상기 포인터의 근접에 따른 전계의 변화로 상기 포인터의 근접을 검출하도록 구성된다. 이 경우 상기 터치 스크린(터치 센서)은 근접 센서로 분류될 수도 있다.
이하에서는 설명의 편의를 위해, 상기 터치스크린 상에 포인터가 접촉되지 않으면서 근접되어 상기 포인터가 상기 터치스크린 상에 위치함이 인식되도록 하는 행위를 "근접 터치(proximity touch)"라고 칭하고, 상기 터치스크린 상에 포인터가 실제로 접촉되는 행위를 "접촉 터치(contact touch)"라고 칭한다. 상기 터치스크린 상에서 포인터로 근접 터치가 되는 위치라 함은, 상기 포인터가 근접 터치될 때 상기 포인터가 상기 터치스크린에 대해 수직으로 대응되는 위치를 의미한다.
상기 근접센서는, 근접 터치와, 근접 터치 패턴(예를 들어, 근접 터치 거리, 근접 터치 방향, 근접 터치 속도, 근접 터치 시간, 근접 터치 위치, 근접 터치 이동 상태 등)을 감지한다. 상기 감지된 근접 터치 동작 및 근접 터치 패턴에 상응하는 정보는 터치 스크린상에 출력될 수 있다.
음향 출력 모듈(152)은 호신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서 무선 통신부(110)로부터 수신되거나 메모리(160)에 저장된 오디오 데이터를 출력할 수 있다. 음향 출력 모듈(152)은 이동 단말기(100)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음 등)과 관련된 음향 신호를 출력하기도 한다. 이러한 음향 출력 모듈(152)에는 리시버(Receiver), 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.
알람부(153)는 이동 단말기(100)의 이벤트 발생을 알리기 위한 신호를 출력한다. 이동 단말기(100)에서 발생 되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 터치 입력 등이 있다. 알람부(153)는 비디오 신호나 오디오 신호 이외에 다른 형태, 예를 들어 진동으로 이벤트 발생을 알리기 위한 신호를 출력할 수도 있다. 상기 비디오 신호나 오디오 신호는 디스플레이부(151)나 음성 출력 모듈(152)을 통해서도 출력될 수 있어서, 그들(151,152)은 알람부(153)의 일부로 분류될 수도 있다.
햅틱 모듈(haptic module)(154)은 사용자가 느낄 수 있는 다양한 촉각 효과를 발생시킨다. 햅틱 모듈(154)이 발생시키는 촉각 효과의 대표적인 예로는 진동이 있다. 햅택 모듈(154)이 발생하는 진동의 세기와 패턴 등은 제어가능하다. 예를 들어, 서로 다른 진동을 합성하여 출력하거나 순차적으로 출력할 수도 있다.
햅틱 모듈(154)은, 진동 외에도, 접촉 피부면에 대해 수직 운동하는 핀 배열, 분사구나 흡입구를 통한 공기의 분사력이나 흡입력, 피부 표면에 대한 스침, 전극(eletrode)의 접촉, 정전기력 등의 자극에 의한 효과와, 흡열이나 발열 가능한 소자를 이용한 냉온감 재현에 의한 효과 등 다양한 촉각 효과를 발생시킬 수 있다.
햅틱 모듈(154)은 직접적인 접촉을 통해 촉각 효과의 전달할 수 있을 뿐만 아니라, 사용자가 손가락이나 팔 등의 근 감각을 통해 촉각 효과를 느낄 수 있도록 구현할 수도 있다. 햅틱 모듈(154)은 휴대 단말기(100)의 구성 태양에 따라 2개 이상이 구비될 수 있다.
프로젝터 모듈(155)은, 이동 단말기(100)를 이용하여 이미지 프로젝트(project) 기능을 수행하기 위한 구성요소로서, 제어부(180)의 제어 신호에 따라 디스플레이부(151)상에 디스플레이되는 영상과 동일하거나 적어도 일부가 다른 영상을 외부 스크린 또는 벽에 디스플레이할 수 있다.
구체적으로, 프로젝터 모듈(155)은, 영상을 외부로 출력하기 위한 빛(일 예로서, 레이저 광)을 발생시키는 광원(미도시), 광원에 의해 발생한 빛을 이용하여 외부로 출력할 영상을 생성하기 위한 영상 생성 수단 (미도시), 및 영상을 일정 초점 거리에서 외부로 확대 출력하기 위한 렌즈(미도시)를 포함할 수 있다. 또한, 프로젝터 모듈(155)은, 렌즈 또는 모듈 전체를 기계적으로 움직여 영상 투사 방향을 조절할 수 있는 장치(미도시)를 포함할 수 있다.
프로젝터 모듈(155)은 디스플레이 수단의 소자 종류에 따라 CRT(Cathode Ray Tube) 모듈, LCD(Liquid Crystal Display) 모듈 및 DLP(Digital Light Processing) 모듈 등으로 나뉠 수 있다. 특히, DLP 모듈은, 광원에서 발생한 빛이 DMD(Digital Micromirror Device) 칩에 반사됨으로써 생성된 영상을 확대 투사하는 방식으로 프로젝터 모듈(151)의 소형화에 유리할 수 있다.
바람직하게, 프로젝터 모듈(155)은, 이동 단말기(100)의 측면, 정면 또는 배면에 길이 방향으로 구비될 수 있다. 물론, 프로젝터 모듈(155)은, 필요에 따라 이동 단말기(100)의 어느 위치에라도 구비될 수 있음은 당연하다.
메모리부(160)는 제어부(180)의 처리 및 제어를 위한 프로그램이 저장될 수도 있고, 입/출력되는 데이터들(예를 들어, 전화번호, 메시지, 오디오, 정지영상, 동영상 등)의 임시 저장을 위한 기능을 수행할 수도 있다. 상기 메모리부(160)에는 상기 데이터들 각각에 대한 사용 빈도(예를 들면, 각 전화번호, 각 메시지, 각 멀티미디어에 대한 사용빈도)도 함께 저장될 수 있다. 또한, 상기 메모리부(160)에는 상기 터치스크린 상의 터치 입력시 출력되는 다양한 패턴의 진동 및 음향에 관한 데이터를 저장할 수 있다.
메모리(160)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 이동 단말기(100)는 인터넷(internet)상에서 상기 메모리(160)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다.
인터페이스부(170)는 이동 단말기(100)에 연결되는 모든 외부기기와의 통로 역할을 한다. 인터페이스부(170)는 외부 기기로부터 데이터를 전송받거나, 전원을 공급받아 이동 단말기(100) 내부의 각 구성 요소에 전달하거나, 이동 단말기(100) 내부의 데이터가 외부 기기로 전송되도록 한다. 예를 들어, 유/무선 헤드셋 포트, 외부 충전기 포트, 유/무선 데이터 포트, 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트, 오디오 I/O(Input/Output) 포트, 비디오 I/O(Input/Output) 포트, 이어폰 포트 등이 인터페이스부(170)에 포함될 수 있다.
식별 모듈은 이동 단말기(100)의 사용 권한을 인증하기 위한 각종 정보를 저장한 칩으로서, 사용자 인증 모듈(User Identify Module, UIM), 가입자 인증 모듈(Subscriber Identify Module, SIM), 범용 사용자 인증 모듈(Universal Subscriber Identity Module, USIM) 등을 포함할 수 있다. 식별 모듈이 구비된 장치(이하 '식별 장치')는, 스마트 카드(smart card) 형식으로 제작될 수 있다. 따라서 식별 장치는 포트를 통하여 단말기(100)와 연결될 수 있다.
상기 인터페이스부는 이동단말기(100)가 외부 크래들(cradle)과 연결될 때 상기 크래들로부터의 전원이 상기 이동단말기(100)에 공급되는 통로가 되거나, 사용자에 의해 상기 크래들에서 입력되는 각종 명령 신호가 상기 이동단말기로 전달되는 통로가 될 수 있다. 상기 크래들로부터 입력되는 각종 명령 신호 또는 상기 전원은 상기 이동단말기가 상기 크래들에 정확히 장착되었음을 인지하기 위한 신호로 동작될 수도 있다.
제어부(controller, 180)는 통상적으로 이동 단말기(100)의 전반적인 동작을 제어한다. 예를 들어 음성 통화, 데이터 통신, 화상 통화 등을 위한 관련된 제어 및 처리를 수행한다. 제어부(180)는 멀티 미디어 재생을 위한 멀티미디어 모듈(181)을 구비할 수도 있다. 멀티미디어 모듈(181)은 제어부(180) 내에 구현될 수도 있고, 제어부(180)와 별도로 구현될 수도 있다.
상기 제어부(180)는 상기 터치스크린 상에서 행해지는 필기 입력 또는 그림 그리기 입력을 각각 문자 및 이미지로 인식할 수 있는 패턴 인식 처리를 행할 수 있다.
전원 공급부(190)는 제어부(180)의 제어에 의해 외부의 전원, 내부의 전원을 인가받아 각 구성요소들의 동작에 필요한 전원을 공급한다.
여기에 설명되는 다양한 실시예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays, 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시예들이 제어부(180) 자체로 구현될 수 있다.
소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리(160)에 저장되고, 제어부(180)에 의해 실행될 수 있다.
도 2는 본 발명과 관련된 이동 단말기(100) 또는 휴대 단말기의 일 예를 전면에서 바라본 사시도이다.
개시된 휴대 단말기(100)는 바 형태의 단말기 바디를 구비하고 있다. 다만, 본 발명은 여기에 한정되지 않고, 2 이상의 바디들이 상대 이동 가능하게 결합되는 슬라이드 타입, 폴더 타입, 스윙 타입, 스위블 타입 등 다양한 구조에 적용이 가능하다.
바디는 외관을 이루는 케이스(케이싱, 하우징, 커버 등)를 포함한다. 본 실시예에서, 케이스는 프론트 케이스(101)와 리어 케이스(102)로 구분될 수 있다. 프론트 케이스(101)와 리어 케이스(102)의 사이에 형성된 공간에는 각종 전자부품들이 내장된다. 프론트 케이스(101)와 리어 케이스(102) 사이에는 적어도 하나의 중간 케이스가 추가로 배치될 수도 있다.
케이스들은 합성수지를 사출하여 형성되거나 금속 재질, 예를 들어 스테인레스 스틸(STS) 또는 티타늄(Ti) 등과 같은 금속 재질을 갖도록 형성될 수도 있다.
단말기 바디, 주로 프론트 케이스(101)에는 디스플레이부(151), 음향출력부(152), 카메라(121), 사용자 입력부(130/131,132), 마이크(122), 인터페이스(170) 등이 배치될 수 있다.
디스플레이부(151)는 프론트 케이스(101)의 주면의 대부분을 차지한다. 디스플레이부(151)의 양단부 중 일 단부에 인접한 영역에는 음향출력부(151)와 카메라(121)가 배치되고, 다른 단부에 인접한 영역에는 사용자 입력부(131)와 마이크(122)가 배치된다. 사용자 입력부(132)와 인터페이스(170) 등은 프론트 케이스(101) 및 리어 케이스(102)의 측면들에 배치될 수 있다.
사용자 입력부(130)는 휴대 단말기(100)의 동작을 제어하기 위한 명령을 입력받기 위해 조작되는 것으로서, 복수의 조작 유닛들(131,132)을 포함할 수 있다. 조작 유닛들(131,132)은 조작부(manipulating portion)로도 통칭 될 수 있으며, 사용자가 촉각 적인 느낌을 가면서 조작하게 되는 방식(tactile manner)이라면 어떤 방식이든 채용될 수 있다.
제1 또는 제2조작 유닛들(131, 132)에 의하여 입력되는 내용은 다양하게 설정될 수 있다. 예를 들어, 제1 조작 유닛(131)은 시작, 종료, 스크롤 등과 같은 명령을 입력받고, 제2 조작 유닛(132)은 음향출력부(152)에서 출력되는 음향의 크기 조절 또는 디스플레이부(151)의 터치 인식 모드로의 전환 등과 같은 명령을 입력받을 수 있다.
이하, 도 3을 참조하여 디스플레이부(151)와 터치 패드(135)의 서로 연관된 작동 방식에 대하여 살펴본다.
도 3는 본 발명과 관련된 휴대 단말기의 일 작동 상태를 설명하기 위한 휴대 단말기의 정면도이다.
디스플레이부(151)에는 다양한 종류의 시각 정보들이 표시될 수 있다. 이들 정보들은 문자, 숫자, 기호, 그래픽, 또는 아이콘 등의 형태로 표시될 수 있다.
이러한 정보의 입력을 위하여 상기 문자, 숫자, 기호, 그래픽 또는 아이콘 들 중 적어도 하나는 일정한 배열을 이루어 표시됨으로써 키패드의 형태로 구현될 수 있다. 이러한 키패드는 소위 '가상 키패드'(virtual keypad)라 불릴 수 있다.
도 3은 단말기 바디의 전면을 통해 가상 키패드에 가해진 터치를 입력받는 것을 나타내고 있다.
디스플레이부(151)는 전체 영역으로 작동되거나, 복수의 영역들로 나뉘어져 작동될 수 있다. 후자의 경우, 상기 복수의 영역들은 서로 연관되게 작동되도록 구성될 수 있다.
예를 들어, 디스플레이부(151)의 상부와 하부에는 출력창(151a)과 입력창(151b)이 각각 표시된다. 출력창(151a)과 입력창(151b)은 각각 정보의 출력 또는 입력을 위해 할당되는 영역이다. 입력창(151b)에는 전화 번호 등의 입력을 위한 숫자가 표시된 가상 키패드(151c)가 출력된다. 가상 키패드(151c)가 터치되면, 터치된 가상 키패드에 대응되는 숫자 등이 출력창(151a)에 표시된다. 제1조작 유닛(131)이 조작되면 출력창(151a)에 표시된 전화번호에 대한 호 연결이 시도된다.
이상의 실시예들에 개시된 입력 방식뿐만 아니라, 디스플레이부(151) 또는 터치 패드(135)는 스크롤(scroll)에 의해 터치 입력받도록 구성될 수 있다. 사용자는 디스플레이부(151) 또는 터치 패드(135)를 스크롤 함으로써 디스플레이부(151)에 표시된 개체, 예를 들어 아이콘 등에 위치한 커서 또는 포인터를 이동시킬 수 있다. 나아가, 손가락을 디스플레이부(151) 또는 터치 패드(135) 상에서 이동시키는 경우, 손가락이 움직이는 경로가 디스플레이부(151)에 시각적으로 표시될 수도 있다. 이는 디스플레이부(151)에 표시되는 이미지를 편집함에 유용할 것이다.
디스플레이부(151)(터치 스크린) 및 터치 패드(135)가 일정 시간 범위 내에서 함께 터치되는 경우에 대응하여, 단말기의 일 기능이 실행될 수도 있다. 함께 터치되는 경우로는, 사용자가 엄지 및 검지를 이용하여 단말기 바디를 집는(clamping) 경우가 있을 수 있다. 상기 일 기능은, 예를 들어, 디스플레이부(151) 또는 터치 패드(135)에 대한 활성화 또는 비활성화 등이 있을 수 있다.
설명의 편의를 위하여, 이하에서 언급되는 이동 단말기(100)는 도 1에 도시된 구성요소들 중 적어도 하나를 포함한다고 가정한다.
프로세서가 복수의 태스크(task)를 처리하고자 하는 경우, 임의의 순서로 복수의 태스크를 처리하는 것이 아니라 메모리에 저장된 운영체제에서 결정한 스케줄에 따라 상기 복수의 태스크를 처리한다.
대표적으로 운영체제에 포함된 커널(Kernel)은 복수의 태스크의 처리 순서를 결정하는 스케줄링 기능을 제공할 수 있다.
커널은 컴퓨터 운영체제 내에서 가장 중요한 핵심 부분으로, 운영체제의 다른 모든 부분에 여러 가지 기본적인 서비스를 제공한다. 커널은 쉘과 대비될 수 있는데, 쉘은 운영체계의 가장 바깥부분에 위치하고 있으면서, 사용자 명령에 대한 처리를 담당한다.
일반적으로 커널에는 종료된 입출력 연산 등의 커널 서비스를 경쟁적으로 요구하는 모든 요청들을 처리하는 인터럽트 처리기, 어떤 프로그램들이 어떤 순서로 커널의 처리시간을 공유할 것인지를 결정하는 스케줄러, 그리고 스케줄이 끝나면 실제로 각 프로세스들에게 컴퓨터의 사용권을 부여하는 수퍼바이저 등이 포함되어 있다.
또한, 커널은 메모리나 저장장치 내에서 운영체계의 주소공간을 관리하고, 이들을 모든 주변장치들과 커널의 서비스들을 사용하는 다른 사용자들에게 고루 나누어주는 메모리 관리자를 가지고 있다. 커널의 서비스는 운영체계의 다른 부분이나, 흔히 시스템 호출이라고 알려진 일련의 프로그램 인터페이스들을 통해 요청된다.
프로세서가 처리할 복수의 태스크에 대한 스케줄링은 커널에 포함된 스케줄러를 통해 수행된다. 대표적으로 복수의 태스크 각각이 생성된 시점을 기준으로 스케줄러는 복수의 태스크에 대한 처리 순서를 결정하는 스케줄링을 할 수 있다.
최근, 이동 단말기가 활용되는 영역이 넓어지면서 기능 개발과 더불어 이를 지원하기 위한 장기간 유지될 수 있는 배터리(battery)에 대한 필요성이 높아졌다.
하드웨어적인 방법 이외에 배터리의 지속시간을 길게 할 수 있는 소프트웨어적인 방법으로 프로세서의 동작을 위한 클럭 주파수(clock frequency)와 구동 전압(supply voltage)을 성능 저하가 없는 범위 내에서 낮추는 방법이 있다. 이와 관련된 대표적인 예로 DVFS(Dynamic Voltage and Frequency Scaling) 기법을 들 수 있다.
DVFS 기법을 적용하는 경우, 프로세서의 구동을 위한 주파수와 전압을 낮출 수 있어 배터리 이용시간을 연장하는 효과가 있지만 태스크(task)를 처리함에 있어서 성능의 열화를 발생시키지 않는 범위 내에서만 주파수와 전압을 낮출 수 있는 제한이 존재한다.
이때, 이동 단말기의 성능을 결정하는 긴급(Urgent) 태스크를 우선적으로 수행하도록 스케줄링하는 방법이 활용될 수 있다. 전술한 것처럼 복수의 태스크에 대해 처리 순서를 결정하는 스케줄링은 스케줄러를 통해 수행된다.
기존에는 성능을 결정하는 긴급(Urgent) 태스크와 성능과 관련없는 일반 태스크를 구분하지 않고 스케줄러가 복수의 태스크 각각에 대해 생성된 시점을 기준으로 처리 순서를 부여하였다.
이 경우, 성능을 결정하는 긴급(Urgent) 태스크를 먼저 처리하도록 우선 처리 순서를 부여하고 성능과 관련없는 일반 태스크를 하위 처리 순서를 부여하여 스케줄링한다면, 성능의 열화를 발생시키지 않는 범위 내에서 주파수와 전압을 더 낮출 수 있다는 효과가 보장될 수 있다.
즉, 스케줄러가 미리 소정 기준(예를 들면, 각각의 태스크가 생성된 시점 기준 혹은 태스크의 목적 및 행위(Behavior))에 따라 처리 순서를 부여하여 스케줄링 기능을 수행한 이후 복수의 태스크 중 성능을 결정하는 긴급(Urgent) 태스크가 포함되어 있는 것을 확인한 경우, 상기 긴급 태스크에 다시 우선 처리 순서를 부여하여 재스케줄링하는 기능을 제공하면 프로세서에서 사용되는 주파수와 전압을 더 낮출 수 있고, 결과적으로 배터리의 유지 시간을 더 연장시킬 수 있다는 효과가 있다.
단, 스케줄러가 긴급(Urgent) 태스크에 우선 처리 순서를 부여하는 동작을 수행함에 있어, 성능을 결정하는 긴급(Urgent) 태스크와 성능과 관련없는 일반 태스크를 구분하기 어렵다는 문제점이 발생한다.
따라서 본 발명에서는 커널(Kernel) 영역에서 각각의 태스크의 행위(behavior)를 관찰하여, 태스크가 처리되기 위해 사용하는 하드웨어 또는 소프트 웨어 자원(resource)에 따라 긴급(Urgent) 태스크과 일반 태스크를 구분하는 방법이 제공된다.
태스크가 처리되기 위해 사용하는 하드웨어 또는 소프트 웨어 자원(resource)은 서로 다른 타이밍 제한(timing constraint)을 가질 수 있다. 즉, 특정 타이밍에 사용되어야 태스크 수행을 완료할 수 있는 자원, 임의의 타이밍에 사용되면 태스크 수행을 완료할 수 있는 자원, 타이밍과 관련 없이 임의의 기간 동안 기 설정된 비율로 사용되면 태스크 수행을 완료할 수 있는 자원 등을 포함할 수 있다.
그리고 하드웨어 또는 소프트 웨어 자원(resource)에는 이동 단말기에서 사용될 수 있는 다양한 종류의 자원이 포함될 수 있다.
예를 들어, 무선통신 태스크와 관련하여 모뎀은 하드웨어 자원이고 모뎀을 제어하기 위한 드라이버는 소프트웨어 자원에 해당된다. 무선 통신에서 네트워크 또는 원격 장치와 통신을 수행하는 작업의 특성상, 상기 모뎀 및 드라이버는 정확한 시점에 동작해주어야만 태스크 수행이 가능하고, 정확한 시점에 동작하지 않으면 전화 통화 또는 데이터 송수신 등의 원하는 태스크를 수행할 수 없어 성능을 열화를 가져온다. 따라서 하드웨어 자원인 모뎀 및 스프트웨어 자원인 드라이버를 이용하는 무선 통신 태스크는 긴급 태스크로 분류될 수 있다.
그러므로 본 발명에서는 복수의 태스크를 긴급(Urgent) 태스크과 일반 태스크로 구분하고, 또한 태스크의 목적 및 행위에 따라 둘 이상의 종류 및 그룹으로 달리하여 구분하고, 스케줄러가 소정 기준에 따라 복수의 태스크(task) 각각에 대한 처리 순서를 결정하는 스케줄링 기능을 수행한 후 스케줄링 된 복수의 태스크 중 긴급 태스크가 포함된 경우, 긴급 태스크가 우선 처리되도록 처리 순서를 변경하는 재스케줄링 기능을 제공한다.
도 4를 참조하여 재스케줄링에 따른 태스크 처리 방법을 설명한다.
도 4는 본 발명과 관련된 일 실시예에 따라 성능에 영향을 미치는 태스크를 우선 수행하도록 태스크 처리 순서를 결정하는 일례를 나타내는 도면이다.
도 4에서는 긴급 태스크(410)의 처리기한(task's deadline)은 411이고, 일반 태스크(420)의 처리기한은 412인 것으로 가정한다.
먼저, 도 4a는 복수의 태스크를 긴급 태스크와 일반 태스크로 구분하지 않고 태스크가 생성된 시점을 기준으로 처리 순서가 부여된 스케줄링에 따라 각각의 태스크를 처리하는 일례를 나타낸다.
도 4a에서는 일반 태스크(420)가 먼저 처리되도록 처리 순서가 부여되고, 이후 긴급 태스크(410)가 처리되도록 처리 순서가 부여되었다. 따라서 긴급 태스크(410)가 존재함에도 불구하고 일반 태스크(420)부터 처리하고 이후 긴급 태스크(420)를 처리해야하므로, 짧은 시간 내에 높은 전력이 요구된다. 이때, 시간은 주파수와 반비례하는 관계이고, 전력은 전압과 비례하는 관계이므로 결과적으로 프로세서를 구동하기 위해 높은 주파수와 높은 전압이 요구되는 것이다.
이에 반하여, 도 4b를 참조하면, 긴급 태크스(410)에 우선 처리 순서가 부여되고, 이후 일반 태스크에 처리 순서가 부여되는 스케줄링이 이루어짐으로써 411까지 긴급 태스크를 처리하고, 412까지 일반 태스크(420)를 처리할 수 있다.
이때, 긴 시간 내에 낮은 전력으로 태스크를 처리할 수 있으므로, 결과적으로 낮은 주파수와 낮은 전압으로 프로세서를 구동할 수 있으므로 배터리 소모를 절감할 수 있는 효과가 보장된다.
이하에서는 도 5를 참조하여 본 발명의 구체적인 내용에 대해 설명한다.
도 5는 본 발명과 관련하여 기설정된 기준을 만족하면 복수의 태스크에 변경된 처리 순서를 부여하는 스케줄링 기능을 제공하는 일례를 나타내는 순서도이다.
먼저, 도 5를 참조하면, 운영체제에 포함된 스케줄러가 소정 기준에 따라 복수의 태스크(task) 각각에 대한 처리 순서를 결정하는 스케줄링 기능을 수행할 수 있다(S510).
스케줄러가 각각의 태스크에 대한 처리 순서를 결정하는 소정 기준은 대표적으로 복수의 태스크가 생성된 시점이 될 수 있다. 단, 이는 단순히 예시적인 것으로 다른 기준에 의해 태스크의 처리 순서가 결정될 수도 있다. 이하에서는 설명의 편의를 위해 상기 소정 기준을 제 1 기준이라고 칭하고, 상기 제 1 기준에 따른 스케줄링을 제 1 스케줄링이라고 칭한다.
다음으로, 제 1 스케줄링 된 복수의 태스크(task) 중 적어도 하나의 태스크가 긴급 태스크로 판단될 수 있다(S520). 그리고 긴급 태스크로 판단된 태스크가 존재하는 경우, 스케줄러는 상기 태스크를 우선 처리하도록 제 1 스케줄링 된 처리 순서를 변경하는 새로운 스케줄링 기능을 수행한다(S530).
전술한 것처럼 본 발명에서는 커널(Kernel) 영역에서 각각의 태스크의 행위(behavior)를 관찰하여, 태스크가 처리되기 위해 사용하는 하드웨어 또는 소프트 웨어 자원(resource)에 따라 긴급(Urgent) 태스크과 일반 태스크를 또는 기 정의된 둘 이상의 복수의 종류 및 그룹으로 세분화하여 구분한다.
태스크를 처리하기 위해 사용하는 하드웨어 또는 소프트 웨어 자원(resource)은 서로 다른 타이밍 제한(timing constraint)을 가질 수 있고, 상기 타이밍 제한에 따라 자원은 특정 타이밍에 사용되어야 태스크 수행을 완료할 수 있는 자원, 임의의 타이밍에 사용되면 태스크 수행을 완료할 수 있는 자원, 타이밍과 관련 없이 임의의 기간 동안 기 설정된 비율로 사용되면 태스크 수행을 완료할 수 있는 자원 등으로 나눠질 수 있다.
이때, 태스크가 처리되기 위해 사용하는 하드웨어 또는 소프트 웨어 자원(resource)을 기준으로 긴급(Urgent) 태스크과 일반 태스크가 구분된다.
예를 들어, 특정 타이밍에 사용되어야 태스크 수행을 완료할 수 있는 자원은 단말기의 성능의 열화를 유발시킬 수 있으므로 상기 특정 타이밍에 사용되어야 태스크 수행을 완료할 수 있는 자원을 사용하는 태스크는 긴급 태스크로 판단될 수 있다. 또는, 임의의 타이밍에 사용되면 태스크 수행을 완료할 수 있는 자원 및 타이밍과 관련 없이 임의의 기간 동안 기 설정된 비율로 사용되면 태스크 수행을 완료할 수 있는 자원을 태스크가 사용하는지 여부를 기준으로 긴급 태스크인지 여부를 판단할 수도 있다.
이하에서는 제 1 기준 및 제 1 스케줄링과의 구별을 위해, 상기 긴급 태스크와 일반 태스크를 구분하기 위한 기준을 제 2 기준이라고 칭하고, 제 2 기준에 따른 새로운 스케줄링을 제 2 스케줄링이라고 칭한다.
이후, 프로세서는 제 2 스케줄링된 처리 순서를 기초로 복수의 태스크를 각각 처리한다(S540).
따라서 제 2 스케줄링 된 복수의 태스크의 처리 순서를 기초로 프로세서를 동작하기 위한 주파수 및 전압을 결정할 수 있으므로 최소의 주파수 및 전압을 이용할 수 있다. 즉, 성능의 열화를 가져오지 않으면서 최소의 주파수 및 전압을 이용하여 프로세서를 구동시킬 수 있으므로, 장기간 배터리를 사용할 수 있는 효과가 보장된다.
본 발명의 효과를 도 6을 참조하여 구체적으로 설명한다.
도 6은 본 발명과 관련하여 성능에 영향을 미치는 태스크를 우선 수행하도록 태스크 처리 순서를 결정한 효과의 일례를 나타내는 도면이다.
도 6에서는 긴급 태스크와 일반 태스크 각각의 워크로드 값은 10인 것으로 가정한다.
먼저, 도 6a를 참조하면, 긴급 태스크(610)의 워크로드와 이를 처리하기 위한 프로세서의 속도가 표시되어 있다. 이때, 본 발명에 따른 효과를 비교하기 위해 최소가능속도인 MFS(Minimum Fesible Speed) 개념을 적용할 수 있다.
MFS는 주어진 워크로드를 처리기한(task's deadline) 내에 완료할 수 있는 프로세서의 속도 중 최소값을 의미한다. 이때, 복수의 태스크가 존재하는 경우, 다른 태스크까지 고려하여 구해진 MFS 값을 CMFS(Compound Minimum Fesible Speed)라 칭할 수 있다.
도 6a에서는 단수의 긴급 태스크(610)만이 존재하고 긴급 태스크(610)의 워크로드는 10이며 긴급 태스크(610)의 처리기한(611)은 20이므로, MFS는 10/20=0.5가 된다.
다음으로, 도 6b를 참조하면, 일반 태스크(620)와 긴급 태스크(610)가 혼합되어 있는 형태의 스케줄링을 나타낸다. 도 6b에서는 일반 태스크가 긴급 태스크보다 우선적으로 처리하도록 처리 순서가 부여되어 있다.
이때, 일반 태스크(620)의 처리기한(621)은 40이지만 처리순서를 고려할 때, 긴급 태스크(610)를 처리하기 위해서는 일반 태스크(620)를 먼저 처리해야 하므로 결국 긴급 태스크(610)의 처리 기간(611)인 20 이내에 일반 태스크(620) 및 긴급 태스크(610)가 모두 처리되어야 한다.
따라서 CMFS를 구해보면 전체 워크로드는 20이고, 전체 처리기한은 결국 긴급 태스크(610)의 처리기한인 20이되므로 , 20/20 = 1이 된다.
이때, 스케줄러가 도 6b에서 긴급 태스크(610)을 우선 처리하도록 처리 순서를 새롭게 부여하여 스케줄링한 경우, 도 6c와 같이 나타날 수 있다.
이 경우, 긴급 태스크(610)는 긴급 태스크(610)의 처리기한(611)인 20까지만 처리되면 작업이 수행될 수 있고, 일반 태스크(620)은 일반 태스크(620)의 처리기한(621)인 40까지만 처리되면 전체 태스크가 처리될 수 있다.
따라서 전체 워크로드는 도 6b와 같이 20이 되나 전체 처리기한은 결국 일반 태스크(620)의 처리기한(621)인 40이 되므로, CMFS는 20/40=0.5 가 된다. 도 6c에서의 CMFS는 이상적인 CMFS의 값인 ICMFS(Ideal CMFS)가 되고, 도 6b와 비교할 때, 사용하는 프로세서의 속도를 1에서 0.5로 줄일 수 있으므로, 소모되는 동작 전류를 감소시킴으로써 배터리의 유지 기간을 연장할 수 있는 효과가 있다.
한편, 본 발명의 일 실시예에 따르면 복수의 태스크는 각각의 태스크를 수행하기 위해 사용하는 자원에 따라 서로 다른 처리 순서를 갖도록 복수의 그룹으로 분류될 수 있고, 스케줄러는 각각의 태스크가 상기 분류된 복수의 그룹 중 어느 그룹에 속하는지 판단하여, 속하는 그룹에 부여된 처리 순서에 따라 각각의 태스크의 처리 순서를 변경하도록 제 2 스케줄링 기능을 제공할 수 있다.
즉, 태스크 단위로 처리 순서를 부여하는 방법이 아닌 그룹별로 처리 순서를 부여하고, 각 태스크가 어떤 그룹에 속하는지 판단하여, 속하는 그룹에 부여된 처리 순서를 각 태스크에 부여하는 스케줄링 방법이 적용될 수 있다.
대표적으로 복수의 그룹을 구분할 수 있는 기준은 각각의 태스크가 사용하는 자원의 종류 및 자원의 사용 비율 중 적어도 하나를 이용할 수 있다.
예를 들어, 복수의 그룹은 최우선 처리 순서를 갖는 제 1 그룹, 제 1 그룹 다음의 처리 순서를 갖는 제 2 그룹, 제 2 그룹 다음의 처리 순서를 갖는 제 3 그룹 및 제 3 그룹 다음의 처리 순서를 갖는 제 4그룹으로 분류될 수 있다.
이때, 제 1 그룹은 특정 타이밍에 사용되어야 태스크 수행을 완료할 수 있는 자원을 사용하는 복수의 태스크를 포함하는 그룹인 HRT(Hard Real-time Task)이고, 제 2 그룹은 임의의 타이밍에 사용되면 태스크 수행을 완료할 수 있는 자원을 사용하는 복수의 태스크를 포함하는 그룹인 DBSRT(Deadline Based Soft Real-time Task)이며, 제 3 그룹은 타이밍과 관련 없이 임의의 기간 동안 기 설정된 비율로 사용되면 태스크 수행을 완료할 수 있는 자원을 사용하는 복수의 태스크를 포함하는 그룹인 RBSRT(Rate Based Soft Real-time Task)이고, 제 4 그룹은 분류된 복수의 그룹 중 제 1 그룹, 제 2 그룹 및 제 3 그룹에 포함된 태스크를 제외한 복수의 태스크를 포함하는 그룹이 될 수 있다.
이에 대해, 도 7을 참조하여 좀 더 구체적으로 설명한다.
도 7은 본 발명과 일 실시예와 관련하여 복수의 태스크를 사용하는 자원에 따라 서로 다른 처리순서를 갖는 복수의 그룹으로 분류하는 일례를 나타내는 도면이다.
도 7에서는 복수의 그룹으로 HRT 그룹(710), DBSRT 그룹(720), RBSRT 그룹(730), 및 NRT 그룹(740)을 나타내고 있다.
HRT 그룹(710)은 특정 타이밍에 사용되어야 태스크 수행을 완료할 수 있는 자원을 사용하는 복수의 태스크를 포함하는 그룹을 말한다.
예를 들어 무선 통신 태스크는 무선 통신을 수행하는 하드웨어 자원인 모뎀 및 모뎀을 제어하기 위해 소프트웨어 자원인 드라이버를 사용한다.
이때, 무선 통신 태스크의 네트워크 또는 원격 장치와 통신하는 특성상, 정확한 시점에 상기 모뎀 및 드라이버 자원이 동작해 주지 않으면 전화 통화 또는 데이터 송수신 등의 원하는 작업은 실패하게 된다.
여기서 말하는 실패는 태스크를 아예 처음부터 다시 해야하는 것을 말하므로 이전의 태스크 처리와 관련된 단말의 동작은 전혀 의미가 없는 동작이 된다. 따라서 특정 타이밍에 사용되어야 태스크 수행을 완료할 수 있는 자원의 중요도는 매우 높으므로 이러한 자원을 사용하는 태스크는 최우선 처리 순서를 갖는 HRT 그룹으로 분류될 수 있다.
즉, 네트워크의 모뎀이 호신호를 수신하면, 모뎀의 드라이버가 호 신호를 받아 데몬(Daemon)에 전달하고, 데몬(Daemon)이 전화 통화와 관련된 해당 어플리케이션에 신호를 전달하게 되는데, 이러한 태스크를 처리하기 위해서는 HRT 그룹에 적용되는 자원인 모뎀 및 드라이버 자원을 사용해야 하므로 상기 태스크는 HRT 그룹으로 분류될 것이다.
HRT 그룹에 적용되는 또 다른 자원의 대표적인 예로 블루투스 또는 Wi-Fi 등의 자원을 들 수 있다.
다음으로, DBSRT 그룹(720)은 임의의 타이밍에 사용되면 태스크 수행을 완료할 수 있는 자원을 사용하는 복수의 태스크를 포함하는 그룹을 말한다.
예를 들어, 동영상의 재생, 동영상의 촬영, 사진 촬영, 음악 재생, 음악 녹음 및 사용자의 touch에 대한 응답 등은 사용자의 인지력에서 비롯되는 타이밍 제한(timing constraint)이 존재하지만 상기 타이밍 제한 소프트 타이밍 제한(soft timing constraint)이므로 처리가 좀 늦어도 data가 삭제되지는 않는다. 따라서 임의의 타이밍에 사용되면 태스크 수행을 완료할 수 있는 자원을 사용하는 태스크는 HRT 그룹 다음의 처리 순서를 갖는 DBSRT 그룹으로 분류될 수 있다.
즉, 동영상 재생 태스크와 관련하여 sd-card 장치는 하드웨어 자원이고, sdcard driver가 소프트웨어 자원이며, media server가 daemon이 된다.
media server가 동영상 player에 동영상 data를 제공하면 동영상 player는 이를 decoding하고, 화면은 system server의 surface flinger를 통해 frame buffer (즉, graphic memory)에 해당 데이터를 뿌려주고, 소리는 media server의 audio flinger를 통해 audio server에 보내 스피커로 뿌려준다. 이러한 동영상 재생 태스크에 이용되는 자원은 임의의 타이밍에 사용되면 태스크 수행을 완료할 수 있는 자원에 해당되므로 상기 태스크는 DBSRT 그룹으로 분류될 것이다.
다음으로, RBSRT 그룹(730)은 타이밍과 관련 없이 임의의 기간 동안 기 설정된 비율로 사용되면 태스크 수행을 완료할 수 있는 자원을 사용하는 복수의 태스크를 포함하는 그룹이다.
예를 들어, kernel task와 daemon task는 system memory, CPU 또는 bus 등 하드웨어 자원과 관련될 수도 있고, 관련이 없을 수도 있는데, 이러한 자원은 정해진 speed로 동작할 뿐 특정한 타이밍 제한(timing constraint)을 가지지 않고, 설사 가진다고 해도 제어 대상이 되지 않는다. 다만, 임의의 기간 동안 일정 비율로 사용되면 태스크 수행을 완료할 수 있고 이러한 자원을 사용하는 태스크는 RBSRT 그룹으로 분류될 수 있다.
예를 들어 어플리케이션이 작동중 동작이 종료되면 남겨진 memory를 주워 모아 다시 다른 어플리케이션이 쓸 수 있게 해 주는 메모리 스와핑(memory swapping)과 같은 일을 하는 커널 뜨레드(kernel thread)인 kswapd는 일정 간격인 15초당 1회씩 상기 동작을 수행하므로 상기 태스크는 RBSRT 그룹으로 분류될 것이다.
마지막으로 HRT, DBSRT 및 RBSRT에 속하지 않는 태스크들은 NRT 그룹(740)으로 분류될 수 있을 것이다.
또한, 각각의 태스크는 항상 특정 그룹으로 고정되어 분류되는 것이 아니라 상기 소정 태스크가 처리되기 위해 적용되는 자원의 사용 시점에 따라 HRT, DBSRT, RBSRT, 및 NRT으로 유동적으로 분류되는 것도 가능하다.
단, 전술한 HRT, DBSRT, RBSRT 및 NRT는 단순한 예시에 불과하고, 각각의 태스크가 사용하는 자원의 종류 및 자원의 사용 비율에 따라 다른 방식의 그룹으로 분류될 수도 있다.
따라서 본 발명은 복수의 태스크를 각각 복수의 그룹으로 분류하여 태스크가 속한 그룹에 부여된 처리 순서에 따라 각 태스크의 처리 순서를 변경하는 제 2 스케줄링 기능을 제공할 수 있다.
이에 따라 성능에 영향을 미치는 태스크 그룹에 포함된 태스크들을 우선적으로 처리하도록 스케줄링하는 것이 가능하므로, 프로세서의 구동 전압 및 주파수를 최소로 줄일 수 있어 배터리의 유지 시간을 최대로 연장할 수 있다는 장점이 있다.
한편, 본 발명의 일 실시예에 의하면, 전술한 방법은, 프로그램이 기록된 매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
상기와 같이 설명된 입체 영상을 표시할 수 있는 디스플레이부를 구비한 이동 단말기는 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.

Claims (15)

  1. 제1 기준에 따라 둘 이상의 태스크들의 제1 처리 순서를 판단하기 위해 상기 태스크들에 대해 제1 스케줄링 기능을 수행하고, 상기 태스크들 중 제1 태스크가 제2 기준을 만족하는지 판단한 후에 제2 기준에 따라 상기 태스크들의 제2 처리 순서를 판단하기 위해 상기 태스크들에 대해 제2 스케줄링 기능을 수행하고, 상기 태스크들 중에서 상기 제2 기준을 만족하는 상기 제1 태스크가 우선적으로 처리되도록 상기 제1 처리 순서를 상기 제2 처리 순서로 변경하여 상기 제2 스케줄링 기능을 수행하는 스케줄러를 구비한 운영체제를 저장한 메모리; 및
    상기 제1 및 제2 처리 순서에 따라 상기 운영체제와 관련된 동작을 수행하고, 상기 태스크들을 처리하는 프로세서를 포함하고,
    상기 태스크들은, 최우선 처리 순서를 갖는 제 1 그룹과, 상기 제 1 그룹 다음의 처리 순서를 갖는 제 2 그룹, 상기 제 2 그룹 다음의 처리 순서를 갖는 제 3 그룹 및 상기 제 3 그룹 다음의 처리 순서를 갖는 제 4그룹을 포함한 둘 이상의 그룹들로 분류되고,
    상기 제 1 그룹은 특정 타이밍에 사용되어야 태스크 수행을 완료할 수 있는 자원을 사용하는 둘이상의 태스크들을 포함하고,
    상기 제 2 그룹은 임의의 타이밍에 사용되면 태스크 수행을 완료할 수 있는 자원을 사용하는 둘 이상의 태스크들을 포함하고,
    상기 제 3 그룹은 타이밍과 관련 없이 임의의 기간 동안 기 설정된 비율로 사용되면 태스크 수행을 완료할 수 있는 자원을 사용하는 둘 이상의 태스크들을 포함하며,
    상기 제 4 그룹은 상기 분류된 복수의 그룹 중 제 1 그룹, 제 2 그룹 및 제 3 그룹에 포함된 태스크를 제외한 둘 이상의 태스크들을 포함하는, 이동 단말기.
  2. 제 1항에 있어서,
    상기 제 2 스케줄링 된 복수의 태스크의 처리 순서를 기초로 상기 프로세서를 동작하기 위한 주파수 및 전압을 결정하는, 이동 단말기.
  3. 제 1항에 있어서,
    상기 제 1 기준은 상기 태스크들이 생성된 시점을 포함하는, 이동 단말기.
  4. 제 1항에 있어서,
    상기 제 2 기준은 서로 다른 태스크 타이밍 제한(timing constraint)을 갖는 둘 이상의 자원들 중 특정 타이밍에 사용되어야 태스크 수행을 완료할 수 있는 자원을 상기 제 1 태스크가 사용하는지 여부인 것을 특징으로 하는, 이동 단말기.
  5. 제 1항에 있어서,
    상기 태스크들은 각각의 태스크를 수행하기 위해 사용하는 자원(resource)의 종류 및 상기 자원의 사용 비율 중 적어도 어느 하나에 따라 서로 다른 처리 순서를 갖도록 복수의 그룹으로 분류되고,
    상기 스케줄러는 상기 제 1 스케줄링 된 태스크들 각각이 상기 분류된 그룹들 중 어느 하나의 그룹에 속하는지 판단하고, 상기 속하는 그룹에 부여된 처리 순서에 따라 각각의 태스크의 처리 순서를 변경하도록 상기 제 2 스케줄링 기능을 수행하는, 이동 단말기.
  6. 제 1항에 있어서,
    디스플레이부를 더 포함하고,
    상기 프로세서는 상기 제 2 기준을 수정할 수 있는 메뉴를 상기 디스플레이부의 특정 영역에 표시하도록 제어하는, 이동 단말기.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020110051454A 2011-05-30 2011-05-30 이동 단말기 및 그 제어방법 KR101764632B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020110051454A KR101764632B1 (ko) 2011-05-30 2011-05-30 이동 단말기 및 그 제어방법
US13/244,096 US8650577B2 (en) 2011-05-30 2011-09-23 Mobile terminal and controlling method thereof
EP12000503.8A EP2530592B1 (en) 2011-05-30 2012-01-26 Mobile terminal and task scheduling method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110051454A KR101764632B1 (ko) 2011-05-30 2011-05-30 이동 단말기 및 그 제어방법

Publications (2)

Publication Number Publication Date
KR20120133005A KR20120133005A (ko) 2012-12-10
KR101764632B1 true KR101764632B1 (ko) 2017-08-14

Family

ID=47516445

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110051454A KR101764632B1 (ko) 2011-05-30 2011-05-30 이동 단말기 및 그 제어방법

Country Status (1)

Country Link
KR (1) KR101764632B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080311929A1 (en) 2004-09-27 2008-12-18 International Business Machines Corporation Scheduling tasks dynamically depending on the location of a mobile user
US20090217273A1 (en) 2008-02-26 2009-08-27 Microsoft Corporation Controlling interference in shared memory systems using parallelism-aware batch scheduling

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080311929A1 (en) 2004-09-27 2008-12-18 International Business Machines Corporation Scheduling tasks dynamically depending on the location of a mobile user
US20090217273A1 (en) 2008-02-26 2009-08-27 Microsoft Corporation Controlling interference in shared memory systems using parallelism-aware batch scheduling

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Padmanabhabn Pillai 외 1명. 'Real-Time Dynamic Voltage Scaling for Low-Power Embedded Operating Systems'. Proceedings of the 8th ACM Symposium on Operating Systems Principles, 2001.12., pp.89-102.
Van R. Culver 외 1명. 'A Dynamic Voltage Scaling Algorithm for Energy Reduction in Hard Real-Time Systems'. Proceedings of the ASP-DAC 2005, 2005.01, pp.842-845.
Wanghong Yuan 외 1명. 'Energy-Efficient Soft Real-Time CPU Scheduling for Mobile Multimedia Systems'. Proceedings of 9th ACM Symposium on Operating Systems Principles, 2003.10., pp.149-163.

Also Published As

Publication number Publication date
KR20120133005A (ko) 2012-12-10

Similar Documents

Publication Publication Date Title
KR101919788B1 (ko) 이동 단말기 및 그 제어방법
KR101952682B1 (ko) 이동 단말기 및 그 제어방법
US8650577B2 (en) Mobile terminal and controlling method thereof
KR101691823B1 (ko) 이동 단말기 및 이것의 디스플레이 제어 방법
KR101695810B1 (ko) 이동 단말기 및 그 제어방법
KR101772453B1 (ko) 이동 단말기 및 그 제어방법
KR101660737B1 (ko) 이동 단말기 및 그 제어방법
KR20140038105A (ko) 휴대 단말기 및 그 제어 방법
KR20110113844A (ko) 이동 단말기 및 그 제어방법
KR20120020853A (ko) 이동 단말기 및 그 제어방법
KR101842198B1 (ko) 이동 단말기 및 그 제어방법
KR20130116976A (ko) 이동 단말기 및 그 제어방법
KR101958781B1 (ko) 휴대 단말기 및 그 제어 방법
KR20130100448A (ko) 이동 단말기 및 그 제어방법
KR101700192B1 (ko) 이동 단말기 및 그 제어방법
KR101819504B1 (ko) 이동 단말기 및 그 제어방법
KR101764632B1 (ko) 이동 단말기 및 그 제어방법
KR20140104316A (ko) 휴대 단말기 및 그 제어 방법
KR101381307B1 (ko) 이동 단말기 및 그 제어방법
KR101645491B1 (ko) 이동 단말기 및 이것의 통화 제어 방법
KR20150008951A (ko) 휴대 단말기 및 그 제어 방법
KR20140008061A (ko) 휴대 단말기 및 그 제어 방법
KR20140118061A (ko) 휴대 단말기 및 그 제어 방법
KR101809947B1 (ko) 이동 단말기 및 그 제어방법
KR20130141844A (ko) 휴대 단말기 및 그 제어 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right