멀티 프로세스
멀티 프로세스
- 하나의 프로그램을 여러 개의 프로세스로 구성하여 각각의 프로세스가 작업을 처리
- 장점
- 멀티 프로세스는 하나의 프로세스가 죽어도 다른 프로세스에 영향이 가지않음
단 프로세스끼리 통신을 하고있을 때는 영향이 있을 수 있음
- 멀티 프로세스는 하나의 프로세스가 죽어도 다른 프로세스에 영향이 가지않음
- 단점
- Context Switching에서의 큰 오버헤드
프로세스는 각각 독립된 메모리를 가지고 있어 Context Switching이 발생하면
필요한 메모리를 초기화 하는데 비용이 많이 듦 - 프로세스간 통신(IPC)
프로세스간 통신 or 프로세스의 변수 접근이 필요한 경우 별도의 IPC 로직을 선택하여 구현해야 됨
- Context Switching에서의 큰 오버헤드
부모-자식 프로세스 구조
웹 브라우저
탭마다 별도의 자식 프로세스를 실행
[chrome (메인 프로세스)]
├── [탭 프로세스 1]
├── [탭 프로세스 2]
└── [확장 기능 프로세스]
부모-자식 구조의 장점
각각의 프로세스 구조
언리얼 엔진의 서버-클라이언트
- 언리얼 엔진의 데디케이트 서버는 서버에서 실행되는 하나의 프로세스
- 각각의 클라이언트도 유저의 PC에서 실행되는 각각의 프로세스
- 서로다른 프로세스의 통신을 위해 소켓 통신을 사용
References
- https://hyunah-home.tistory.com/entry/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%EA%B4%80%EB%A6%AC-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%EC%83%9D%EC%84%B1%EA%B3%BC-%EC%A2%85%EB%A3%8C-%EB%B6%80%EB%AA%A8-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EC%99%80-%EC%9E%90%EC%8B%9D-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4
- https://velog.io/@whoamicj/UE5-Dedicated-Server
'CS > 운영체제' 카테고리의 다른 글
[운영체제] 가상 메모리 (0) | 2025.04.25 |
---|---|
[운영체제] 멀티스레드 (0) | 2025.04.18 |
[운영체제] 프로세스와 스레드 (0) | 2025.04.09 |