프로세스와 IPC

2021. 2. 23. 00:15Computer(인강)/운영체제

728x90
반응형

안녕하세요 bannavi 입니다^ㅅ^

지난 시간에 이어서

다양한 IPC의 종류에 대해 알아볼게요!

 

 

먼저 개념을 알아야해요

리눅스 체제의 프로세스 공간에 대해서 살펴볼게요

 

하나의 프로세스는 그림처럼 모두 4G입니다.

 

엇 그렇다면 만약 내 메모리가 16G라면 용량이 너무 적잖아욥!!!!

-> 가상 주소라고 생각하세요 이걸 물리적 주소로 옮기는 과정도 필요한데

이건 또 가상메모리 부분에서 차근차근 다뤄볼게요. 음... 아니면 지금 쪼끔 살펴보면

 

주소 공간은 일부분만 사용하게 되는거구요

이 공간중에 극히 일부분만 메모리에 들어가게 되기 때문에 큰 이슈가 없습니다

 

그리고 커널공간은 공유가 가능해요!

 

 

 

일단은

하나의 프로세스는 그림처럼 모두 4G라는 건데요!

 

3~4G까지는 운영체제 코드가 들어가는 공간이구요0~3G까지의 공간이

우리들이 작성하는 프로그래밍 공간이라고 생각하면 된답니다

 

 

 

자자, 다시 다양한 IPC기법이에요

 

1. file 사용(실시간성이 떨어지고, 저장매체를 다녀오기 때문에 시간이 많이 걸립니다)

2. Message Queue

3. Shared Memory

4. Pipe

5. Signal

6. Semaphore

7. Socket

 

위에서 초록색으로 표시된 부분은 모두 커널공간을 사용한다는것이 핵심이에요!

커널공간은 일종의 물리공간이기 때문에 저장매체보다 시간이 굉장히 짧고 프로세스 공유가 가능하다는 점 또한 중요합니다.

 

 

정리

 

 - 여러 프로세스 동시 실행을 통한 성능 개선, 복잡한 프로그램을 위해 프로세스간 통신 필요(병렬처리)

- 프로세스간 공간이 완전 분리(해커들도 남의 코드를 access할 수 없는 이유)

- 프로세스간 통신을 위한 특별한 기법 필요 (IPC: Inter Process Conmunication)

- 대부분의 IPC 기법은 결국 커널 공간을 활용하는 것임(이유: 커널 공간은 공유하기 때문)

728x90
반응형

'Computer(인강) > 운영체제' 카테고리의 다른 글

참고_IPC 기법2  (0) 2021.02.23
참고_IPC 기법 1  (0) 2021.02.23
프로세스간 커뮤니케이션  (0) 2021.02.23
컨텍스트 스위칭 개념 정리  (0) 2021.02.22
컨텍스트 스위칭  (0) 2021.02.22