IPC의 필요성과 환경

2019. 10. 16. 02:38임베디드/운영체제

일반적으로 프로세스간 접근은 제한되어 있다. 왜냐하면 접근이 가능해서 메모리 영역을 마음대로 침범한다면 문제가 생긴다. 

 

최근에는 CPU 병렬 처리가 가능해지면서, 하나의 프로그램을 여러 프로세스로 나누어서 처리하곤 한다

예를 들어 1에서 10000까지의 수를 더하는 프로그램이라면 약 10개의 프로세스로 나누어서 수행하곤 한다. 마지막에 결과를 합산할 때 결과값을 주고받으려고 할 때 IPC가 필요하게 된다

 

따라서 (응용 프로그램 != 프로세스)라고 말할 수 있다. 응용 프로그램은 프로그램 크기와 그 기능에 따라서 여러 개의 프로세스로 이뤄질 수 있다

 

 

프로세스는 3-4G 영역의 커널 공간을 공유한다. 다양한 IPC 기법은 이 커널 공간을 사용하게 된다. 따라서 파일에 쓰고 읽는 파일 입출력보다 빠르게 데이터를 공유할 수 있다

 

1. shared memory

2. message queue

3. pipe

4. signal

5. semaphore

6. socket 

'임베디드 > 운영체제' 카테고리의 다른 글

프로세스 상태 관계  (0) 2019.10.16
스케쥴링 알고리즘  (0) 2019.10.16
어셈블리어의 단점  (0) 2019.10.16
스택 오버플로우란  (0) 2019.10.16
프로세스 구조와 Heap  (0) 2019.10.16