728x90
반응형

상호 배제 2

경쟁 상태(Race Condition)

여러 프로세스나 스레드가 공유된 자원에 동시에 접근하면서 발생할 수 있는 문제입니다. 이러한 상황에서 각 프로세스나 스레드가 자원을 사용하는 순서나 시점이 일정하지 않아서 예상치 못한 결과가 발생할 수 있습니다. Race Condition으로 인하여 발생하는 문제 상호 배제 (Mutual exclusion) 동일한 자원을 여러 프로세스 또는 스레드가 동시에 접근할 때 발생할 수 있습니다. 이 때, 자원을 한 번에 하나의 프로세스 또는 스레드만이 사용할 수 있도록 제한하는 것이 필요합니다. 기아 상태 (Starvation) 프로세스나 스레드가 자원을 얻지 못해 영원히 대기하는 상태를 말합니다. 이는 일부 프로세스나 스레드가 우선적으로 자원을 사용하는 것을 방지하기 위해 대기 중인 프로세스나 스레드에도 자원..

CS 2023.04.08

데드락(Deadlock, 교착상태)

프로세스나 스레드가 서로 상대방의 자원을 점유하고 있는 상태에서 더 이상 진행할 수 없는 상태를 말합니다. 이러한 상태에서는 각각의 프로세스나 스레드가 다른 프로세스나 스레드가 점유한 자원을 기다리며 아무 일도 처리할 수 없게 됩니다. 데드락이 발생하면 시스템이 정지되어 모든 프로세스나 스레드가 종료되기 전까지 대기 상태로 남아 있게 됩니다. 이러한 상황은 시스템의 안정성과 가용성을 저하시키며, 대규모 시스템에서 데드락이 발생하면 심각한 문제를 초래할 수 있습니다. 발생 원인 상호 배제(Mutual Exclusion) 자원은 한 번에 한 프로세스나 스레드에 의해 점유될 수 있습니다. 이러한 상태에서 다른 프로세스나 스레드가 해당 자원을 점유하기 위해 대기하게 됩니다. 점유 대기(Hold and Wait)..

CS 2023.04.08
728x90
반응형