일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- computer vision
- recommender
- 비동기 프로그래밍
- 프라미스
- tcp
- 머신러닝
- image restoration
- 인페인팅
- pagerank
- 컴퓨터 보안 키분배
- 페이지랭크
- brew 권한
- 커널제거
- 딥러닝
- Hits
- 키분배 알고리즘
- 협업필터링
- 메세지인증코드
- Git
- 파인만의 식당문제
- rust
- 파이썬
- 러스트
- feynman's restaurant
- 자바스크립트 비동기
- 커널생성
- react-cookie
- Readme image
- cs231n
- 인공지능
- Today
- Total
목록Computer science/Operation System(운영체제) (3)
Worth spreading
이 글은 Medium에 개시된 글입니다. Medium에서 보시면 좀 더 유쾌한 환경에서 글을 보실 수 있습니다. 뮤텍스(Mutex)와 세마포어(Semaphore)의 차이 Toilet problem 동시성 프로그래밍의 가장 큰 숙제는 ‘공유자원 관리’일 것이다. 공유자원을 안전하게 관리하기 위해서는 상호배제(Mutual exclusion)를 달성하는 기법이 필요하다. 뮤텍스와 세마포어는 이를 위해 고안된 기법으로 서로 다른 방식으로 상호배제를 달성한다. 오늘은 이 둘의 차이를 알아보자. Mutex 뮤텍스는 화장실이 하나 뿐이 없는 식당과 비슷하다. 화장실을 가기 위해서는 카운터에서 열쇠를 받아 가야 한다. 당신이 화장실을 가려고 하는데 카운터에 키가 있으면 화장실에 사람이 없다는 뜻이고 당신은 그 열쇠를 ..
바쁜 대기를 이용한 상호배제 1. 인터럽트 끄기(Disabling interrupts)가장 간단한 방법이지만 그다지 유쾌한 방법은 아니다. 각 프로세스가 임계구역에 진입하자마자 인터럽트를 끄고 임계구역에서 나가기 직전에 인터럽트를 켜도록 하는 방식이다. CPU는 오직 클록이나 다른 인터럽트의 결과로 프로세스간에 문맥을 교환하므로 인터럽트를 끄면 CPU는 다른 프로세스로 문맥을 교환하지 않는다. 따라서 프로세스가 인터럽트를 끄면 다른 프로세스가 끼어들 걱정 없이 공유 메모리를 검사하고 변경할 수 있다. 이 방법이 유쾌하지 않은 이유는 우선 사용자 프로세스에게 인터럽트를 끌 수 있는 권한을 주는 것은 현명하지 못하기 때문이다. 만약 프로세스 중 하나가 인터럽트를 끄고 다시 켜지 않는다면 어떻게 될지 생각해 ..
Conditions required to avoid race condition1. Mutual Exclusion - No two processes may be simultaneously inside their critical regions. 2. No assumptions may be made about speeds or the number of CPUs.3. Progress - No process running outside its critical region may block other processes.4. Bounded Waiting - No process should have to forever to enter its critical region. 1. 상호배제 - 두 개의 프로세스가 동시에 임..