Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- 컴퓨터공학과
- 북리뷰
- 오에스
- 백준
- bfs
- 브루트포스
- cs
- 구현
- 스택
- 그래프
- 오퍼레이팅시스템
- c++
- 자료구조
- 코딩
- 너비우선탐색
- coding
- Computer science
- Stack
- 개발
- OS
- 컴공과
- 정석학술정보관
- 알고리즘
- vector
- 정석
- 코테
- 문제풀이
- Operating System
- DP
- 컴공
Archives
- Today
- Total
목록Banker's algorithm (1)
Little Jay
식사하는 철학자 문제 유명한 컴퓨터 공학자인 Dijikstra 께서 고안한 문제이다. 5명의 철학자가 있고, 5개의 포크가 테이블에 있다. 이때 철학자가 식사하기 위해서는 2개의 포크가 필요하다. 어떤 철학자라도 하나의 포크를 동시에 사용할 수 없다. 즉 포크는 Critical Resource로 Mutual Exclusion을 보장해줘야하는 존재이다. 식사하는 철학자의 문제는 Deadlock을 막기 위함이다. 식사하는 철학자 문제를 컴퓨터 공학적 관점에서 바라본다면, 철학자는 Process, 포크를 Resource로 바라보면 되겠다. 철학자는 단순히 다음과 같은 동작을 수행한다. 생각하고 -> 포크를 잡고 -> 먹고 -> 포크를 내려놓고. 즉 코드로 이를 정리해보자면 아래와 같을 것이다. 역시 뇌를 사용..
Univ/Operating System(OS)
2022. 12. 22. 16:03