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 |
Tags
- 유저 모드의 동기화
- 뮤텍스(Mutex)
- Stack영역
- 스레드 동기화
- 문맥 교환
- Heap영역
- Reentrant
- 교착 상태
- 프로세스 상태 전이도
- 인터락 함수
- 모니터(Monitor)
- Non-Preemptive
- 커널 모드의 동기화
- The Banker's Algorithm
- 임계 구역
- 경량 프로세스
- Activity
- The DIning Philosopher Problem
- 커널 모드
- 프로세스 제어 블록
- Light Weight Process
- 유저 모드
- 프로세스
- 동기 비동기
- Multi-level Queue
- 블로킹 논블로킹
- 방금 그 곡
- 스레드
- Process Control Block
- 은행원 알고리즘
Archives
목록Lock (1)
Blog For Me
[운영체제] lock & busy-waiting 문제
Lock Lock은 의미 그대로 잠군다는 것을 뜻한다. 마치 화장실을 사용하고 있는 동안에 문을 잠궈서 자기가 사용하는 동안 아무도 못 들어오게 하는 것처럼, 특정 프로세스나 스레드가 lock을 통해 임계 영역을 잠궈서 혼자 사용할 수 있게 하는 방법이다. 이는 동기화 기법의 한 가지 방법이다. 은행 계좌 관련 사례를 살펴보자면 다음과 같다. A라는 사람과 B라는 사람이 같은 계좌를 공유하고, 그 계좌에는 현재 100만원 있다. 이때 우연찮게도 A와 B는 동시에 그 계좌에서 10만원을 인출하는 상황이 발생했다. 여기서 A라는 사람이 인출을 했는데 인출함수 수행하는 과정에서 4번째 줄에서 Timer Interrupt가 발생했다면, 스케줄러에 의해 B가 10만원을 인출하는 프로세스가 이 함수를 수행하는데, ..
컴퓨터과학/운영체제
2021. 12. 3. 20:46