기출문제/정보처리기사

2019년 3회 정보처리기사 기출문제 47번

엉클지니 2025. 4. 20. 23:33

47. 교착상태의 해결 기법 중 일반적으로 자원의 낭비가 가장 심한 것으로 알려진 기법은?

     교착상태의 예방            교착상태의 회피

    교착상태의 발견            교착상태의 복구

 

 

 

정답은 ① 교착상태의 예방입니다.

이제 문제에 대한 자세한 풀이와 해설을 다시 진행하겠습니다.


🔍 문제 해설:

문제는 교착상태 해결 기법 중에서 자원의 낭비가 가장 심한 기법을 묻고 있습니다. 교착상태는 여러 프로세스가 서로 자원을 기다리며 무한히 대기하는 상황을 의미하며, 이를 해결하기 위한 다양한 기법이 있습니다.

교착상태 해결 기법:

  1. 교착상태의 예방 (Deadlock Prevention)
    • 교착상태 예방은 교착상태가 발생하지 않도록 미리 방지하는 기법입니다. 이 기법은 교착상태의 발생을 완전히 차단하려고 합니다.
    • 예방 방법에는 여러 가지가 있습니다. 예를 들어, 자원의 할당 순서를 정하거나, 자원의 획득을 한 번에 전부 요구하는 방식 등을 사용합니다.
    • 이러한 방법은 자원을 낭비할 가능성이 있습니다. 교착상태를 예방하려면 자원을 과도하게 제한해야 하므로, 실제 사용하지 않을 자원까지 미리 예약하거나 제한하는 일이 발생할 수 있습니다. 이로 인해 자원의 낭비가 심해집니다.
  2. 교착상태의 회피 (Deadlock Avoidance)
    • 교착상태 회피는 교착상태가 발생할 수 있는 상태를 실시간으로 예측하여 자원을 할당하는 기법입니다.
    • 대표적인 기법으로 은행가 알고리즘이 있습니다. 이 방법은 자원을 안전한 상태로만 할당하고, 자원 할당 시 시스템이 교착상태에 빠지지 않도록 회피합니다.
    • 회피 기법은 자원을 효율적으로 사용하지만, 필요한 정보를 실시간으로 계산해야 하므로 자원 관리가 복잡하고 비효율적일 수 있습니다.
  3. 교착상태의 발견 (Deadlock Detection)
    • 교착상태 발견은 교착상태가 발생한 후 이를 탐지하여 해결하는 기법입니다.
    • 교착상태가 발생한 후 이를 감지하고 해결 방안을 찾는 방법입니다. 시스템은 자원을 자유롭게 할당하다가 교착상태가 발생하면 이를 탐지하여 해결합니다.
    • 이 방법은 자원 낭비가 적고 효율적이지만, 교착상태가 발생한 후에 이를 해결해야 하므로 교착상태가 지속되는 동안 자원이 낭비될 수 있습니다.
  4. 교착상태의 복구 (Deadlock Recovery)
    • 교착상태 복구는 이미 교착상태가 발생한 후, 이를 해결하기 위한 기법입니다.
    • 예를 들어, 교착상태에 있는 프로세스를 강제로 종료하거나 자원을 강제로 회수하는 방식입니다.
    • 이 방법은 자원 낭비가 가장 심각할 수 있습니다. 왜냐하면 프로세스를 강제로 종료하거나 자원을 회수해야 하므로, 자원의 재사용이나 재분배가 이루어지지 않기 때문에 자원의 낭비가 큽니다.

자원의 낭비가 가장 심한 기법:

  • 교착상태 예방 기법은 교착상태가 발생하지 않도록 미리 자원을 과도하게 예약하거나 자원 할당에 제한을 두는 방식을 사용합니다. 이로 인해 실제로 사용되지 않는 자원까지 미리 할당해야 하므로, 자원의 낭비가 심각합니다.
  • 교착상태 회피교착상태 발견 기법은 자원을 효율적으로 관리하려고 하지만, 교착상태를 발생시키지 않기 위해서는 복잡한 계산과 확인 작업이 필요합니다. 하지만 자원의 낭비가 비교적 적습니다.
  • 교착상태 복구는 이미 교착상태가 발생한 후 해결하는 방식이기 때문에, 자원을 회수하거나 프로세스를 종료해야 하므로 자원의 낭비가 상당히 큽니다. 하지만 교착상태 예방이 더 큰 낭비를 발생시킬 수 있습니다.

✅ 정답:

① 교착상태의 예방 (자원의 낭비가 가장 심한 기법)


결론:

교착상태를 예방하려면 자원의 사용을 과도하게 제한하거나 할당을 미리 예약해야 하기 때문에 자원의 낭비가 가장 심각합니다. 이 때문에 교착상태 예방 기법이 자원 낭비가 가장 심한 기법으로 알려져 있습니다.

추가적인 질문이 있으면 언제든지 물어보세요!