Starting from:

$25

PDP-Assignment 1 Threads, Locks and Semaphores Solved

Your task is to simulate of college and classrooms: There are four kinds of threads: students, visitors, monitor and a one Lecturer per classroom. students must wait to enter classroom if class is running, enter, and then sitDown. At some point, the Lecturer enters the classroom. When the Lecturer is in the classroom, no one may enter, and the students may not leave. visitors may leave. Once all students check in, the Lecturer can StartLecture. After some time, the Lecturer leaves and all students can leave.

To make these requirements more specific, let’s give the threads some functions to execute, and put constraints on those functions.  

•  students must invoke enter, sitDown, and leave.

•  The Lecturer invokes enter, startLecture and leave.

•  visitors invoke enter, sitDown and leave.  

•  While the Lecturer is in the classroom, no one may enter and students may not leave.

•  The Lecturer cannot startLecture until all students who have entered have also sitDown.  

•  At any point of time any classroom may have only one lecturer.  

•  Classroom capacity should not exceed limit. Visitors are always low in count (less than 5).

•  Add a monitor thread to keep printing the status of each class as follows

Simulate a college with few classrooms  

{W201 (capacity 60), W202(capacity 60), W101 (Capacity 20), JS101 Capacity (30)} and lecturers {Osama, Barry, Faheem, Alex, Aqeel, Waseem} that circulate between classes.  

Hints: Lecturer can use a binary semaphore to access classroom so one lecturer in class at any time students and visitors can use counted semaphores to access classroom. You can use locks, barriers, semaphores.

The running of the program should show something like the table below, that is updating every 2 seconds 

==================================================================================  

Classroom           Lecturer               InSession             Students              Visitors  

==================================================================================  

W201                   Osama                  True                      50                         3  

W202                    Alex                     True                      55                        1  

JS101                    Faheem               True                      15                        0  

W101                    False                    False

W201                   Waseem              True                     54                         5  

W202                   Aqeel                   True                     43                         2  

W101                    Osama                True                     18                         1  

JS101                    Barry                    True                      25                        2  

More products