One GPEL (General Purpose Engineering Lab) system is having issues with its servers lagging heavily due to too many students being connected at a time. Below is the code that a student runs his/her code on a server" void run_session (struct server s) { connect(s)
execute_code()
{ disconnect(s);
After testing, it turns out that the servers can run without lagging for a max of up to 100 students concurrently connected. How can you add semaphores to the above code to enforce a Strict limit of 100 players connected at a time? Assume that a GPEL server can create semaphores and share them amongst the student threads. You need to provide corresponding pseudocodes in order to get the credits.