inflearn logo
강의

Course

Instructor

The Basics of CS Knowledge | Design Patterns Network Operating System Database Data Structure

Deadlock ★★★

교착상태의 4가지 필요조건이 필요충분조건이 아닌 이유

Resolved

88

Golden

7 asked

0

안녕하세요 선생님 강의 잘 듣고 있습니다.

 

예전에 운영체제에 대해 배울 때, '교착상태의 4가지 필요충분조건'이라고 배웠었는데, 교안에서는 필요조건이지, 필요충분조건이 아니라고 되어있더라구요.

 

그렇다면, 4가지 조건이 충족되어도 교착상태가 발생하지 않을 수 있다는 것인데, 어떤 경우인지 궁금합니다.

면접 운영체제 기술면접

Answer 1

0

kundol

안녕하세요 ㅎㅎ

예전에 운영체제에 대해 배울 때, '교착상태의 4가지 필요충분조건'이라고 배웠

-> 혹시 해당 교재 스샷있으면 스샷좀 부탁드립니다.

 

먼저 제가 설명드리면요.

네 가지 조건이 모두 성립해도, 실행 순서나 자원 할당 타이밍에 따라 교착상태가 발생하지 않을 수 있습니다.

즉, 4가지 조건 = 교착상태의 가능성을 만드는 조건이고 교착상태 발생 여부 = 실제 자원 할당 상태에 의해 결정됩니다.

ex)

  • 자원: R1, R2 (각각 1개씩)

  • 프로세스: P1, P2

여기서...

  • R1, R2는 상호 배제 자원

  • 프로세스는 자원을 잡고 다른 자원을 요청

  • 자원은 비선점

  • 잠재적으로 순환 대기 구조 가능 -> 교착상태 가능

하지만...

  1. P1이 R1을 획득

  2. P1이 R2를 요청 → 아직 아무도 R2를 안 쓰고 있음

  3. P1이 R2를 획득

  4. P1이 작업 종료 후 R1, R2 반납

  5. 이후 P2가 자원 사용

이렇게 순환 대기가 실제로 형성되기 전에 작업이 끝났기 때문에 교착상태가 발생하지 않을 수 있습니다.

 

 


 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


REST API (Self-descriptive messages)

0

22

1

시스템 엔지니어 관련 질문입니다.

0

50

2

오버라이딩 관련하여 질문드립니다.

0

61

2

렌더 트리, 렌더 레이어와 그래픽 레이어

0

55

2

로컬스토리지, 세션스토리지, 쿠키의 공통점

0

66

1

IPv4가 IPv6보다 빠른 경우

0

97

2

UDP가 전송계층의 역할을 못하는 건 아닌지

0

58

1

Path MTU 발견하였음에도 패킷 분할이 필요한 이유?

0

65

2

교재의 LFU 알고리즘에서 6번이 왜 히트인가요?

0

62

2

페이지 교체 알고리즘? 프레임 교체 알고리즘?

0

80

2

Static 키워드가 메모리에 올라가는 시점

0

74

2

헤더 압축부분 질문드립니다

0

71

2

공유 캐시 관련 질문 드립니다.

0

55

2

컨텍스트는 context와 contextual information으로 나눠진다는게 무슨뜻인가요?

0

198

1

회선과 대역폭의 관계

0

59

2

44강 질문

0

91

2

버스 토폴로지 질문 있씁니다

0

52

1

자바스크립트, xml 문법 관련

0

63

2

전략패턴과 의존성주입 질문

0

68

2

Model이 비즈니스 로직을 담당하나요?

0

105

2

CS 공부 하는 법

0

180

2

큰돌님 블로그에 개념정리해서 올려도될까요!

0

136

2

FIN 세그먼트 질문

0

69

2

flux 패턴 질문

0

67

2