일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 인프런
- Apple Developer Academy
- 프로세스 스케줄링
- 데드락
- @state
- 운영체제
- 앨런
- 100 days of SwiftUI
- scrollview
- 상호배제
- core data
- Swift
- struct
- 동시성
- IOS
- 동기화
- SwiftUI
- decode
- deadlock
- async
- Linked List
- UserDefaults
- 비동기
- COLOR
- Codable
- Algorithm
- 알고리즘
- 가상 메모리
- forEach
- 오브젝트
Archives
- Today
- Total
목록Spinlock (1)
기어가더라도 제대로
[운영체제-김덕수 교수님] 프로세스 동기화, 상호 배제 - Spinlock(4/7)
HW 솔루션도 Busy Waiting 문제가 있다는 것을 알게됨 Spinlock 정수 변수 S = a + 1 위와 같은 연산은 불가 초기화, P(), V() 연산으로만 접근 가능 위 연산들은 indivisible(or atomic) 연산 OS support 보장 전체가 한 Instruction cycle 에 수행 됨 S = 물건의 개수 P() 물건을 꺼내가는 것 자물쇠를 거는것 V() 물건을 집어 넣는 것 자물쇠를 푸는 것 active 라는 변수를 가정해 보겠습니다. 1 물건이 있다. 있어야 다른 프로세스가 실행 가능 0 물건이 없다. P = 잠는 것 - 잠그고 일을하다 끝나면 나올 때 푼다. V = 푸는 것 프로세서가 하나인 경우 Pi 가 active 를 0 으로 만들고 열심히 일..
CS/운영체제
2022. 8. 3. 18:27