일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩테스트
- 스택
- N과M
- 다익스트라
- DP
- 그리디
- dfs
- 수학
- 다이나믹 프로그래밍
- 가상메모리
- level2
- level1
- 재귀
- dict
- programmers
- 브루트포스
- 프로그래머스
- level3
- level0
- BOJ
- 운영체제
- 힙
- 가상메모리 관리
- 딕셔너리
- python
- 백준
- 구현
- MYSQL
- 파이썬
- BFS
- Today
- Total
목록CS (49)
동캄의 코딩도장
High-level Mechanism - Language-level constructs - Object-Oriented concept와 유사 - Monitor, path expressions 등이 존재 장점 - 사용이 쉬움 - Deadlock등 error 발생 가능성이 낮음 단점 - 지원하는 언어에서만 사용가능 - 컴파일러가 OS를 이해하고 있어야 함 Monitor - 공유 데이터와 Critical section의 집합 - Conditional variable (wait(), signal() 연산) Monior의 구조 Entey queue(진입 큐) - 모니터 내의 procedure 수 만큼 존재 Mutual Exclusion - 모니터 내에는 항상 하나의 프로세스만 진입 가능 Information hi..
OS supported SW solution Spinlock - 정수변수 - 초기화, P(), V() 연산으로만 접근가능 - OS가 연산이 한번에 처리되는 것을 보장 P(): 자원을 사용하는 함수 V(): 자원을 반환하는 함수 -멀티 프로세서 시스템에서만 사용가능 - busy waiting 문제 발생 Semaphore - 음이 아닌 정수형 변수(S), 초기화 연산,P(),V()로만 접근 가능 - 임의의 S 변수 하나에 ready queue 하나가 할당 됨 - P()연산을 실행할 수 없으면 ready queue에 대기 - busy waiting 문제 해결 - Semaphore queue 대한 wake-up 순서는 비결정적--> starvation problem Semaphore로 해결 가능한 동기화 문제 ..
HW solution - HW의 도움으로 기존의 SW solution보다 더욱 간단한 방법으로 구현가능 - Test and Set 함수를 이용하여 프로세스 처리를 한번에 처리 - n개의 process를 처리할 때는 waiting queue를 이용하여 처리 장점: 구현이 간단 단점: busy waiting
동기화 (Synchronization) - 프로세스들이 서로 동작을 맞추는 것 - 프로세스들이 서로 정보를 공유하는 것 임계영역(Critical section) - 공유 데이터를 접근하는 코드 영역 상호배제(Mutual exclusion) - 둘 이상의 프로세스가 동시에 critical section에 진입하는 것을 막는 것 동기화 구현 조건 상호배제 (Mutual exclusion) - Critical section (CS)에 프로세스가 있으면, 다른 프로세스의 진입을 금지 진행 (Progress) - CS 안에 있는 프로세스 외에는, 다른 프로세스가 CS에 진입하는 것을 방해 하면 안됨. 한정대기 (Bounded waiting) - 프로세스의 CS진입은 유한시간 내에 허용되어야 함 Mutual Exc..
FCFS(First Come First Service) - 먼저 도착한 프로세스를 먼저 처리 (선입선출) - batch 시스템에 적합 장점: 자원을 효율적으로 사용 가능 단점: convoy effect (긴 프로세스를 위해 다른 프로세스 또한 긴 시간을 대기), 긴 평균 응답시간 RR(Round-Robin) - 자원 사용 제한 시간 존재 - 프로세스는 할당된 시간이 지나면 자원 반납 - Context switch overhead가 큼 - 대화형, 시분할 시스템에 적합 - 제한시간(time quantum)에 따라 성능 변화 SPN(Shortest-Process-Next) - 실행시간 기준 - Burst time 가장 작은 프로세스를 먼저 처리 -장점 평균 대기시간 최소화, 시스템 내 프로세스 수 최소화--..
프로세스 스케줄링 목적 - 여러개의 프로세스가 시스템 내 존재--> 자원을 할당 할 프로세스를 선택 - 스케줄링을 통해 시스템의 성능 향상 스케줄링 기준 - 프로세스의 특성 - 시스템 특성 - 프로세스의 긴급성 - 프로세스 우선순위 - 프로세스 총 실행 시간 스케줄링의 단계 - long-term scheduling ex) job scheduling - mid-term scheduling ex) memory scheduling - short-term scheduling ex) process scheduling 스케줄링 정책 Non-preemptive scheduling 할당 받을 자원을 스스로 반납할 때까지 사용 장점: context switch overhead가 적음 단점: 잦은 우선순위 역전, 평균 응..