원자성
소프트웨어 실행의 관점에서, 연산이 단일하고 분할할 수 없을 때 이 연산을 원자적(atomic)이라고 한다.
동기화
lock, unlock을 통해 자원을 점유하고 있어야 한다.(OS가 제공)
신호등과 잠금장치의 필요성과 유지하다.
교착상태(Deadlock)
둘 이상의 프로세스가 다른 프로세스가 점유하고 있는 자원을 서로 기다릴 때 무한 대기에 빠지는 상황
교착상태의 발생 조건
1. 상호 배재
- 한 번에 프로세스 하나만 해당 자원을 사용할 수 있다. 사용 중인 자원을 다른 프로세스가 사용하려면 요청한 자원이 해재될 때까지 기다려야 한다.
2. 점유 대기
- 자원을 최소한 하나 보유하고, 다른 프로세스에 할당된 자원을 점유하기 위해 대기하는 프로세스가 존재해야 한다.
3. 비 선점
- 이미 할당된 자원을 강제로 빼앗을 수 없다
4. 순환 대기
- 대기 프로세스의 집합이 순환 형태로 자원을 대기하고 있어야 한다.
참고 자료:
https://incheol-jung.gitbook.io/docs/study/undefined-4/7
https://chanhuiseok.github.io/posts/cs-2/
'CS지식들 > CS' 카테고리의 다른 글
인터넷 통신 (0) | 2022.12.12 |
---|---|
컴퓨터의 구성요소 (0) | 2022.12.11 |
동시성과 병렬성 (1) | 2022.12.10 |
HHD, SSD와 파일 시스템 (0) | 2022.12.10 |
기억장치의 종류와 역할 (0) | 2022.12.10 |