주간 베스트 월간 베스트 3개월 베스트 베스트 게시물
연길시 신화서점 조선말 도서

Android IPC(Inter Process Communication)

hmily1129 | 2013.05.20 10:09:31 댓글: 0 조회: 2019 추천: 0
분류웹 프로그래밍 https://life.moyiza.kr/itstudy/1856744

IPC 는 Inter Process Commuication 의 약자로 프로세스

혹은 쓰레드가 데이터를 교환하는 기법 전체를 의미합니다.


프로세스의 데이터를 주고받는다면, 

프로세스의 메모리에 직접 접근하면 되는데 굳이 

IPC 기법이 필요한 이유는 무엇일까요?


다음과 같은 경우를 생각해봅시다.


프로세스1, 프로세스2 라는 두개의 프로세스가 있다고 가정할 때,

프로세스2 가 프로세스1 의 메모리를 직접 접근한다면,

특히 프로세스1의 스택부분을 건드리게 된다면,

경우에 따라서는 시스템의 치명적인 오류가 될 수도있습니다.

따라서 OS의 커널은 일반적으로, 임의의 프로세스가 다른 프로세스의

메모리 주소 공간에 접근 할 수 없도록 조치를 취해 놓았습니다.

이것을 OS의 보호(Protected) 모드라고 합니다.


보호모드에서는 프로세스 마다 메모리가 독립적으로 할당되며,

프로세스끼리 메모리 접근을 할 수가 없습니다.


하지만 경우에 따라서는 프로세스 간 데이터를 공유해야 하는 경우가 있습니다.


예를 들어 LCD에 출력할 문자 메시지를 전달하거나,

혹은 센서로부터 읽은 값을 다른 프로세스에게 전달 하는 등 다양한 상황이 존재합니다.


따라서 프로세스의 주소공간을 보호 하는 동시에, 

프로세스 간 서로 데이터를 주고 받는 기법이 필요해지는데,

이러한 이유로 생기게 된 것이 IPC 기법입니다.


그렇다면 IPC 기법에는 어떠한 것들이 있을까요?

IPC 기법은 OS에 의존적이라고 할 수 있습니다.

그럴수 밖에 없는 것이 IPC 기법은 OS가 보호모드를 선택한 대신

데이터 공유 방법을 제시하는 것이니까요.


다음은 위키에서 참조한 IPC의 종류 입니다.


Method

제공 되는 OS

File

대부분의 OS 시스템

Signal

대부분의 OS 시스템.

몇몇 시스템, 예를 들어 윈도우의 경우 Signal C 런타임 라이브러리로 사용 되지만 IPC 기법으로 제공되지 않음.

Socket

대부분의 OS 시스템

Message

Queue

대부분의 OS 시스템

Pipe

모든 POSIX 시스템, Windows

Named Pipe

모든 POSIX 시스템, Windows

Semaphore

모든 POSIX 시스템, Windows

Shared Memory

모든 POSIX 시스템, Windows

Message Passing

MPI 패러다임이 사용된 시스템, Java RMI, COBRA

Memory mapped file

모든 POXIS 시스템, Windows.

임시 파일을 사용하는 경우 Race Condition 문제를 야기함


위에 표를 보면 POSIX 시스템 이라는 것이 있습니다.


윈도우즈야 항상 주로 사용하므로 알고 있었는데,

POSIX 시스템은 무엇일까요?


POSIX 시스템은 Portable Operating System Interface for UNIX 의 약자입니다.

결국 UNIX 환경 인터페이스를 지원하는 OS 시스템이라는 이야기입니다.


리눅스를 포함하여, 임베디드 시스템에서 사용하는 다양한 OS 들이 

POSIX 시스템으로 되어 있습니다.


이것으로 IPC의 개념정리를 마치고, 

다음 포스팅에서는 IPC 기법 중 Shared Memory 를 포스팅 하겠습니다.

 
추천 (0) 선물 (0명)
IP: ♡.101.♡.52
3,006 개의 글이 있습니다.
제목 글쓴이 날짜 조회
관리자
2003-09-20
11647
관리자
2003-09-20
11199
관리자
2003-09-20
20239
지구인
2010-08-27
19090
지구인
2009-09-07
13382
SOLIDH
2010-01-29
15400
엔죠라이프
2004-10-07
16507
CHOSUN
2014-01-11
2435
CHOSUN
2014-01-07
2593
CHOSUN
2014-01-07
2377
CHOSUN
2014-01-07
2046
CHOSUN
2014-01-07
1787
CHOSUN
2014-01-07
1609
CHOSUN
2014-01-07
1175
즐거운개굴
2013-09-29
3000
hmily1129
2013-09-03
4908
hmily1129
2013-08-29
5360
hmily1129
2013-08-26
4791
hmily1129
2013-08-25
3633
hmily1129
2013-08-24
4161
hmily1129
2013-08-23
4319
hmily1129
2013-08-23
3591
hmily1129
2013-08-22
1885
hmily1129
2013-08-10
1621
hmily1129
2013-08-05
2147
hmily1129
2013-08-05
2088
hmily1129
2013-07-30
1461
CHOSUN
2013-07-23
1940
모이자 모바일