일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 자료구조
- C언어
- 리듬게임
- JUCE 튜토리얼
- C++ library
- JUCE library
- JUCE라이브러리
- 연결리스트
- C++
- C++ gui
- OS
- 코딩
- 백준
- c++ heap
- 프로그래밍
- JUCE
- LOB
- 운영체제
- go
- 알고리즘
- Nebula
- gui
- Docker
- a tour of go
- vim-go
- 공룡책
- go channel
- tour of go
- BOJ
- C++ gui 라이브러리
Archives
- Today
- Total
CafeM0ca
[공룡책]임계 구역 본문
반응형
임계 구역(critical section) == 공유변수 영역
둘 이상의 쓰레드가 동시에 접근해서는 안되는 공유 자원(ex: 자료 구도 또는 장치)에 접근하는 코드의 일부.
임계구역은 지정도니 시간 이후에 종료됨. 임계 구역에 들어가고자 한다면 그 시간만큼 대기해야함.
임계구역에 들어가거나 나올때에는 세마포어 같은 동기화 메커니즘이 사용된다.
세마포어
세마포 혹은 세마포어는 동기화 도구로서 wait()와 signal()로만 접근
A와 B가 방에 들어가려한다.
방에는 카드 52장이 있다.
A와 B는 정해진 시간동안 번갈아가면서 카드를 뒤집을 수 있다.
A는 앞면으로 B는 뒷면으로 뒤집는다.
먼저, A가 방으로 들어갔다. B는 대기하고 있다.
A가 카드를 뒤집고 방에서 나왔다.
방은 비어있으므로 B가 방에 들어간다.
방 안에 B가 있으므로 A가 대기하고 있다.
여기까지가 세마포어의 예시다.
임계영역은 방이 되고
A와 B는 각각 쓰레드다.
카드는 공유자원이다.
반응형
'OS > 공룡책' 카테고리의 다른 글
[OS] 공룡책 챕터4 연습문제 (0) | 2021.01.22 |
---|---|
[OS] 공룡책 Chapter4 스레드 (0) | 2021.01.21 |
[OS] 공룡책 Chapter 3 연습문제 풀이 10th edition (0) | 2021.01.14 |
[OS] 공룡책 Chapter3 정리 프로세스, PCB, 스케쥴링 큐, context switch, IPC, RPC, PIPE (0) | 2021.01.07 |
[OS]공룡책 Chapter1 연습문제 (0) | 2017.12.04 |
Comments