목록os (3)
Arthur's Blog
1. 상호배제와 동기화 상호배제(Mutual Exclusion) 특정 공유자원을 한 순간에 한 개의 프로세스만 사용할 수 있는 경우 프로세스 하나가 데이터에 접근하는 동안 다른 프로세스가 해당 데이터를 접근할 수 없게 하는 것 동기화(Synchronous) 공유자원을 동시에 사용하지 못하게 프로세스들이 상호 협력하면서 수행하는 것 순차적 재사용이 가능한 자원의 공유를 위해 질서 있는 실행을 보장하고 데이터 일관성 유지해줌 경쟁상태(Race Condition) - 여러 개의 서로 다른 프로세스가 동일한 자료에 접근, 자료를 조작하여 그 결과가 접근 순서에 따라 달라지는 상황 => 동기화 필요 => 임계영역을 이용한 상호배제로 구현 2. 프로세스 동기화 임계영역(critical section, CS) 개념 ..

병행프로세스란? 병행프로세스 개념 프로세스들이 독립적으로 작업을 수행하거나 또는 다른 프로세스와 협력하며 특정 기능 수행 상호작용 필요 - 제한된 자원을 공유하지 위해서는 프로세스는 서로 동기화되어야 함 비동기 병행 프로세스 : (비동기) 다른 프로세스들의 진행상태를 전혀 모르고 각기 독립적으로 수행하면서 (병행) 다수의 프로세스들이 동시에 존재하며 공유자원에 접근할 수 있는 프로세스 -> 프로세스들이 동시에 자원 및 데이터에 접근할 수 있으므로 동기화 알고리즘이 필요 병행프로세스 과제 공유자원을 서로 베타적으로 사용 병행프로세스 사이에는 협력 또는 동기화가 이루어져야 한다. 두 프로세스 사이에는 데이터 교환을 위한 통신이 이루어져야 한다. 프로세스는 동시에 실행되는 프로세스의 속도와 관계없이 일정한 실..
1. 교착상태란? 둘 이상의 프로세스들이 다른 프로세스가 차지하고 있는 자원을 서로 무한정 기다리고 있어 프로세스의 진행이 중단된 상태를 의미한다. 1. 교착상태의 필수 조건 상호 배제(mutual exclusion) 조건 : 프로세스들이 그들이 필요로 하는 자원에 대해 베타적인 통제권을 요구하는 것으로, 한 프로세스가 사용 중이면 다른 프로세스는 반드시 기다려야 하는 경우이다. -> 동시 사용 불가 점유와 대기(hold and wait) 조건 : 프로세스가 적어도 하나 이상의 자원을 할당받은 채로 다른 프로세스의 자원이 해제되기를 기다리는 경우이다. 비선점 조건(nonpreemption) : 프로세스가 점유한 자원은 사용이 끝날 때까지 해제할 수 없는 경우이다. 환형 대기 조건(circular wait..