지금을 사는 사람

혼자 공부하는 컴퓨터 구조 + 운영체제 5주차 본문

스터디/혼공학습단

혼자 공부하는 컴퓨터 구조 + 운영체제 5주차

지금회 2023. 8. 11. 14:21
728x90

 

기본미션

뮤텍스 락과 세마포에 대한 설명으로 옳지 않은 것을 고르세요.
정답 : 4. 세마포를 이용하면 반드시 바쁜 대기를 해야 합니다.

1. 뮤텍스 락은 임계 구역을 잠근 뒤 임계 구역에 진입함으로써 상호 배제를 위한 동기화를 이룹니다.
2. 세마포는 공유 자원이 여러 개 있는 상황에서도 이용할 수 있습니다.
3. 세마포를 이용해 프로세스 실행 순서 제어를 위한 동기화도 이룰 수 있습니다.

 

선택미션

임계구역 : 동시에 실행하면 문제가 발생하는 자원에 접근하는 코드 영역

상호배제 개념 : 동시에 접근하면 안되는 자원에 하나만 접근하도록 하는 것

 

 

프로세스 동기화

​동기화 : 프로세스를 올바른 순서대로 실행하기 위해 실행순서 제어, 상호배제 등을 통해 수행 시기를 맞추는 것
* 실행 순서 제어 : 프로세스를 올바른 순서대로 실행
* 상호 배제 : 동시에 접근하면 안되는 자원에 하나만 접근하도록 하는 것

​공유자원 : 파일, 전역 변수, 입출력장치 등 공동의 자원

임계구역 : 동시에 실행하면 문제가 발생하는 자원에 접근하는 코드 영역

레이스 컨디션 : 임계구역에 동시에 접근하여 문제가 발생하는 경우

 

동기화 기법

뮤텍스락 : 상호 배제를 위한 동기화 도구. 전역 변수(lock)과 함수(acquire, release)로 구현

세마포 : 뮤텍스락이 하나의 공유 자원이라면 세마토는 여러개의 공유자원에 접근하는 프로세스를 고려한다.
전역변수 (S), 함수 (wait, signal)

모니터 : 세마포에 사용자에게 더 편리하도록 조건 변수를 활용한 방식

 

교착상태

교착상태 : 상대가 사용중인 프로세스를 무한정 기다리는 상태. 서로의 자원을 기다리는 상태로 계속해서 대기한다.

교착상태 발생 조건
- 상호배제 : 자원을 한번에 하나의 프로세스만 사용 가능할 때
- 점유와 대기 : 자원을 점유한 채 다른 자원의 할당을 기다릴 때
- 비선점 : 자원을 선점할 수 없을 때
- 원형 대기 : 요청 및 할당이 순환의 형태를 이룰 때

교착상태 해결 방법 : 발생 조건을 해결하는 방식으로 해결한다.
- 상호 배제 : 자원을 공유가 가능하도록 변경하나 실제로 모든 자원이 공유가능하면 문제가 발생한다.
- 점유와 대기 : 필요자원을 모두 할당해주고 사용 후 반환하는 방식이지만 지연시간이 증가하여 비효율적이다.
- 비선점 : 사용중인 프로세스를 뺏을 수 있으나 입출력장치와 같은 부분을 선점한다면 작업에 문제가 생긴다.
- 원형 대기 : 사이클이 생기지 않도록 관리하기에는 많은 소요가 있다.

그래서 회피와 검출 회복 기법이 있다.
회피 : 교착 상태가 발생하지 않는 안전 상태에만 자원을 할당하는 방식
검출 후 회복
- 선점 : 교착 상태가 회복될 때까지 프로세스를 몰아준다.
- 프로세스 강제 종료 : 교착상태의 프로세스들을 종료시킨다.

 

728x90