728x90
프로세스 동기화
프로세스 병행 (Concurrency)
- OS는 아주 빠른 시간에 프로세스를 스위칭한다. 때문에 사실은 하나의 프로세스만 화면에서 실행중이지만 마치 함께 실행중인 것 처럼 보인다.
- 이것을 프로세스 병행, 동시성이라 한다.
- 독립 프로세스와 협력 프로세스
- 독립 프로세스
- 단일 처리 시스템에서 수행하는 병행 프로세스, 다른 프로세스와 영향을 받지 않으며 독립적으로 실행된다.
- 협력 프로세스
- 우리가 사용하는 많은 프로그램은 협력 프로세스이다. 두 프로세스가 동일한 파일을 사용할 수도 있고 프로세스 하나가 파일을 읽는 동안 다른 프로세스가 쓰기를 실행하려 할 수도 있다.
- 독립 프로세스
프로세스 동기화
- 위 처럼 프로그램들이 하나의 자원에 접근하려하면 어떤 일이 발생할까.
- 가장 유명한 예제는 바로 은행 예제이다.
- A씨의 통장엔 20만원이 있다.
- A씨가 B의 통장에서 10만원을 출금하려한다.
- 이 때 휴대폰 요금 20만원이 빠져나갔다.
- Critical Section Problem
- 이렇게 A씨와 통신사 두개의 프로세스들이 하나의 공유 자원에 접근하려는 상황을 임계 구역 문제라고 한다.
- 이를 해결하기 위해 하나의 프로세스만 접근할 수 있도록 제한을 둔다.
'CS > 운영체제(OS)' 카테고리의 다른 글
전통적인 동기화 문제 (0) | 2023.11.22 |
---|---|
OS - 임계구역과 세마포어 (1) | 2023.11.20 |
OS - CPU 스케줄링(3), 프로세스의 생성과 소멸, 쓰레드 (0) | 2023.11.07 |
OS - CPU 스케줄링(2) (0) | 2023.11.04 |
OS - 프로세스 관리와 CPU 스케줄링 (1) | 2023.11.02 |