Mutual Exclusion Last
updated on
2014/2558
12
6
, a
full moon day;
WHO producer
vs. consumer exist;
WHEN critical region is
available
OR 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 critical regions 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)}
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)}
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}
。
e.g. 1 instance only
WHILE setting
up, also see:
4iComputer;
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 (e.g. Mutual_exclusion): 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 hyper plane'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; also see:
Code Page;
...
![]() |