Mutual Exclusion      Last updated on              , a full moon day

WHO producer vs. consumer exist; WHEN critical region is available / not available; Very very carefully essential design logic is needed; In order to do so, mutual exclusion problem must be studied first;

Do While TRUE

entryeither_producer_or_consumer

critical region 1

exit 1

process NOT block THIS executing

Loop

OR

Do While TRUE

entryeither_producer_or_consumer

critical region 2

exit 2

process NOT block THIS executing

Loop

Notice that either producer, producer itself, consumer, consumer itself can be inside of critical region, and block itself, or become having problem such as mutual exclusion;

{TRUE}

Public Logic abcdefg()

{ (critical region 1)}

Do While TRUE

{ (critical region 1)}

critical region 1

logic flow 1

exit 1

process NOT block THIS executing

Loop {FALSE}

OR

{ (critical region 1)}

Do While TRUE

{ (critical region 1)}

critical region 1

logic flow 1

exit 1

process NOT block THIS executing

Loop {FALSE}

End Logic

{FALSE}

Solving mutual exclusion problem as follow:

{TRUE}     i.e. Duo-binary OSI Draft's Set{...}; Distribution's Fuzzy Set{... , i.e. Movie online, very latest technology, very advance, very real time, very low S/N ratio, very bandwidth independent, ... ;

instruction1, instruction2

{instruction: (instruction2(critical region 2) (2)) (instruction1(critical region 1) (1))}

Public Logic abcdefg( )

{instruction (critical region 1)}

Do While TRUE

instruction (critical region 1)

./file_number1:time_stamp1: instruction1 = TRUE {instruction critical region 1 instruction 1}

Notice that in hardware LSIs' complex functions, addressable circuit's software function ; for example

1h0 : :

opcode = 2h1;

2h1 ::

opcode = 1h0;

and, notice the : and mutual exclusion is needed

1: If instruction2

{instruction @1 instruction1 (instruction2 (time_stamp2)}

exit 1

{instruction instruction1 (instruction2 (time_stamp2)}

End If

{instruction instruction1 (instruction2 (time_stamp2)}

propagation (critical region 1)(instruction instruction1 (instruction2 (time_stamp2))

{instruction (critical region 1)}

exit 1

process NOT block THIS executing

Loop {FALSE}

OR

{instruction (critical region 2)}

Do While TRUE

instruction (critical region 2)

./file_number2:time_stamp2: instruction2 = TRUE {instruction critical region 2 instruction 2}

2: If instruction1

{instruction @2 instruction2 (instruction1 (time_stamp1)}

exit 2

{instruction instruction2 (instruction1 (time_stamp1)}

End If

{instruction instruction2 (instruction1 (time_stamp1)}

propagation (critical region 2)(instruction instruction2 (instruction1 (time_stamp1))

{instruction (critical region 2)}

exit 2

process NOT block THIS executing

Loop {FALSE}

End Logic

{FALSE}

 

For humanoid engineers only: mathematically prove that aspect-variations of toggle are whether in sea-level, or non-sea-level;

For Monbusho level space engineers only: mathematically prove the diff of 2π mechanical toggle vs. physical hole toggle; Time.Space.Action, and ACT1 space's time t1 must synchronize to ACT2 hyperspace's time t1, and ACT2 hyperplane's time t1 must synchronize to ACT3 ... ;

For systems engineers only: define local machine and remote machine by TCP/IP(BOOTP) vs. RIS(TCP/IP); WHILE synchronization: define binary semaphores, split binary semaphores, each lock for each mutual exclusion;

 

Up