찾다
일반적인 문제교착상태가 발생하기 위한 필요조건

교착상태가 발생하기 위한 필요조건

Jul 22, 2019 pm 12:00 PM
이중 자물쇠

교착 상태에 필요한 네 가지 조건

교착상태가 발생하기 위한 필요조건

상호 배제 조건: 리소스는 배타적이며 독점적으로 사용됩니다. 즉, 다른 프로세스가 적용되는 경우 리소스는 언제든지 하나의 프로세스에서만 사용할 수 있습니다. 다른 프로세스가 자원을 점유하면 신청자는 점유자가 자원을 해제할 때까지 기다립니다. (추천 학습: MySQL 동영상 튜토리얼)

탈취 불가능 조건: 프로세스에서 얻은 리소스는 완전히 사용되기 전에 다른 프로세스에서 강제로 박탈되지 않으며, 리소스를 얻은 프로세스에서만 해제할 수 있습니다.

요청 및 보류 조건: 프로세스는 매번 필요한 리소스의 일부에 적용됩니다. 새로운 리소스를 신청하는 동안 할당된 리소스를 계속 점유합니다.

루프 대기 조건: 교착 상태가 발생하면 프로세스 대기 큐 {P1, P2,...,Pn}가 있어야 하며, P1은 P2가 점유한 리소스를 기다리고, P2는 리소스를 기다리고 있습니다. P3이 점유하고 있는 Pn은 P1이 자원을 점유하기를 기다리고 있으며, 이는 프로세스 대기 루프를 형성합니다. 루프의 각 프로세스가 점유한 자원은 동시에 다른 프로세스, 즉 이전 프로세스에 의해 적용됩니다. 후자의 프로세스가 차지하는 리소스를 차지합니다.

위는 교착 상태로 이어지는 네 가지 필수 조건을 제공합니다. 시스템에서 교착 상태가 발생하는 한 위 네 가지 조건 중 적어도 하나가 충족됩니다. 실제로 루프 대기의 설정은 처음 세 가지 조건의 설정을 의미하므로 굳이 나열할 필요는 없을 것 같습니다. 그러나 이러한 조건을 고려하면 교착 상태 발생을 방지할 수 있으므로 이점이 있습니다. 네 가지 조건 중 하나를 파괴합니다.

교착상태 방지

교착상태에 필요한 4가지 조건을 파괴함으로써 교착상태를 방지할 수 있습니다. 자원 상호 배제는 자원 사용의 고유한 특성이므로 변경할 수 없습니다.

"양도할 수 없는" 조건 제거: 프로세스가 필요한 모든 리소스를 얻을 수 없는 경우 대기 상태에 있으며, 해당 프로세스가 점유하고 있는 리소스는 암시적으로 해제되어 시스템 리소스 목록에 다시 추가됩니다. 다른 프로세스에서 사용할 수 있으며, 대기 중인 프로세스는 원래 리소스와 새로 적용된 리소스를 다시 얻은 경우에만 다시 시작하여 실행할 수 있습니다.

"요청 및 보류 조건" 파괴: 첫 번째 방법은 정적 할당입니다. 즉, 각 프로세스는 실행을 시작할 때 필요한 모든 리소스에 적용됩니다. 두 번째는 동적 할당으로, 각 프로세스가 필요한 리소스를 적용할 때 시스템 리소스를 점유하지 않는다는 의미입니다.

"순환 대기" 조건 파괴: 자원의 질서 있는 할당을 채택합니다. 기본 아이디어는 시스템의 모든 자원에 순차적으로 번호를 매기고, 자원이 부족하고 희귀한 자원에 대해 더 큰 숫자를 사용하는 것입니다. 번호 순서를 따라야 합니다. 프로세스는 더 작은 번호를 얻은 경우에만 더 큰 번호의 프로세스에 지원할 수 있습니다.

더 많은 MySQL 관련 기술 기사를 보려면 MySQL Tutorial 칼럼을 방문하여 알아보세요!

위 내용은 교착상태가 발생하기 위한 필요조건의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.