semaphore managersem cycling semaphore mutex1, mutex3,r,w begin process capability PROCESS cycling semaphore the status cycle reader entry cycle PROCESS = next process( PROCESS LIST) if PROCESS # NULL then start p (the status) if PROCESS_STATUS = 'ready' then start PROCESS_STATUS = 'running' finish else start PROCESS = DUMMY finish v(the status) finish repeat until PROCESS # DUMMY reader exit if process # NULL then start resume-process( PROCESS) finish else start V(managersem) finish repeat end process Figure 4.2-5a begin process cycle determine appropiate modifications on process list writer entry update ( PROCESS LIST ) writer exit repeat end process Figure 4.2-5b