wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Dekkers Algorithm

profile
Priti Pandav
Sep 09, 2024
0 Likes
0 Discussions
147 Reads

Dekker's Algorithm is a solution to the mutual exclusion problem in computer science. It allows multiple processes to share a common resource without conflicts.




*Problem Statement:*




Two or more processes want to access a shared resource, but only one process can access it at a time.




*Dekker's Algorithm:*




1. Two processes, P0 and P1, want to access the shared resource.

2. Each process has a flag variable (flag0 and flag1) initialized to false.

3. Process P0 sets flag0 to true and checks flag1. If flag1 is true, P0 waits.

4. Process P1 sets flag1 to true and checks flag0. If flag0 is true, P1 waits.

5. If a process finds the other process's flag false, it enters the critical section (accesses the shared resource).

6. After accessing the resource, the process sets its flag to false.




*Key Points:*




1. Dekker's Algorithm ensures mutual exclusion (only one process accesses the resource at a time).

2. It uses flag variables to communicate between processes.

3. A process waits if it finds the other process's flag true.




*Example:*

```

// Process P0

flag0 = true;

while (flag1) { /* wait */ }

// Critical section

flag0 = false;




// Process P1

flag1 = true;

while (flag0) { /* wait */ }

// Critical section

flag1 = false;

```

Dekker's Algorithm is a simple and efficient solution to the mutual exclusion problem, but it has some limitations, such as:




- It only works for two processes.

- It uses busy-waiting, which can waste CPU cycles.




More advanced algorithms, like Peterson's Algorithm and Lamport's Bakery Algorithm, have been developed to address these limitations.


Comments ()


Sign in

Read Next

Best password managers: Reviews of the top products

Blog banner

How To Invest In Indian Stock Market @ BSE & NSE ~ Tutorial 3

Blog banner

OS assignment 3

Blog banner

6 Digital Marketing Trends You Must Watch Out For In 2022

Blog banner

How To Invest in Indian Stock Market For Beginners. ~ Tutorial 2 (NSDL And CSDL) Continued...

Blog banner

Environmental Management using GIS

Blog banner

Memory Management

Blog banner

The Art Of Getting What You Want In Life....

Blog banner

Mail merge

Blog banner

The Memory Hierarchy

Blog banner

Honeypot in cyber security

Blog banner

Classification Vs Clustring? What's the diffrence?

Blog banner

Famous Indian dishes that where misunderstood to be Indian

Blog banner

How to invest in Indian Stock Market ? ~ Tutorial 1

Blog banner

Financial Fraud Detection

Blog banner

Full Disk Encryption on Digital Forensics

Blog banner

Danger assessment in GIS

Blog banner

The New Dr. Frankenstein who will perform first full head transplant

Blog banner

PHONE TECHNOLOGY

Blog banner

GIS info about Bermuda Triangle

Blog banner

A book review

Blog banner

A Review on Data Acquisition in Cyber Forensics

Blog banner

Photorec - media recovery tool

Blog banner

Smartsheet

Blog banner

Partnership in Learning: How Parent Involvement Shapes a Child’s Early Education

Blog banner

Blog name

Blog banner

Water Resources are about to exhaust...

Blog banner

Service Operations in ITSM

Blog banner

Memory management

Blog banner

12 Principles of Animation

Blog banner

Regression Analysis

Blog banner

Processing Crime and Incident Scenes

Blog banner

Why we should do reading

Blog banner

Computer Security

Blog banner

How Reading Books Shape a Child’s Imagination and Thinking?

Blog banner

Deadlock Prevention

Blog banner

Buffer Overflow

Blog banner

Modern Operating System

Blog banner

SAVE TREES

Blog banner

Improving the Accuracy of GPS and GNSS

Blog banner

Buffering

Blog banner

Why Consistency in Eating Habits Matters and How Meal Maharaj Makes It Easy

Blog banner