조성호 님의 "쉽게 배우는 운영체제" 책을 정리한 포스팅 입니다
1. 프로세스 간 통신
종류
스레드간 통신
같은 호스트에서 프로세스 간 통신
- 공유 메모리의 참조 변수
- 파일
- 파이프
- 운영체제가 제공하는 동기화 통신 방식
- 파일 입출력과 같이 open()으로 file descriptior를 얻어 씀
- 단방향 통신
- 동기 방식
- 송신자가 write() 하는 순간 동기화가 이루어짐
다른 호스트에서 프로세스 간 통신 (네트워크)
- Socket
- 네트워크 상에서 두 프로세스가 데이터를 주고받기 위해 사용하는 endpoint (OS가 제공하는 API)
- 양방향 통신
- 동기 방식
- RPC (Remote Procedure Call)
- 다른 호스트에 있는 프로세스의 함수를 호출하는 매커니즘
- 추상화를 제공하여 쉽게 사용할 수 있으며, 원격 서버에서 실제 호출됨
- 서로 다른 플랫폼이나 운영체제에서 통신이 가능함
2. 임계구역
- 공유 자원 접근 순서에 따라 실행 결과가 달라지는 프로그램의 영역
해결 조건
상호 배제
- 한 프로세스가 임계 구역에 들어가면 다른 프로세스는 임계 구역에 들어갈 수 없음
한정 대기
- 한 프로세스가 임계구역에 들어가기 위해 무한정 대기하도록 하면 안됨
융통성
- 어떤 프로세스도 임계영역을 무한정 점유해서는 안됨
'OS' 카테고리의 다른 글
[쉽게 배우는 운영체제] 7. 물리 메모리 관리 (0) | 2024.12.12 |
---|---|
[쉽게 배우는 운영체제] 6. 교착상태 (1) | 2024.12.12 |
[쉽게 배우는 운영체제] 4-2. CPU 스케줄링: 인터럽트 처리 (0) | 2024.12.12 |
[쉽게 배우는 운영체제] 4-1. CPU 스케줄링 (0) | 2024.12.12 |
[쉽게 배우는 운영체제] 3-2. 프로세스와 스레드: 스레드 (0) | 2024.12.12 |