데커 알고리즘

작가: Robert Simon
창조 날짜: 17 6 월 2021
업데이트 날짜: 24 6 월 2024
Anonim
[OS] Lecture 6. Process Synchronization and Mutual Exclusion (2/7) - SW solutions / 운영체제 강의
동영상: [OS] Lecture 6. Process Synchronization and Mutual Exclusion (2/7) - SW solutions / 운영체제 강의

콘텐츠

정의-데커 알고리즘은 무엇을 의미합니까?

Dekker의 알고리즘은 동시 프로그래밍에서 상호 배제 문제를 해결하는 최초의 알려진 알고리즘입니다. Th로 인정됩니다. 네덜란드의 수학자 인 J. Dekker는 다른 사기에 대한 알고리즘을 만들었습니다. Dekkers 알고리즘은 프로세스 큐에 사용되며 두 개의 서로 다른 스레드가 통신에 공유 메모리를 사용하여 충돌없이 동일한 단일 사용 리소스를 공유 할 수 있습니다.


Microsoft Azure 및 Microsoft 클라우드 소개 | 이 가이드를 통해 클라우드 컴퓨팅에 관한 모든 내용과 클라우드에서 비즈니스를 마이그레이션하고 운영하는 데 Microsoft Azure가 어떻게 도움이되는지 알아 봅니다.

Techopedia는 Dekkers Algorithm을 설명합니다

Dekker의 알고리즘은 두 프로세스가 동시에 리소스를 사용하려는 경우 단일 프로세스 만 리소스를 사용할 수 있도록합니다. 알고리즘의 핵심은이 문제를 해결하는 방법입니다. 상호 배제를 적용하여 충돌을 방지하는 데 성공합니다. 즉, 한 프로세스는 한 번에 하나의 자원 만 사용할 수 있으며 다른 프로세스가이를 사용하는 경우 대기합니다. 이것은 두 개의 "플래그"와 "토큰"을 사용하여 달성됩니다. 플래그는 프로세스가 임계 섹션 (CS)에 들어가기를 원하는지 여부를 나타냅니다. 값이 1이면 프로세스가 CS를 입력하려고하는 TRUE를 의미하고 0 또는 FALSE는 반대를 의미합니다. 1 또는 0의 값을 가질 수도있는 토큰은 두 프로세스 모두 플래그가 TRUE로 설정되어있을 때 우선 순위를 나타냅니다.

이 알고리즘은 상호 배제를 성공적으로 시행 할 수 있지만 중요한 섹션이 사용 가능한지 여부를 지속적으로 테스트하므로 상당한 프로세서 시간이 낭비됩니다. 잠금 단계 동기화라고하는 문제가 발생하며 각 스레드는 엄격한 동기화에서만 실행될 수 있습니다. 또한 상호 배제를 위해 최대 두 개의 프로세스 만 지원하므로 확장 할 수 없습니다.