wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Dekkers Algorithm

profile
Priti Pandav
Sep 09, 2024
0 Likes
0 Discussions
159 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

Difference Between Classification And Clustering

Blog banner

Operating system

Blog banner

Heart Fulness Meditation

Blog banner

"Audit" In Data Science

Blog banner

Deadlock

Blog banner

Culture Of Ladakh

Blog banner

Deadlock

Blog banner

Cycling

Blog banner

An Approach To Spyware Detection And Removal

Blog banner

How to Run your First android App

Blog banner

A-B-C of Networking: Part-2 (Components)

Blog banner

Memory Management

Blog banner

Lemon and Chilli Pickle (Limbu Mirchi Achar)

Blog banner

Memory management

Blog banner

What is Amazon?

Blog banner

Corporate Discipline.

Blog banner

Virus

Blog banner

Mumbai Metro 3

Blog banner

Demystifying Cryptography: A Beginner's Guide

Blog banner

Process Description

Blog banner

Threats To Computer System

Blog banner

Operating system

Blog banner

The Essential Guide to Dynamic Arrays vs. Linked Lists: Which to Use and When ?

Blog banner

semaphores

Blog banner

OS- Assignnment 1

Blog banner

Building a Better You: Fitness Tips and Inspiration.

Blog banner

?Why Does My Breath Still Smell After Brushing?

Blog banner

Starvation

Blog banner

THE LEGAL ISSUES OF COMPUTER FORENSICS IN INDIA

Blog banner

operating system

Blog banner

Zomato (Income Sources)

Blog banner

TRELLO

Blog banner

Service transition principles

Blog banner

5 Powerful Mindset Shifts To Make 2026 Your Breakthrough Year

Blog banner

A Heartfelt Act of Kindness

Blog banner

Mental Health

Blog banner

What is Anxiety? How to manage Anxiety?

Blog banner

How Men and Women Process Pain Differently

Blog banner

Blockchain

Blog banner

OS Assignment-3

Blog banner

INTRODUCTION TO C#

Blog banner

Fashion marketing in india

Blog banner