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