일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 우선순위
- 컴퓨터구조
- 교착상태
- mips
- concurrency
- 알고리즘
- 세마포어
- 페이징
- ALU
- 스레드
- Oracle
- BOJ
- 추상화
- 동기화
- PYTHON
- 스케줄링
- 페이지 대치
- mutex
- 백준
- 기아 상태
- fork()
- 페이지 부재율
- Algorithm
- 운영체제
- 인터럽트
- 단편화
- 트랩
- 가상 메모리
- 부동소수점
- 프로세스
- Today
- Total
목록세마포어 (3)
봉황대 in CS
* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 교착상태 문제를 처리하는 데에는 3가지 방법이 존재한다. 1. 시스템이 결코 교착상태가 되지 않도록 보장하기 위해 교착상태를 예방하거나 회피하는 프로토콜을 사용하는 방법 2. 시스템이 교착상태가 되도록 허용한 다음에 탐지하여 회복(복구)시키는 방법 3. 문제를 무시, 교착상태가 시스템에서 결코 발생하지 않는 척한다. 대부분의 운영체제들은 3번째 방법을 사용하고 있으며, 이에 교착상태를 처리하는 프로그램을 작성하는 것은 프로그래머의 몫이다. 1번째와 2번째 방법에 대하여 차근차근 알아보자. 1. 교착상태가 되지 ..
* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 공유 변수의 간섭 문제를 해결하기 위한 상호 배제 및 동기화 프로그래밍 수단으로는 뮤텍스(Mutual Exclusion, Mutex)와 세마포어(Semaphore)가 있다. 하지만 이 둘을 사용할 때는 우선순위 역전 문제가 발생할 가능성이 있다. 우선순위 역전 문제 (Priority Inversion Problem) 우선순위 역전 문제는 높은 우선순위 프로세스가 현재 공유 자원을 사용하고 있는 낮은 우선순위 프로세스를 기다려야 하는 경우에 발생한다. T1, T2, T3 세 개의 프로세스가 있다고 하자. 이때 우..
* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 공유 변수의 간섭 문제를 해결하기 위한 상호 배제 및 동기화 프로그래밍 수단으로는 뮤텍스(Mutual Exclusion, Mutex)와 세마포어(Semaphore)가 있다. Mutex는 while문을 사용하는 busy waiting 알고리즘이었다면, 세마포어는 프로세스를 자원 가용 상태에 따라 대기 상태 또는 준비 상태로 천이시키는 block/wakeup 알고리즘이다. 세마포어 (Semaphore) 세마포어는 일종의 객체로, 다음의 구성을 가진다. 하나의 정수 변수 (value) 프로세스 대기 큐 정수 변수에 ..