반응형
SMALL
=== 멀티프로세싱 ===
- 멀여러개의 프로세스를 통해 동시에 두가지 이상의 일을 수행할수 있는 것을 말한다.
- 특정 프로세스에 문제가 발생하더라도 다른 프로세스를 이용해 처리할수 있는 신뢰성이 높다.
=== 웹 브라우저 ===
- 멀티프로세스 구조를 가지고 있다
- 브라우저 프로세스 : 주소 표시줄 , 북마크 막대, 뒤로가기 버튼, 등 을 담당, 네트워크 요청이나 파일 접근 같은 권한또한 담당
- 렌더러 프로세스 : 웹 사이트에서 시각적인 부분의 모든 것을 제어
- 플러그인 프로세스 : 웹사이트에서 사용하는 플러그인 제어
- GPU 프로세스 : GPU를 이용하여 화면을 그리는 부분으 제어
=== IPC ===
- IPC ( Inter Process Communication) 는 프로세스 끼리 데이터를 주고 받고 공유 데이터를 관리하는 메커니즘 이다.
- 예시로 클라이언트 서버가 있다 ( 데이터 요청 , 응답)
- 종류
- 공유메모리
- 파일
- 소켓
- 익명 파이프
- 명명 파이프
- 메시지 큐
- 하지만 결국 메모리를 완전히 공유하는 스레드보다는 속도가 떨어진다 (어찌보면 당연하다)
=== 공유 메모리 ===
- 공유메모리 (Shared memory) 는 여러 프로세스에 동일한 메모리 블록에 대한 접근 권한이 부여되어 프로세스가 서로 통신할수 있도록 공유 메모리를 생성해서 통신하는 것을 뜻한다.
- 기본적으로는 각 프로세스의 메모리를 다른 프로세스가 접근할수 없다.
- 하지만 오히려 공유메모리 자체를 공유하기 때문에 불필요한 데이터 복사의 오버헤드가 발생하지 않으며 가장 빠른 방법이기도 하다.
- 하드웨어 고나점에서 공유 메모리는 CPU가 접근할수 있는 RAM을 가리키기도 한다.
=== 파일 ===
- 디스크에 저장된 데이터 또는 파일 서버에서 제공한 데이터를 말한다. (이를 기반으로 프로세스간 통신을 한다.)
=== 소켓 ===
- 동일한 컴퓨터의 다른 프로세스나 네트워크의 다른 컴퓨터로 네트워크 인터페이스를 통해 전송하는 데이터를 의미한다 ( TCP와 UDP 가 있다.)
- TCP(Transmission Control Protocol)는 연결 지향적이며 신뢰성이 높은 프로토콜이다
- UDP(User Datagram Protocol)는 비연결성이며 신뢰성이 낮은 프로토콜이다
=== 익명 파이프 ===
- 익명파이프 ( unnamed pipe) 는 프로세스 간의 FIFO 방식으로 읽히는 임시공간인 파이프를 기반으로 데이터를 주고받으며, 단방향 읽기 전용, 쓰기 전용 파이프를 만들어서 작동하는 방식을 말한다.
=== 명명된 파이프 ===
- 명명된 파이프 (named pipe) 파이프 서버와 하나 이상의 파이프 클라이언트 간의 통신을 위한 명명된 단방향 또는 양방향 파이프를 말한다.
- 클라이언트/서버 통신을 위한 별도의 파이프를 제공, 여러파이프에서도 동시사용 가능, 컴퓨터 프로세스 또는 다른 네트워크 상의 컴퓨터와도 통신이 가능
- 보통 서버용 파이프와 클라이언트용 파이프로 구분해서 사용, 하나의 인스턴스 열거나 여러개의 인스턴스를 기반으로 통신
=== 메시지 큐 ===
- Queue 데이터 구조 형태로 관리 하는 것을 의미
- 커널에서 전역으로 관리된다.
- 다른 IPC 방법에 비해 직관적이고 간단하다. (몇줄의 코드 를 추가시켜 간단하게 메시지 큐에 접근 가능)
- 공유메모리를 통해 IPC 구현시 스기 및 일기 빈도가 높을 경우 동기화 때문에 기능 구현이 복잡해 지는데 이럴때 대안으로 많이 사용된다.
반응형
LIST
'CS > CS 정리' 카테고리의 다른 글
| [CS] 데이터베이스 (1) | 2023.04.22 |
|---|---|
| [CS] 멀티 프로세싱 & 멀티 스레딩 간단 정리 . 2 (1) | 2023.04.15 |
| [CS] PCB 간단 정리 (0) | 2023.04.08 |
| [CS] 프로세스 메모리 구조 간단 정리 (0) | 2023.04.06 |
| [CS] 프로세스와 스레드 with 소스코드 파일 처리 과정 (간단 정리) (0) | 2023.04.04 |