일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- COLOR
- 프로세스 스케줄링
- Linked List
- 비동기
- Apple Developer Academy
- 알고리즘
- deadlock
- Algorithm
- IOS
- Codable
- 운영체제
- SwiftUI
- 오브젝트
- scrollview
- async
- 인프런
- UserDefaults
- 가상 메모리
- 동기화
- @state
- struct
- 100 days of SwiftUI
- 데드락
- decode
- 앨런
- Swift
- 상호배제
- 동시성
- forEach
- core data
- Today
- Total
목록CS/운영체제 (39)
기어가더라도 제대로
Process Synchronization(동기화) 다중 프로그래밍 시스템 여러 개의 프로세스들이 존재 프로세스들은 서로 독립적으로 동작(동시에) 공유 자원 또는 데이터가 있을 때, 문제 발생 가능 동기화(Synchronization) 프로세스들이 서로 동작을 맞추는 것 프로세스 들이 서로 정보를 공유 하는 것 동시에 그림을 한 도화지에 두 명이 그림을 그리기로 했을 때, 서로 대화를 나눠 약속을 정해야한다. 여기서 대화가 동기화 이다. Asynchronous and Concurrent P's 비동기적(Asynchronous) 프로세스들이 서로에 대해 모름 병행적(Concurrent) 여러 개의 프로세스들이 동시에 시스템에 존재 병행 수행중인 비동기적 프로세스들이 공유 자원에 동시 ..
시스템의 성능과 효율성을 높이는 것은 좋으나 실행 시간을 예측하는 것이 힘드니 대안으로 MLQ, MFQ 가 나왔다. MLQ(Multi-level Queue) 작업(or 우선순위) 별 별도의 ready queue를 가짐 최초 배정 된 큐를 벗어나지 못함 각각의 큐는 자신만의 스케줄링 기법 사용 큐 사이에는 우선순위 기반의 스케줄링 사용 fixed-priority preemptive scheduling 장점 빠른 응답시간(?) 단점 여러 개의 큐 관리 등 스케줄링 오버헤드 우선순위가 낮은 큐는 기아현상 발생 가능 MFQ(Multi level Feedback queue) 프로세스의 큐간 이동이 허용된 MLQ Feedback을 통해 우선 우선 순위 조정 현재까지의 프로세서 사용 ..
SPN(Shortest-Process-Next) Non-preemptive scheduling 스케줄링 기준 실행시간(burst time 기준) Burst time 가장 작은 프로세스를 먼저 처리 SJF(Shortest Job First) 장점 평균 대기시간 최소화 시스템 내 프로세스 수 최소화 스케줄링 부하 감소, 메모리 절약 -> 시스템 효율 향상 많은 프로세스들에게 빠른 응답 시간 제공 단점 Starvation(무한대기) 현상 발생 실행시간이 긴 프로세스는 자원을 할당 받지 못할 수 있음 - aging 등으로 해결(HRRN) - 정확한 실행 시간을 알 수 없음 - 실행 시간 예측 기법이 필요 SRTN(Shortest Remaining Time Next) ..