본문 바로가기

.주제별/Mobile

모바일에서의 멀티태스킹, 멀티프로세싱

다른 자료와 마찬가지로, 여기저기 짜집기 한 내용입니다.

 

[궁금한 사항]

요즘 스마트폰들은 멀티프로세서를 탑재하고 있을까?

멀티프로세서를 탑재하면 어떤 좋은 점이 있을까?

멀티프로세싱이 가능하려면, 그 조건은?

[내려가는 썰]

 

참고 : ‘세상, 그 중심의 나’, ‘스마트폰의 멀티태스킹 모델

무선 멀티미디어의 멀티 프로세싱 지원 (TI사)’ , ‘ARM Cortex-A9 MPCore RISC Multiprocessor Spec’

아이폰과 옴니아 2 스펙비교 (app.co.kr)’, ‘옴니아2의 아쉬운 점(틱플)’

애플리케이션 오견에 따른 멀티프로세싱 디자인 티업

휴대폰용 멀티 프로세서 출시 붐’, ‘쓰레드와 프로세스의 차이점…

 

 

1. 멀티프로세싱, 멀티태스킹, 멀티스레딩

>> 멀티태스킹

Task라는 것은 운영체제(OS)가 제어하는 프로그램의 기본 단위를 말한다. (출처 : 텀즈)

하나의 프로그램이 여러 유틸리티 프로그램들에게 요구를 할 수 있기 때문에,

유틸리티 프로그램들을 태스크라고 간주 할 수 있다.

멀티태스킹이란, 정해진 시간동안 이런 Task를 교대로 수행하는 것이라 할 수 있다.

(인터넷을 하면서, 음악을 듣거나 하는 등의 작업)

 

퀄컴에서 제공하는 S/W를 보면,

UI Task,DS Task , FS Task 등의 용어를 사용하는데,

여기서 UI Task라 하면, UI와 관련된 기능들을 수행하는 기본 단위라고 볼 수 있다.

 

>> 멀티스레딩

멀티스레딩이란, 하나의 프로세스(작업)가 병렬처리를 위하여, 작은 프로세스들을 돌리는 것을 의미함

멀티태스킹과 차이점

이 둘의 차이점은, 멀티태스킹은 동시에 여러 개의 프로그램을 실행 (사실상 시간적으로 분할 – 스케쥴링)

멀티스레딩은 하나의 프로그램을 여러 개의 기능으로 나누어 이를 동시에 실행

더욱 간단한 차이는, 멀티태스킹은 OS가 알아서 관리를 함.

멀티스레딩은 프로그램설계시 개발자가 이를 직접 구현해줘야 함.

 

또 다른 차이로,

멀티태스킹의 경우, 각 Task간의 자원이 공유되지 않는다. (멀티태스킹에서는 보통 Context-Switching을 하죠)

멀티쓰레딩의 경우, 각 쓰레드간의 자원이 공유되면, 이는 프로그래밍을 통해 구현이 가능하다.

 

>> 멀티프로세싱

조금 더 HW레벨의 이야기가 되겠는데요.

멀티프로세싱이란, 하나의 프로세서가 아닌 여러 개의 프로세서가 서로 협력하여 일을 처리하는 것을 의미합니다.

하나의 컴퓨터에 여러 개의 프로세서가 있을 수 있고,아니면 여러 컴퓨터에 각각의 프로세서가 있을 수 도 있습니다.

 

 

즉, 한 프로그램이 여러 컴퓨터에 걸쳐서

Feature Phoone의 경우,

Floating Point 연산 프로세서나 다량의 신호처리에 필요한 DSP 등의 프로세서를 추가장착함

 

 

2. 모바일 폰에서 멀티프로세서가 장착이 되나?

   또한, 멀티태스킹이 되나?

(이는 내일 다시 써야겠다)

아이폰의 경우, 멀티태스킹이 안됨

옴니아의 경우, 멀티태스킹이 됨

==> 이는 운영체제 차이라고 할 수 있는데, 뭐가 더 좋다라고는 말 못함^^