wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Dekkers Algorithm

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

Python as a tool for Data science task & project

Blog banner

What is Spyware?

Blog banner

Health is Wealth

Blog banner

How to Manage Employees and Tasks in One System (Without Excel)

Blog banner

Data carving - using hex editor

Blog banner

Deadlock

Blog banner

Hypothesis Testing in Data Science

Blog banner

IOT Hacking Techniques

Blog banner

The most common internet security threats

Blog banner

Security Breaches in Stock market trading

Blog banner

Life of a 2020-2021 student

Blog banner

Race Conditions

Blog banner

What is a geographic information system (GIS)?

Blog banner

Knowledge Management in Continual Service improvement (CSI)

Blog banner

Developments in Modern Operating Systems

Blog banner

Principles of Service Operation

Blog banner

What is HTML?

Blog banner

How to invest in Indian Stock Market ? ~ Tutorial 1

Blog banner

Memory heirchy

Blog banner

Go Daddy

Blog banner

File management In Operating System

Blog banner

Microsoft Windows Overview

Blog banner

Data Warehousing

Blog banner

You Get Everyone, But No One Gets You: The Lonely Side of High Emotional Intelligence

Blog banner

5 People who claimed to have Time Traveled

Blog banner

OS Assignment 3 Deadlock

Blog banner

HTML vs HTML5

Blog banner

How the mobile IP is used in GSM architecture.

Blog banner

Social engineering in cyber security

Blog banner

Deadlock

Blog banner

Digital Forensics Challenges and Tools

Blog banner

How to tie a Tie

Blog banner

Operating Systems

Blog banner

Hot Mango Pickle (Methiyu)

Blog banner

Business Engineering

Blog banner

What is OS Fingerprinting?

Blog banner

child Labour

Blog banner

OS assignment 3

Blog banner

Why You Should Not Use Free VPNs

Blog banner

An Overview of Virtual Machines

Blog banner

CONCURRENCY

Blog banner

Artificial Intelligence and I

Blog banner