Deadlock
-
[OS] 7. DeadlocksComputer Science/운영체제 2021. 2. 12. 05:24
# Deadlock 1. Deadlock이란? 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태를 말한다. 여기서 자원이란 하드웨어와 소프트웨어 등을 모두 포함하는 개념이며, 이러한 자원을 사용하는 절차로는 Request, Allocate, Use, Release가 있다. 2. Deadlock이 발생하는 4가지 조건 Deadlock이 발생하려면 아래의 4가지 조건을 모두 만족해야 한다. - Mutual Exclusion : 매 순간 하나의 프로세스만이 자원을 사용한다. - No Preemption : 프로세스는 자원을 강제로 빼앗기지 않고 스스로 내어 놓는다. - Hold and wait : 자원을 가진 프로세스가 다른 자원을 기다릴 때, 보유 자원을 놓지 않고 계속 가지고 있는다. - ..
-
[OS] 6-1. Process SynchronizationComputer Science/운영체제 2021. 2. 6. 04:32
# Process Synchronization 문제 위 그림처럼 S-box(Storage-Box)에 담긴 데이터에 여러 E-box(Execution-Box)가 접근하는 경우, 복수의 E-box(여러 프로세스)들이 동시에 데이터에 접근하는 Race Condition이 발생한다. 이러한 상황에서 데이터의 최종 연산 결과가 마지막에 해당 데이터를 다룬 프로세스에 의해 원치 않는 결과로 이어질 수 있는데, 이처럼 공유 데이터에 동시 접근이 일어나 데이터의 불일치가 생기는 문제를 Process Synchronization이라고 한다. # OS에서 Race Condition이 발생하는 3가지 경우 1. kernel 수행 중 인터럽트 발생 시 Process Synchronization은 인터럽트로 인해 발생하기도 한..