데드락
-
Deadlock 이란 무엇인가프로그래밍/운영체제 2020. 6. 25. 16:48
Deadlock 두 줄 설명 우리 컴퓨터 안에 있는 exe 파일들을 운영체제에서는 JOB이라고 부릅니다. 이러한 JOB이 일을 처리하기 위해 메모리를 할당받으면 프로세스(Process)가 되는 겁니다. 그리고 이러한 프로세스는 다시 프로세서(CPU)를 할당받으면서 비로소 작업을 처리하기 시작합니다. 일을 처리하는 과정에서 프로세스는 수많은 자원을 필요로 합니다. 그중에서도 데드락은 공유자원을 필요로 할 때 발생합니다. 예를 들어, P1(프로세스 1) 이 R1(공유자원 1)을 선점한 상태에서 R2(공유자원 2)를 필요로 하고 P2 가 R2를 선점한 상태에서 R1을 필요로 할 때 우리는 데드락 상태라고 합니다. 따라서 데드락은 자원(Resource)에 큰 영향을 받고 멀티프로세스인 경우에 발생합니다. Dea..
-
Starvation 과 Deadlock의 차이프로그래밍/운영체제 2020. 6. 24. 18:09
Starvation 한 줄 설명 작업을 해야 하는 프로세스가 어떠한 우연 또는 문제로 인해서 프로세서(CPU)를 할당받지 못해 Ready 상태에서 더 이상 진행하지 못하는 상태 Deadlock 두 줄 설명 작업을 해야 하는 프로세스가 접근할 수 없는 특정자원을 Asleep 상태에서 무한히 기다리는 상태. 예) p1 이 공유자원 1을 선점한 상태에서 공유자원 2를 얻기 원하고, p2는 공유자원 2를 선점한 상태에서 공유자원 1을 얻기 원하는 상황 Starvation과 Deadlock의 차이 1. 실행상태의 차이 : Starvation 은 ready 상태에서 무한 대기를 하는 겁니다. Deadlock 은 asleep 상태에서 무한대기를 합니다. 2. 필요한 자원의 차이 : Starvation 은 프로세서(C..