minyule.log
로그인
minyule.log
로그인
Race Condition
김민영
·
2023년 2월 12일
팔로우
0
운영체제
0
CS 스터디
목록 보기
24/32
정의
임계 구역 : 둘 이상의 프로세스가 동시에 접근하면 문제가 발생하는 영역
둘 이상의 프로세스가 임계 구역 동시에 접근하려고 하면 Race Condition 레이스 컨디션이 발생함
하나의 자원을 두고 여러 프로세스가 경쟁하는 상황
직면하는 제어 문제
Mutual exclusion, Deadlock, Starvation
Mutual exclusion
두 개 이상의 프로세스가 공유 자원에 동시에 접근하지 못하도록 함
교착 상태가 발생할 수 있다.
Deadlock
두 프로세스가 각자 실행하기 위해서 두 자원에 접근해야 한다면, 다른 프로세스의 작업이 끝나기를 기다려야한다. 서로 기다리느라 멈춰버리는 경우, 교착 상태에 빠진다
Starvation
프로세스가 진행하지 못하고 영구적으로 블록된 상태.
스레드, 프로세스의 실행 순서를 잘 조절해야 한다.
OS는 다른 프로세스의 의도하지 않은 간섭으로부터 각 프로세스의 데이터 및 물리적 자원(메모리, 파일, I/O 장치 등)을 보호해야 함.
예방법
Semaphore
리소스의 상태를 나타내는 카운터.
자원에 몇 개의 프로세스가 접근이 가능한지 표기
Mutex
공유 자원에 한 번에 하나의 프로세스만 접근할 수 있도록 함.
locking, unlocking을 통해 상호 배제
김민영
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=
팔로우
이전 포스트
Semaphore와 Mutex
다음 포스트
가상 메모리
0개의 댓글
댓글 작성