Replies: 6 comments
1. 교착 상태(Deadlock)란 무엇이며, 기아 상태(Starvation)와는 어떤 차이가 있나요?교착 상태(Deadlock)란 여러 프로세스가 서로가 가진 자원을 기다리면서 무한히 대기하는 상태를 의미한다. 즉, 어떤 프로세스도 작업을 계속 진행할 수 없는 것이다. 예를 들어,
반면 기아 상태(Starvation)는 특정 프로세스가 계속 실행 기회를 받지 못해 무한히 대기하는 상태이다. 이는 우선순위가 높은 프로세스가 계속 CPU나 자원을 차지하는 경우 발생할 수 있다. 차이점
2. 교착 상태가 발생하기 위해 충족되어야 하는 4가지 필수 조건에 대해 설명해주세요.교착 상태는 다음 4가지 조건이 모두 만족될 때 발생할 수 있다.
이 네 가지 조건이 모두 만족될 때 교착 상태가 발생한다. 3. 교착 상태를 해결하기 위한 3가지 주요 접근 방식(예방, 회피, 검출/회복)의 개념과 차이점을 설명해주세요.
이들의 문제해결 접근 방식을 비교하면,
|
1. 교착 상태(Deadlock)란 무엇이며, 기아 상태(Starvation)와는 어떤 차이가 있나요?두 개 이상의 작업이 서로 상대방의 작업이 끝나기만을 기다려서 꽉 막혀 버려 결과적으로 어떤 작업도 진행되지 못하는 상태를 교착상태 라고 말한다. 기아상태도 자원을 할당받지 못해서 작업을 수행하지 못하는 점에서 비슷해 보일 수 있으나, 기아 상태는 시스템의 자원 할당 정책 즉 우선순위 같은 문제로 자원 할당이 미뤄져서 작업이 멈춘 상태를 말한다. 기아 상태는 오래 대기한 프로세스에게 우선순위를 주는 기법 에이징을 활용해 해결한다/ 2. 교착 상태가 발생하기 위해 충족되어야 하는 4가지 필수 조건에 대해 설명해주세요.교착 상태가 발생하기 위해선 4가지 필요조건이 있다.
3. 교착 상태를 해결하기 위한 3가지 주요 접근 방식(예방, 회피, 검출/회복)의 개념과 차이점을 설명해주세요.교착상태 예방교착상태 필요조건 4가지 중 하나라도 아예 발생하지 않도록 사전에 예방하는 방법이다. 교착상태 회피는 자원 요청이 들어왔을 때, 교착상태가 발생할 가능성이 있는지 안전성을 검사한 뒤에만 자원을 할당해 주는 방법으로 대표적인 알고리즘으로 은행원 알고리즘이 있다. 은행원 알고리즘은 쉽게 말해서 은행에서 빌려줄 수 있는 돈을 정해놓고, 은행도 살아남을 수 있는 최소 돈(안전 상태)을 남겨 둘 수 있도록 하는 알고리즘이다. 만약 불안정 상태에 빠질 위험이 있다면 자원 할당을 거부하고 프로세스를 대기 시킨다! 이 방식은 프로세스가 실행 중에 사용할 최대 자원 요구량을 미리 명시해야 한다. 이는 현실적으로 매우 어렵고 자원이 요청 될 때 마다 매번 시뮬을 돌려야 해서 오버헤드가 크다. 교착 상태 검출/회복교착상태 발생을 사전에 막지 않고 그냥 냅둔 뒤 주기적으로 검사해서 교착상태가 발생했다면 해결하는 방법을 말한다. 이 방식은 검사를 자주 하면 오버헤드가 발생할 수 있지만, 예방이나 회피 방식 보다는 자원의 제약이 적다. |
1. 교착 상태(Deadlock)란 무엇이며, 기아 상태(Starvation)와는 어떤 차이가 있나요?교착 상태란 둘 이상의 프로세스나 스레드가 서로가 점유한 자원을 기다리며 정체된 상태를 말합니다. 반면 기아상태란 다른 작업은 진행되지만, 우선순위에서 밀린 특정 프로세스나 스레드가 필요한 자원을 계속해서 할당받지 못해 실행되지 않는 상태입니다.
2. 교착 상태가 발생하기 위해 충족되어야 하는 4가지 필수 조건에 대해 설명해주세요.교착상태가 발생하기 위해서는 다음 네가지 필요조건이 요구됩니다. (Coffman조건)
3. 교착 상태를 해결하기 위한 3가지 주요 접근 방식(예방, 회피, 검출/회복)의 개념과 차이점을 설명해주세요.
|
기본 질문1. 교착 상태(Deadlock)란 무엇이며, 기아 상태(Starvation)와는 어떤 차이가 있나요?교착상태란 다중 프로그래밍 시스템에서 프로세스가 절대 일어나지 않을 이벤트를 기다리는 상태를 말합니다. 즉, 둘 이상의 프로세스가 서로 다른 프로세스의 작업이 끝나기를 기다리는데 실질적으론 각각 프로세스를 끝낼 수 없는 상황이라 절대 일어나지 않을 사건을 기다리는 상태입니다. 그에 반해 기아 상태는 스케줄링 알고리즘에 의해 특정 프로세스가 우선순위가 밀려 작업 할당이 미뤄지는 현상을 말합니다. 2. 교착 상태가 발생하기 위해 충족되어야 하는 4가지 필수 조건에 대해 설명해주세요.교착 상태가 발생하기 위해 충족되어야 하는 4가지 조건은 상호 배제, 비선점 자원, 점유와 대기, 원형 대기가 있습니다. 상호 배제는 공유할 수 없는 자원을 서로 원하는 상태, 비선점 자원은 다른 프로세스에 할당된 자원을 빼앗을 수 없는 자원을 사용하는 것, 점유와 대기는 자원 하나를 점유한채로 다른 자원을 기다리는 상태, 원형 대기는 점유 대기하는 프로세스가 순환 구조를 이루는 상태를 말합니다. 여기서 오해가 생길 수 있는 지점이 ‘4가지가 발현되면 반드시 교착 상태가 발생한다’라는 점인데 그렇지 않고 4가지가 발현되면 교착 상태가 발생할 수 있는 가능성이 존재하는 상태가 되는 것입니다. 3. 교착 상태를 해결하기 위한 3가지 주요 접근 방식(예방, 회피, 검출/회복)의 개념과 차이점을 설명해주세요.교착 상태를 해결하기 위해선 예방, 회피, 검출과 회복의 방식이 있습니다. 먼저 예방은 처음부터 교착 상태 발생 조건 4가지를 만족하지 못하게 사전에 차단하는 방식입니다. 예를 들어 ‘상호 배제를 예방한다’라면 독점적으로 사용할 수 있는 자원을 없애는 것입니다. 하지만 현실적으로 상호 배제를 예방하는 것은 어려우며 다른 조건 또한 예방하는 자체는 현실적인 어려움이 있습니다. 즉, 예방은 가장 강력한 해결 방식이지만 실제 시스템에 실현하기 어렵다는 한계가 존재합니다. 회피는 어느 수준 이상의 자원을 나눠주면 교착 상태가 발생하는지 파악하고 그 수준 이하로 자원을 할당해주는 방식입니다. 이때 교착 상태가 발생하지 않는 범위를 안정 상태, 교착 상태가 발생하는 범위를 불안정 상태로 구분짓고 불안정 상태에 돌입하지 않게 관리합니다. 이때 불안정 상태의 범위는 최대한 비관적으로 예측하기에 만약 불안정 상태에 진입한다해도 교착 상태가 발생하지 않을 수도 있습니다. 검출/회복은 교착 상태를 검출하고 회복하여 교착상태에서 빠져나오는 방식입니다. 먼저 검출은 일정 시간동안 작업이 진행되지 않는 프로세스를 교착 상태에 빠졌다고 판단하는 타임아웃, 비차단 프로세스를 하나씩 지워보며 일부 엣지가 남으면 교착상태라고 판단하는 자원 할당 그래프 방식으로 교착 상태를 판단하고 이후 교착 상태를 일으킨 프로세스를 동시에 종료시키거나 우선 순위를 고려해 희생자를 선정해 희생자의 자원을 전부 회수해 다시 작업이 원활히 흐르도록 하는 방식입니다. |
|
1. 교착 상태(Deadlock)란 무엇이며, 기아 상태(Starvation)와는 어떤 차이가 있나요? 교착상태란, 서로다른 프로세스가 자원을 각자 선점하여, 결국 프로세스 진행이 멈추는 상태를 의미한다. 기아상태는 프로세스가 후순위로 밀려 처리가 늦어지는 문제로, 기아상태가 지연의 문제라면 교착상태는 정지의 문제이다. 교착상태가 더 심각한 문제라고 볼 수 있다. 물론 프로세스 자원할당에 따라 기아상태도 무기한 연기될 수 있다. 다만 교착은 외부 개입 없이는 그냥 자원만 먹고 stop 되기 때문에 더 위험한 놈임. 2. 교착 상태가 발생하기 위해 충족되어야 하는 4가지 필수 조건에 대해 설명해주세요. 교착상태가 발생하기 위해서는 네가지 필수조건을 모두 만족해야 하며, 한가지라도 만족하지 않을 시 교착상태가 발생하지 않는다.
3. 교착 상태를 해결하기 위한 3가지 주요 접근 방식(예방, 회피, 검출/회복)의 개념과 차이점을 설명해주세요.
|
1. 교착 상태(Deadlock)란 무엇이며, 기아 상태(Starvation)와는 어떤 차이가 있나요?교착 상태란 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고있는 자원을 요구해 계속 기다리는 현상을 말합니다 2. 교착 상태가 발생하기 위해 충족되어야 하는 4가지 필수 조건에 대해 설명해주세요.
3. 교착 상태를 해결하기 위한 3가지 주요 접근 방식(예방, 회피, 검출/회복)의 개념과 차이점을 설명해주세요.예방 회피 검출/회복 |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
📆 일자: 26년 7월 31일(금)
발제 의도
1. 교착 상태(Deadlock)란 무엇이며, 기아 상태(Starvation)와는 어떤 차이가 있나요?
2. 교착 상태가 발생하기 위해 충족되어야 하는 4가지 필수 조건에 대해 설명해주세요.
3. 교착 상태를 해결하기 위한 3가지 주요 접근 방식(예방, 회피, 검출/회복)의 개념과 차이점을 설명해주세요.
All reactions