The L-exclusion problem is a variant of the starvation-free mutual exclusion problem. We make two changes: as many as L threads may be in the critical section at the same time, and fewer than L threads might fail (by halting) in the critical section. An implementation must satisfy the following conditions:_____.
L-Exclusion: At any time, at most L threads are in the critical section.
L-Starvation-Freedom: As long as fewer than L threads are in the critical section, then some thread that wants to enter the critical section will eventually succeed (even if some threads in the critical section have halted).
Modify the n-process Bakery mutual exclusion algorithm to turn it into an L-exclusion algorithm. Do not consider atomic operations in your answer. You can provide a pseudo-code solution or written solution.

Answers

Answer 1

Answer:

The solution is as follows.

class LFilters implements Lock {

int[] lvl;

int[] vic;

public LFilters(int n, int l) {

lvl = new int[max(n-l+1,0)];

vic = new int[max(n-l+1,0)];

for (int i = 0; i < n-l+1; i++) {

lvl[i] = 0;

}

}

public void lock() {

int me = ThreadID.get();

for (int i = 1; i < n-l+1; i++) { // attempt level i

lvl[me] = i;

vic[i] = me;

// rotate while conflicts exist

int above = l+1;

while (above > l && vic[i] == me) {

above = 0;

for (int k = 0; k < n; k++) {

if (lvl[k] >= i) above++;

}

}

}

}

public void unlock() {

int me = ThreadID.get();

lvl[me] = 0;

}

}

Explanation:

The code is presented above in which the a class is formed which has two variables, lvl and vic. It performs the operation of lock as indicated above.


Related Questions

You want a cable that could be used as a bus segment for your office network. The cable should also be able to support up to 100 devices. Which cable should you use?

A.
RG-6
B.
RG-8
C.
RG-58U
D.
RG-59

Answers

Answer: C

Explanation:

what is the best plugin for subscription sites?

Answers

Answer:

Explanation:

MemberPress. MemberPress is a popular & well-supported membership plugin. ...

Restrict Content Pro. ...

Paid Memberships Pro. ...

Paid Member Subscriptions. ...

MemberMouse. ...

iThemes Exchange Membership Add-on. ...

Magic Members. ...

s2Member.

Page Setup options are important for printing a PowerPoint presentation a certain way. The button for the Page Setup dialog box is found in the
File tab.
Home tab.
Design tab.
Slide Show tab.

Answers

Answer: Design tab

Explanation:

The page setup simply refers to the parameters which are defined by a particular user which is vital in knowing how a printed page will appear. It allows user to customize the page layout. The parameters include size, page orientation, quality of print,margin etc.

It should be noted that page setup options are vital for printing a PowerPoint presentation in a certain way and the button for the Page Setup dialog box can be found in the design tab.

Which of the following is not the disadvantage of closed
network model?
Select one:
O Flexibility
O Public network connection
O Support
O External access​

Answers

Answer:

public network connection

Answer:

public network connection

Write a C program that right shifts an integer variable 4 bits. The program should print the integer in bits before and after the shift operation. Does your system place 0s or 1s in the vacated bits?

Answers

Solution :

#include<[tex]$\text{stdio.h}$[/tex]>

#include<conio.h>

void dec_bin(int number) {

[tex]$\text{int x, y}$[/tex];

x = y = 0;

for(y = 15; y >= 0; y--) {

x = number / (1 << y);

number = number - x * (1 << y);

printf("%d", x);

}

printf("\n");

}

int main()

{

int k;

printf("Enter No u wanted to right shift by 4 : ");

scanf("%d",&k);

dec_bin(k);

k = k>>4; // right shift here.

dec_bin(k);

getch();

return 0;

}

A line beginning with a # will be transmitted to the programmer’s social media feed.

A.
True

B.
False

Answers

Answer:

True?

Explanation:

Answer:

The answer is false.

Explanation:

A “#” doesn’t do that in Python.

Which of the following best explains how an analog audio signal is typically represented by a computer?
a. An analog audio signal is measured at regular intervals. Each measurement is stored as a sample, which is represented at the lowest level as a sequence of bits.
b. An analog audio signal is measured as a sequence of operations that describe how the sound can be reproduced. The operations are represented at the lowest level as programming instructions.
c. An analog audio signal is measured as input parameters to a program or procedure. The inputs are represented at the lowest level as a collection of variables.
d. An analog audio signal is measured as text that describes the attributes of the sound. The text is represented at the lowest level as a string.

Answers

Answer:

A. An analog audio signal is measured at regular intervals. Each measurement is stored as a sample, which is represented at the lowest level as a sequence of bits.

Explanation:

I took the test

a) Why is eavesdropping done in a network?
b) Solve the following using checksum and check the data at the
receiver:
01001101
00101000​

Answers

Answer:

An eavesdropping attack is the theft of information from a smartphone or other device while the user is sending or receiving data over a network.

Missing: checksum ‎01001101 ‎00101000

is used for finding out about objects, properties and methods​

