1) For the Peterson solution find a situation using pre-emption where both process get into busy wait situation. adefine N 2 adefine TRUE 1 ndefine FASE e int interested [N] = FALSE; int turn; void Entry-section(int process) int other; other - 1-process; interested[process] - TRUE; turn - process; while(interested other]-TRUE 8& turn = process); [CRITICAL SECTION] void Exit section(int process) interested[process] = FALSE;

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
1) For the Peterson solution find a situation using pre-emption where both process get into
busy wait situation.
#define N 2
#idefine TRUE 1
#define FASE O
int interested [N] = FALSE;
int turn;
void Entry-section(int process)
int other;
other = 1-process;
interested[process] - TRUE;
turn - process;
while(interested[other]=TRUE && turn = process);
[CRITICAL SECTION]
void Exit section(int process)
interested[process] = FALSE;
2) For the sleep and wake algorithm find a situation using pre-emption where both producer
and consumer fall asleep.
#define N 100
#define count=0
void producer (void)
void consumer(void)
int item;
while(True)
{
item = produce_item();
if(count =- N)
sleep();
insert_item(item);
count = count+1;
int item;
while(True)
{
if(count == 0)
sleep();
item=removeitem();
count = count -1;
if(count=-N-1)
wake_up(producer);
consumer_item(item);
if(count==1)
wake_up(consumer);
Transcribed Image Text:1) For the Peterson solution find a situation using pre-emption where both process get into busy wait situation. #define N 2 #idefine TRUE 1 #define FASE O int interested [N] = FALSE; int turn; void Entry-section(int process) int other; other = 1-process; interested[process] - TRUE; turn - process; while(interested[other]=TRUE && turn = process); [CRITICAL SECTION] void Exit section(int process) interested[process] = FALSE; 2) For the sleep and wake algorithm find a situation using pre-emption where both producer and consumer fall asleep. #define N 100 #define count=0 void producer (void) void consumer(void) int item; while(True) { item = produce_item(); if(count =- N) sleep(); insert_item(item); count = count+1; int item; while(True) { if(count == 0) sleep(); item=removeitem(); count = count -1; if(count=-N-1) wake_up(producer); consumer_item(item); if(count==1) wake_up(consumer);
Expert Solution
steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Intelligent Machines
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education