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 | 29 | 30 | 31 |
Tags
- N과M
- 구현
- 파이썬
- DP
- 스택
- level0
- 다이나믹 프로그래밍
- level1
- 운영체제
- BOJ
- 백준
- 프로그래머스
- dfs
- 가상메모리 관리
- 가상메모리
- 수학
- python
- level2
- 브루트포스
- 코딩테스트
- level3
- 힙
- BFS
- 딕셔너리
- dict
- programmers
- MYSQL
- 그리디
- 재귀
- 다익스트라
Archives
- Today
- Total
동캄의 코딩도장
운영체제 [동기화 - SW solution] 본문
동기화 (Synchronization)
- 프로세스들이 서로 동작을 맞추는 것
- 프로세스들이 서로 정보를 공유하는 것
임계영역(Critical section)
- 공유 데이터를 접근하는 코드 영역
상호배제(Mutual exclusion)
- 둘 이상의 프로세스가 동시에 critical section에 진입하는 것을 막는 것
동기화 구현 조건
상호배제 (Mutual exclusion)
- Critical section (CS)에 프로세스가 있으면, 다른 프로세스의 진입을 금지
진행 (Progress)
- CS 안에 있는 프로세스 외에는, 다른 프로세스가 CS에 진입하는 것을 방해 하면 안됨.
한정대기 (Bounded waiting)
- 프로세스의 CS진입은 유한시간 내에 허용되어야 함
Mutual Exclusion Solutions -SW solution
Dekker's Algorithm & Pertersion's Algorithm
- Two process ME를 보장하는 최초의 알고리즘
- flag와 turn을 이용하여 동기화 구현 조건을 만족
Dijkstra's Algorithm
- flag의 값 idle, want-in, in-CS
- in-CS에서 Mutual Exclusion을 확인한 뒤, critical section에 진입
단점
-속도가 느림
-구현이 복잡함
- ME primtive 중 preemption 발생 가능
- busy waiting 발생가능
'CS > 운영체제' 카테고리의 다른 글
운영체제 [동기화- OS supported SW solution] (0) | 2022.01.18 |
---|---|
운영체제 [동기화 -HW solution] (0) | 2022.01.18 |
운영체제 [프로세스 스케줄링 기법] (0) | 2022.01.17 |
운영체제 [프로세스 스케줄링] (0) | 2022.01.17 |
운영체제 [스레드] (0) | 2022.01.15 |