Answers

Answer:

science

Explanation:

Which line of code will use the overloaded multiplication operation?

class num:
def __init__(self,a):
self.number = a

def __add__(self,b):
return self.number + 2 * b.number

def __mul__(self, b):
return self.number + b.number

def __pow__(self, b):
return self.number + b.number

# main program
numA = num(5)
numB = num(10)

Which line of code will use the overloaded multiplication operation?

class num:
def __init__(self,a):
self.number = a

def __add__(self,b):
return self.number + 2 * b.number

def __mul__(self, b):
return self.number + b.number

def __pow__(self, b):
return self.number + b.number

# main program
numA = num(5)
numB = num(10)

a) product = numA * numB
b) product = numA.multiply(numB)
c) product = numA.mul(numB

Answers

For multiplication one: product = numA * numB

For the addition: result = numA + numB

got 100 on this ez

(searched all over internet and no one had the answer lul hope this helps!)

Answer: First option: product = numA * numB

second option-numA + numB

Explanation:

Write a MIPS assembly language program that prompts for a user to enter a series of floating point numbers and calls read_float to read in numbers and store them in an array only if the same number is not stored in the array yet. Then the program should display the array content on the console window.
Consult the green sheet and the chapter 3 for assembly instructions for floating point numbers. Here is one instruction that you might use:
c.eq.s $f2, $f4
bc1t Label1
Here if the value in the register $f2 is equals to the value in $f4, it jumps to the Label1. If it should jump when the value in the register $f2 is NOT equals to the value in $f4, then it should be:
c.eq.s $f2, $f4
bc1f Label1
To load a single precision floating point number (instead of lw for an integer), you might use:
l.s $f12, 0($t0)
To store a single precision floating point number (instead of sw for an integer), you might use:
s.s $f12, 0($t0)
To assign a constant floating point number (instead of li for an integer), you might use:
li.s $f12, 123.45
To copy a floating point number from one register to another (instead of move for an integer), you might use:
mov.s $f10, $f12
The following shows the syscall numbers needed for this assignment.
System Call System Call System Call
Number Operation Description
2 print_float $v0 = 2, $f12 = float number to be printed
4 print_string $v0 = 4, $a0 = address of beginning of ASCIIZ string
6 read_float $v0 = 6; user types a float number at keyboard; value is store in $f0
8 read_string $v0 = 8; user types string at keybd; addr of beginning of string is store in $a0; len in $a1
------------------------------------------
C program will ask a user to enter numbers and store them in an array
only if the same number is not in the array yet.
Then it prints out the result array content.
You need to write MIPS assembly code based on the following C code.
-------------------------------------------
void main( )
{
int arraysize = 10;
float array[arraysize];
int i, j, alreadyStored;
float num;
i = 0;
while (i < arraysize)
{
printf("Enter a number:\n");
//read an integer from a user input and store it in num1
scanf("%f", &num);
//check if the number is already stored in the array
alreadyStored = 0;
for (j = 0; j < i; j++)
{
if (array[j] == num)
{
alreadyStored = 1;
}
}
//Only if the same number is not in the array yet
if (alreadyStored == 0)
{
array[i] = num;
i++;
}
}
printf("The array contains the following:\n");
i = 0;
while (i < arraysize)
{
printf("%f\n", array[i]);
i++;
}
return;
}
Here are sample outputs (user input is in bold): -- note that you might get some rounding errors
Enter a number:
3
Enter a number:
54.4
Enter a number:
2
Enter a number:
5
Enter a number:
2
Enter a number:
-4
Enter a number:
5
Enter a number:
76
Enter a number:
-23
Enter a number:
43.53
Enter a number:
-43.53
Enter a number:
43.53
Enter a number:
65.43
The array contains the following:
3.00000000
54.40000153
2.00000000
5.00000000
-4.00000000
76.00000000
-23.00000000
43.52999878
-43.52999878
65.43000031

Answers

Explanation:

Here if the value in the register $f2 is equals to the value in $f4, it jumps to the Label1. If it should jump when the value in the register $f2 is NOT equals to the value in $f4, then it should be

This program exercise #4 wants the user to write a program in python that contains a list of movies titles, years and movie rating. You will need to display a menu option that allows the user to list all of the movies, add a movie, delete a movie and exit out of the program. This will be done using lists and the functions to add an element to a list and how to delete an element to a list. The program should be written utilizing functions in python for the main function, the display_menu function, the delete function, the add function and the list movie function. You can place this all in one python file or include them in various python files that include them into the main program. Let me know if you have any questions with this exercise. Output Screen: COMMAND MENU list - List all movies add - Add a movie del - Delete a movie exit - Exit program Command List: list 1. Monty Python and the Holy Grail, 1979, R 2. On the Waterfront, 1954, PG 3. Cat on a Hot Tim Roof, 1958, R Command: add Name: Gone with the Wind Year: 1939 Rating: PG Gone with the Wind was added.

Answers

Answer:

The program in Python is as follows:

def display_menu(titles,years,ratings):

   for i in range(len(titles)):

       print(str(i+1)+". "+titles[i]+", "+str(years[i])+", "+str(ratings[i]))

   

def delete(titles,years,ratings):

   del_item = input("Movie: ")

   if del_item in titles:

       print(del_item,"was deleted")

       index = titles.index(del_item)

       titles.pop(index)

       years.pop(index)

       ratings.pop(index)

   return(titles,years,ratings)

   

def add(titles,years,ratings):

   title = input("Title: ")

   year = int(input("Year: "))

   rating = int(input("Ratings: "))

   print(title,"was added")

   titles.append(title)

   years.append(year)

   ratings.append(rating)

   

   return(titles,years,ratings)

titles = []

years = []

ratings = []

print("COMMAND MENU list\nlist - List movies\nadd - Add movie del\ndel - Delete movie exit\nexit - Exit program")

menu = (input("Command List: "))

while(menu.lower() == "list" or menu.lower() == "add" or menu.lower() == "del"):

   if menu.lower() == "list":

       display_menu(titles,years,ratings)

   elif menu.lower() == "add":

       titles, years, ratings = add(titles,years,ratings)

   elif menu.lower() == "del":

       titles, years, ratings = delete(titles,years,ratings)

   menu = (input("Command List: "))

   elif menu.lower() == "exit":

       break

print("Exited!!!")

Explanation:

See attachment for complete program where comments are used to explain some lines of the program

what connect webpages?​

Answers

Anchor tags or hyperlinks are used to connect webpages.

Answer:

"Hypertext links are those words that take you from one web page to another when you click them with your mouse. Although the same HTML tag you study in this hour is also used to make graphical images into clickable links, graphical links aren't explicitly discussed here" I got this from https://www.informit.com/articles/article.aspx?p=440289 sorry I couldnt take the time myself here to help :(

Explanation:

-1
Draw a flowchart to input two
numbers in variables M and N and
print the multiplication table from 1*1
to M*N​

Answers

Answer:A flowchart is a diagram that depicts the steps involved in solving a problem. The following flowchart shows how to output the multiplication table ( n * 1 to m * 1) of a number, n and m:

Factory Design Pattern Assignment This assignment will give you practice in using the Factory/Abstract Factory Design Pattern. You are going to create a Terraforming program. What does terraform mean

Answers

Answer:

Terraform is an open-source infrastructure as code software tool that enables you to safely and predictably create, change, and improve infrastructure.

What is the hamming distance between the following bits? Sent
bits: 101100111, Received bits: 100111001
Select one: 5. Or 3 or 6 or4​

Answers

I think

the hamming distance between the following bits its 5

Other Questions
Refer to the Newsela article "Alas, Shakespeare Won't Be Taught in This Class." What is Christine Baker's argument in favor of teaching the works of William Shakespeare? Shakespeare will give her students ideas of how to improve their own lives. The themes presented by Shakespeare are easily relatable for her students. Her students will develop an appreciation for English literature as a result of reading Shakespeare's works. Shakespeare's works are akin to those of modern-day writers. Qu pasa en nuestro cerebro cuando tomamos decisiones? Ejemplo: Estoy tocando una plancha caliente, y saco la mano rpidamente, que paso en mi cerebro? What are two natural processes in which ammonia is created? Quadrilateral ABCD is a dilation of ABCD about point F. Please Help. UrgentWhat is the scale factor?A. 0.4B. 1.5C. 2.5D. 5 Read the excerpt below and answer the question....but a month or so later I received the official communication that turns the blood to icewaterThe underlined phrase is an example of _____.ironyhyperboleeuphemismunderstatement Which of the following represents an alpha particle?O A. jeB. HeO C. YO D.B write 3^n / 9^n-1 as a power of 3 area of triangle with width= 18cmbreadth=14cmheight=11cm Thomas Paine was did he encourage a rebellion against the British. help! geometry find the arc length of the shaded sector arc length = blank cm A rabbit population triples every year. If the rabbit population starts with 4 rabbits, then how many will there be in 6 years? Base excision repair is responsible for fixing (select all that apply): Group of answer choices individual damaged nucleotides that minimally impact the helix structure. double stranded breaks. single stranded breaks. individual damaged nucleotides that cause a major impact to the helix structure. 6_7/8 Rename the mixed number by regrouping? i need help pleeeeease Question 25 ptsThe air inside a beach ball is at a temperature of 25C a pressure of 1.0 atm. The ballcontains 0.85 mol of air, what is its volume?21 L27 L0 17106.11< PreviousNest Where was the first novel produced?GreeceItalyGermanyFrance My teacher assigned us to draw a still life of a cup/container from observation.. is this fine?Rate it pls How does human consumption of limited resources impact the biosphere? 1 paragraph I need help as soon as poible 557= please help me out i'm so depressed and such a failurehow does the brightness of the lamp (L) vary if we dispalce the cursor (C) of the rheostata)Towards Ab) Towards B