[OS lecture 1] 운영체제 구조 - 9 - 동기화/세마포어
카테고리: OS lecture 1
태그: scheduling sync
1. 동기화(Synchronization)
- 작업들 사이에 실행시기를 맞추는 것
- 여러 스레드가 동일한 자원 접근 시 동기화 이슈 발생
- 동일자원을 여러 스레드가 동시 수정시 각 스레드 결과에 영향 줌
2. 동기화 이슈 해결
- 상호배제 (Mutual Exclusion) - 한 스레드가 공유변수 갱신 -> 다른 스레드 동시변경 막음 - 임계 자원 : 두 개 이상의 프로세스가 동시 사용 불가 자원(글로벌 변수, 파일) - 임계 영역 : 임계 자원을 처리하는 핵심 코드
3. 뮤텍스(Mutex)와 세마포어(Semaphore)
-
임계 영역애 대한 접근 막기 위해 locking 매커니즘 필요
- Mutex : 임계구역에 하나의 스레드만 들어갈 수 있음
-
Semaphore : 임계구역에 여러 스레드가 들어갈 수 있음(카운터 통해 수 제어)
- 대기 시 프로그매밍은 중단이 없어 loop사용 -> cpu에 부하 (바쁜 대기)
- 운영체제 기술을 통해 바쁜 대기 대신 대기큐에 넣음
[참고자료 - 컴퓨터 공학 전공 필수 강의 (패스트캠퍼스 - 현재는 수강불가)]
댓글 남기기