[혼공컴운] 5주차_프로세스와 스케줄링

이경현·2024년 2월 5일
0

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


✍️5주차 프로세스 동기화 & 교착상태

목차
1. 프로세스 동기화
   1-1. 동기화란
   1-2. 동기화 기법
1. 교착상태
   1-1. 교착 상태란
   1-2. 교착 상태 해결 방법

1. 프로세스 동기화

1-1. 동기화란

프로세스 동기화프로세서 사이의 수행 시기를 맞추는 것

 

동기화의 종류설명
실행 순서 제어프로세스를 올바른 순서대로 실행하는 것
상호 배제공유가 불가능한 자원의 동시 사용을 피하기 위해 사용하는 알고리즘

 

이름설명
공유 자원공동으로 사용하는 자원(전역 변수, 파일, 입출력장치, 보조기억장치 ...)
임계 구역공유 자원에 접근하는 코드 중에서 동시에 실행하면 문제가 발생하는 코드 영역

 

레이스 컨디션여러 프로세스가 동시 다발적으로 임계 구역의 코드를 실행하여 문제가 발생하는 경우

 

상호 배제를 위한 동기화 원칙
상호배제한 프로세스가 임계 구역에 진입했다면 다른 프로세스는 임계 구역에 들어올 수 없다
진행임계 구역에 어떤 프로세스도 진입하지 않았다면 임계 구역에 진입하고자 하는 프로세스는 들어갈 수 있어야 한다
유한 대기한 프로세스가 임계 구역에 진입하고 싶다면 그 프로세스는 언젠가 임계 구역에 들어올 수 있어야 한다(무한정 대기해서는 안된다)

1-2. 동기화기법

동기화 기법
뮤텍스 락임계 구역을 잠금으로써 프로세스 간의 상호 배제를 이룸
세마포공유 자원이 여러 개 있는 임계 구역 문제도 해결할 수 있는 동기화 도구
모니터세마포에 비해 사용자가 사용하기 편리한 동기화 도구로 조건 변수 사용

2. 교착상태

2-1. 교착상태란

교착 상태일어나지 않을 사건을 기다리며 무한히 대기하는 현상

 

교착 상태 발생 조건
상호 배제
점유와 대기
비선점
원형 대기

2-2. 교착 상태 해결 방법

 

교착 상태 예방교착 상태의 발생 조건 중 하나를 충족하지 못하게 하는 방법
교착 상태 회피안전 상태를 유지할 수 있는 경우에만 자원을 할당하는 방법
교착 상태 검출 후 회복교착 상태 발생 여부를 주기적으로 검사하고, 교착 상태가 발생하면 그때 그때 회복하는 방식

기본 미션. p. 363의 확인 문제 1번 풀고 인증하기

(4) 세마포를 이용하면 반드시 바쁜 대기를 해야 합니다.

세마포에서는 signal을 통해 프로세스 동기화를 하기 때문에 바쁜 대기를 할 필요가 없습니다.

선택 미션. Ch.12(12-1) 임계 구역, 상호 배제 개념을 정리하기

이름설명
임계 구역공유 자원에 접근하는 코드 중에서 동시에 실행하면 문제가 발생하는 코드 영역

 

상호배제한 프로세스가 임계 구역에 진입했다면 다른 프로세스는 임계 구역에 들어올 수 없다
profile
게임 개발자 지망생

0개의 댓글