일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정렬
- OCR
- Bull
- react
- Sequelize
- nodejs
- TypeScript
- mongoose
- Express
- MongoDB
- flask
- game
- MySQL
- Nest.js
- 게임
- Python
- jest
- AWS
- class
- JavaScript
- Queue
- GIT
- typeORM
- dfs
- 공룡게임
- cookie
- Dinosaur
- nestjs
- 자료구조
- Today
- Total
목록Semaphores (2)
포시코딩
키워드 semaphores, busy-wait, block/wakeup, deadlock, starvation Semaphores P(S): while (S 식사하는 철학자 문제에서 더 자세히 Dining-Philosophers Problem (=식사하는 철학자 문제) starvation 한쪽에서 식사를 위해 양쪽의 젓가락을 잡은 경우 그 옆에 사람은 식사를 마칠 때까지 기다리지만 만약 식사가 끝난 직후 옆옆 사람이 양쪽 젓가락을 잡고 식사를 시작하고, 그게 반복되면 그 중간의 사람은 영원히 식사를 할 수 없게 됨 deadlock 만약 모든 사람이 동시에 왼쪽 젓가락을 잡아 버리면 다섯 명이 모두 영원히 식사를 하지 못하게 됨
키워드 critical-sectioin, peterson's algorithm, synchronization hardware, semaphores The Critical-Section Problem 프로그램적 해결법 충족 조건 Mutual Exclusion(상호 배제) 어떤 프로세스가 크리티컬 섹션에 들어가 있으면 다른 모든 프로세스는 크리티컬 섹션에 들어가지 못하게 한다. Progress(진행) 크리티컬 섹션에 아무도 들어가있지 않은 상황에서 내가 들어가고자 하면 들어가게 해줘야 한다. 둘이 동시에 들어가려는 상황에서 둘 다 안들어가있음에도 둘 다 못들어가는 문제 고려 Bounded Waiting(유한 대기) 기다리는 시간이 유한해야함 크리티컬 섹션에 들어가고자 하는 프로세스가 세 개 있을 때 둘이서만..