owlsuri.log
로그인
owlsuri.log
로그인
병행 프로세스 2
OwlSuri
·
2023년 4월 6일
팔로우
0
병행프로세스
운영체제
한국방통대
0
방통대 운영체제
목록 보기
5/12
생산자-소비자 문제 정의
두 협력 프로세스 사이에
버퍼
를 두고 생산자와 소비자의 상황을 다루는 문제
생산자 : 데이터 넣는 프로세스
소비자 : 데이터를 꺼내는 프로세스
버퍼는 공통 영역
생산자-소비자 문제 조건
버퍼에 여러 프로세스 동시접근 불가능
버퍼에 넣을때 꺼낼 수 없음
꺼낼때 넣을 수 없음
->
상호배제 필요
버퍼의 크기가 유한(유한 버퍼문제)
버퍼가 가득차면 생산자 대기 필요
버퍼 빈경우 소비자 대기 필요
->
동기화 필요
세마포어를 이용한 해결
결론
판독기-기록기 문제 정의
여러 협력 프로세스 사이에 공유자원을 두고 판독기-기록기 상황을 다루는 문제
판독기 : 데이터 읽는 프로세스
기록기 : 데이터 쓰는 프로세스
판독기-기록기 문제 조건
하나의 기록기가 공유자원에 데이터를 쓰는 중 다른 기록기나 판독기는 공유자원에 접근 불가
공유 자원에 데이터를 쓰는 동안에는 누구도 접근 불가
공유지원에 데이터를 읽는 도앙ㄴ에는 데이터를 쓸 수 없음
->
상호배제 필요
여러 판독기는 동시에 공유자원에서 데이터를 읽을 수 있음
판독기가 읽는 중 새로는 판독기 읽기시도 가능
판독기가 읽는 중 기록기 대기
->
새로운 판독기 읽기 시도 -> 가능/불가능
정책적 결정 필요
제 1판독기-기록기 문제
판독기가 공유자원에 접근중이라면 기록기보다 판독기에 우선순위 줌
-> 새로운 판독기는 즉시 공유자원 접근가능
-> 기록기의 기아상태 유발 가능
세마포어를 이용한 해결
제 2판독기-기록기 문제
판독기가 공윶바원에 접근중이라면 판독기보다 기록기에 우선순위 줌
-> 대기중인 기록이 있다면 새로운 판독기는 공유자원에 접근 불가
-> 판독기 병행성 떨어짐, 판독기의 기아상태 유발 가능
세마포어를 이용한 해결
프로세스간 통신(IPC)
InterProcess Communication
병행프로세스가 데이터를 서로 공유하는 방밥
공유메모리 방법
메시지 전달 방법
하나의 운영체제에서 두 방법 함꼐 사용 가능
공유 메모리 방법
협력 프로세스가 동일한 변수를 사용
동일한 변수 : 공유지원인 메모리 공간 사용
예
생산자-소비자 문제의 유한버퍼
판독기-기록기 문제의 공유자원
대량 데이터 교환 -> 고속통신 가능
통신상 발생 가능 문제 해결
응용 프로그래머
메세지 전달방법
협력 프로세스가 메세지를 주고받음
시스템 호출 send(), receive()
소량 데이터 교환에 적합
통신상 발생 가능 문제 해결
운영체제
메세지 전달 방법의 논리적 구조
통신 링크
메세지가 지나다니는 통로
통신링크의 구현 형태
연결대상 : 두 프로세스/셋 이상 프로세스
두 프로세스 사이 링크 개수 : 하나/둘이상
방향성 : 단방향/양방향
용량 : 무한/유한/0
통신 링크의 용량
직접 통신
간접통신
OwlSuri
기억이 안되면, 기록을 -
팔로우
이전 포스트
병행 프로세스1
다음 포스트
교착상태1
0개의 댓글
댓글 작성