1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Margarita [4]
3 years ago
13

A file is to be shared among different processes, each of which has a unique number. The file can beaccessed simultaneously by s

everal processes, subject to the following constraint: the sum of all uniquenumbers associated with all the processes currently accessing the file must be less than n. Write amonitor to coordinate access to the file.Your solution should use condition variables. Assume abroadcast()operation can be invoked on acondition variable c to resume all processes suspended on c. Hint: Your monitor should contain twofunctions: one function is called before a process accesses a file and the other function is called after aprocess accesses a file.
Computers and Technology
1 answer:
Finger [1]3 years ago
5 0

Answer:

int sumid=0;    /* Shared var that contains the sum of the process ids currently accessing the file */

int waiting=0;   /* Number of process waiting on the semaphore OkToAccess */

semaphore mutex=1;   /* Our good old Semaphore variable ;) */

semaphore OKToAccess=0;    /* The synchronization semaphore */

get_access(int id)

{

    sem_wait(mutex);

    while(sumid+id > n) {

        waiting++;

        sem_signal(mutex);

        sem_wait(OKToAccess);

        sem_wait(mutex);

    }

    sumid += id;

    sem_signal(mutex);

}

release_access(int id)

{

    int i;

    sem_wait(mutex);

    sumid -= id;

    for (i=0; i < waiting;++i) {

        sem_signal(OKToAccess);

    }

    waiting = 0;

    sem_signal(mutex);

}

main()

{

    get_access(id);

    do_stuff();

    release_access(id);

}

Some points to note about the solution:

release_access wakes up all waiting processes. It is NOT ok to wake up the first waiting process in this problem --- that process may have too large a value of id. Also, more than one process may be eligible to go in (if those processes have small ids) when one process releases access.

woken up processes try to see if they can get in. If not, they go back to sleep.

waiting is set to 0 in release_access after the for loop. That avoids unnecessary signals from subsequent release_accesses. Those signals would not make the solution wrong, just less efficient as processes will be woken up unnecessarily.

You might be interested in
Which type of word processing programs enables users to include illustrations within the program?
Nookie1986 [14]
Microsoft Word, Libre, and Google Docs have always enabled me to insert illustrations. Look for an image icon in the task icon, here you can select an image from your files. 
4 0
3 years ago
Computer forensics is practiced _____. A. Only by specially trained government and law-enforcement personnel B. By many organiza
laiz [17]

Answer:

Option B is the correct answer.

<h3>Computer forensics is practiced by many organizations, including public- and private-sector organizations such as hospitals, law enforcement, and businesses. </h3><h3 />

Explanation:

Computer forensics can be defined as a branch of digital forensics that deals with the evidences and and proofs found on all digital storage media such as computers.

It is basically a step for enhancing security bases of communication. Therefore it is mainly used by law-enforcement personnel but it can also be practiced by other institutions for the purpose of self security.

<h3>I hope it will help you!</h3>
4 0
3 years ago
Write a Python program to replace at most 2 occurrences of space, comma, or dot with a colon. Hint: use re.sub(regex, "newtext",
charle [14.2K]

Explanation:

The "re" module in python provides various functions to perform complex string operations easily.

For example, you can check whether a specific word exists in a given string or to replace it with some other word.  

Some of the functions in the re module are:

re.findall

re.search

re.sub()

We are particularly interested in the re.sub() function, we can use this function to replace the occurrences of space, coma or dot with semicolon.  

Syntax:

re.sub(pattern, replace, target_string, n).  

Where pattern = space, coma or dot  

replace = semicolon  

target_string = any string containing spaces, coma and dots

n = number of times you want the replacement to be done  

Code:

import re  

target_string = "Hello world,code,code."  

replace = ":"

pattern = "[ ,.]"

print(target_string)

print(re.sub(pattern, replace, target_string, 2) )

Output:

Hello world,code,code.

Hello:world:code,code.

It replaced the first white space and coma with semicolon, if we increase the n to 4 then the output is

Hello:world:code:code:

As expected, it replaced all of the space, coma, and dots with semicolons.

7 0
4 years ago
When using the red / yellow / green method to present status of a project, yellow can mean which of the following?
olga nikolaevna [1]

Answer:

Happiness is one of the obvious ones however I was not given any of the following so I am unsure as to what my options were.

Explanation:

the color is bright and is usually be thought to be the color of the sun which could give us happiness after a rainy day

8 0
4 years ago
Which of the following is NOT an option in the comments group
IgorLugansk [536]
I need the options to help you out, thanks. :)
4 0
3 years ago
Other questions:
  • Can someone fix this so that it only says "its a payday" on 15 and 30 and on all other days "sorry, it's not payday"
    9·1 answer
  • Modify the program so that it can do any prescribed number of multiplication operations (at least up to 25 pairs). The program s
    10·1 answer
  • Gerry used html for her website. which best describes html
    15·1 answer
  • 4. Write an appropriate comment for describ-
    11·1 answer
  • Use the drop-down menu to complete the sentences about the benefits of flowcharts.
    5·1 answer
  • What is computer? Write is features <br><br><br><br><br>​
    14·1 answer
  • Which pane in PowerPoint contains images of the slides in the order they appear in the presentation
    8·2 answers
  • Which is a connectionless protocol in the transport layer? What are the small chunks of data called?
    12·2 answers
  • The abuse of children is a symptom of
    6·2 answers
  • Jorge, a sports statistician for soccer, has kept track of how many shots-on-goal each player on a team made in each game. This
    9·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!