[Process & Thread] 교착상태(Deadlock)

2023. 5. 11. 16:21·CS/OS
목차
  1. 1. 교착 상태
  2. 2. 교착상태의 원인 (4가지 모두 성립)
  3. 3. 해결방법 4가지
728x90

1. 교착 상태

두 개 이상의 프로세스들이 서로가 가진 자원을 기다리며 중단된 상태, 둘 이상의 스레드가 다른 스레드가 점유하고 있는 자원을 서로 기다릴때 무한대기에 빠지는 상황입니다.스레드일수도 있고 프로세스일 수도 있습니다.

 

2. 교착상태의 원인 (4가지 모두 성립)

  1. 상호 배제 : 한 프로세스가 자원을 독점하고 있으며 다른 프로세스들은 접근 불가능
  2. 점유 대기 : 특정 프로세스가 점유한 자원을 다른 프로세스가 요청하는 상태
  3. 비선점 : 다른 프로세스가 점유중인 프로세스의 자원을 강제로 선점 불가
  4. 순환 대기: 대기중인 프로세스들이 사이클을 이룸, 서로가 서로의 자원을 요구하는 상황

 

3. 해결방법 4가지

1) 무시 : 아무조치 안함

2) 예방 : 4가지중 하나가 성립되지 않도록 미리 예방. 비용이 커서 비추천. 자원을 할당할 때 애초에 조건이 성립되지 않도록 설계

3) 회피 : 자원할당 할때 자원할당 그래프, 은행원 알고리즘을 이용하여 데드락을 회피. 교착 상태 가능성이 없을 때만 자원 할당되며, 프로세스당 요청할 자원들의 최대치를 통해 자원 할당 기능 여부를 파악하는 은행원 알고리즘을 씀

4) 회복 : 데드락이 발생 후 탐지하여 회복. 교착 상태가 발생하면 사이클이 있는지 살펴보고 이에 관련된 프로세스를 한개씩 지움

 

은행원 알고리즘 : 총 자원의 양과 현재 할당한 자원의 양을 기준으로 안정 또는 불안정 상태로 나누고 안정 상태로 가도록 자원을 할달하는 알고리즘

 

 

728x90
저작자표시 비영리 변경금지 (새창열림)
  1. 1. 교착 상태
  2. 2. 교착상태의 원인 (4가지 모두 성립)
  3. 3. 해결방법 4가지
'CS/OS' 카테고리의 다른 글
  • [Memory] segmentation
  • [Memory] paging (메모리 관리 기법, 메모리 단편화)
  • [Process & Thread] Multi Process, Multi Thread 동기화 (Mutex, Semaphore)
  • [Process & Thread] 프로세스간 통신(IPC, 공유메모리, 메시지전달)
Karla Ko
Karla Ko
𝘾𝙤𝙣𝙩𝙞𝙣𝙪𝙤𝙪𝙨𝙡𝙮 𝙄𝙢𝙥𝙧𝙤𝙫𝙞𝙣𝙜, 𝘾𝙤𝙣𝙨𝙩𝙖𝙣𝙩𝙡𝙮 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙞𝙣𝙜 𝙔𝙚𝙨!
    250x250
  • Karla Ko
    karlaLog
    Karla Ko
  • 전체
    오늘
    어제
    • Total (467)
      • Spring (19)
      • JPA (4)
      • Cloud & Architecture (15)
        • Kubernetes (5)
        • Docker (3)
        • MSA (2)
        • GCP (1)
        • AWS (4)
      • Devops (1)
      • Message Queue (4)
        • Kafka (2)
        • RabbitMQ (2)
      • Git (4)
      • DB (4)
      • Java (9)
      • Python (4)
      • CS (11)
        • OS (8)
        • Network (2)
        • Algorithm (1)
      • Coding Test (392)
        • programmers (156)
        • Graph (43)
        • DP (37)
        • Search (31)
        • Tree (13)
        • Data Structure (26)
        • Combination (12)
        • Implement (18)
        • Geedy (23)
        • Sort (7)
        • Math (21)
        • geometry (2)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    덱
    힙
    DFS
    조합
    큐
    동적계획법
    다익스트라
    이분탐색
    월간코드챌린지
    최대공약수
    DP
    스택
    자료구조
    그리디
    LIS
    재귀
    최소신장트리
    Algorithm
    파이썬
    알고리즘
    구현
    트리
    프로그래머스
    플로이드워셜
    BFS
    최단거리
    백준
    그래프
    정렬
    구간합
  • hELLO· Designed By정상우.v4.10.3
Karla Ko
[Process & Thread] 교착상태(Deadlock)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.