noah981107.log
로그인
noah981107.log
로그인
Critical Section
Noah
·
2022년 8월 1일
팔로우
0
Critical Section
OS
0
OS Study
목록 보기
9/16
Critical Section
뭔가 한 구역에 대해서 오류가 발생할 수 있는것
Multi thread or Multi process 시스템에서 각각의 쓰레드는 코드 영역을 가지고 있는데 해당 코드 영역을 critical Section이라 함
여러 쓰레드들이 공통으로 사용하는 변수 or 파일 or 데이터베이스 테이블을 공통 리소스의 예시로 볼 수 있다
문제 해결법
Mutual exclusion (상호배타) : 오직 한 쓰레드만 진입
Progress (진행) : 진행 결정은 유한 시간 내
Bounded waiting (유한 대기) : 어느 쓰레드라도 유한 시간 내 접근
위 3가지 조건이 모두 만족하는 방법을 사용해야 한다.
Mutual exclusion
둘 이상의 프로세스가 동시에 CS에 진입하는것을 막는 방법
연산
enter()
CS에 다른 프로세스가 있는지 검사
CS에 다른 프로세스가 있다면 대기
exit()
CS를 벗어나는 과정
CS 를 나올때 나왔다고 표시함
Progress
CS 안에 어떤 프로세스가 먼저 접근하는가를 정하는것
Bounded waiting
무한정 기다리지 않도록 해야함
Starvation 방지
Noah
BackEnd 개발자가 되기 위해 공부중입니다!
팔로우
이전 포스트
Process VS Thread
다음 포스트
Process Synchronization
0개의 댓글
댓글 작성