List four design issues for which the concept of concurrency is relevant.
What is the basic requirement for the execution of concurrent processes?
List three degrees of awareness between processes and briefly define each.
What is the distinction between competing processes and cooperating processes?
List the three control problems associated with competing processes and briefly
define each.
List the requirements for mutual exclusion.
What is a monitor?
What is the distinction between blocking and nonblocking with respect to messages?

Sample Solution

1) Resource sharing/allocation: When multiple processes need access to the same resources, concurrency can be used to ensure that the system is able to manage and allocate those resources efficiently.

 

Sample Solution

1) Resource sharing/allocation: When multiple processes need access to the same resources, concurrency can be used to ensure that the system is able to manage and allocate those resources efficiently.

 

2) Timing: Concurrency can be used for timing-sensitive tasks in order for them to run concurrently in order to maximize efficiency and minimize delays.
3) Deadlock avoidance: Concurrency allows processes to avoid deadlocks by ensuring that all requests are handled in a timely manner when they come into contention with one another.
4) Interrupt handling: In some systems, concurrent processes may have different levels of priority or urgency which necessitates interrupt handling techniques in order for these varying levels of priority or urgency to be managed appropriately.

The basic requirement for the execution of concurrent processes is synchronization between them which helps coordinate their activities so that any conflicts do not arise leading potential data inconsistencies or undesirable outcomes.

Three degrees of awareness between processes are mutual exclusion, communication and synchronization. Mutual exclusion deals with providing exclusive access to shared resources; communication provides a way for two or more entities to transfer information; and synchronization establishes an agreement on how two separate process should interact with each other at certain points.

Competing processes compete for computing resources whereas cooperating processes work together cooperatively toward achieving a goal within a system.

Three control problems associated with competing process are bounded buffer (producer-consumer), reader-writer and dining philosophers problem. The bounded buffer producer-consumer problem deals with controlling the flow rate while synchronizing producers consumers through use semaphores maintain buffer full empty cases Reader writer problem concerns control readers writers accessing critical section database simultaneously Dining philosophers problem involves maintaining mutually exclusive access resource forks table

Requirements for mutual exclusion include mutual exclusion must hold even under failure conditions, no thread should wait forever when attempting enter critical region progress must always guaranteed All threads must follow same protocol entry exit regions< br >< br >A monitor is an advanced type of synchronization mechanism that ensures only one thread is executing inside its critical sections at any given time It also provides convenient ways writing structured code facilitate dealing race conditions special variables called condition variables< br >< br >Blocking refers waiting until message received before continuing operations Nonblocking means messages sent without waiting confirmation

This question has been answered.

Get Answer