L
Lew Pitcher
On Tuesday 11 March 2014 17:17, in comp.lang.c, "88888 Dihedral"
And one would be incorrect in those conclusions. Unless, of course, you
restrict your definition of a "true working digital system" to /only/ be
those systems that require "ASYN and SYN rules for I/O RW operations" in
order to work.
Look at the actual history of computing devices and digital systems, and see
what actually happened.
In the earliest digital systems, there was never "more than one writer", and
even paired writer/reader systems (like, in later systems, serial devices),
write/read synchronization was either not an issue (yes, risking lost data)
or was handled with an explicit synchronization mechanism.
Programs were architected, written, and run standalone, on the bare metal.
There was no "multi-programming", so there was never multiple independent
execution threads competing for the same data space.
Those multiprogramming techniques, and the co-ordinating mechanisms that
enabled them, followed long afterwards.
OK, lets be practical to consider
a memory loacation which can be
modified by more than one writer
indepently and the value of the
memory location stored will be used
by several readers from time to time
to perform updates of other computations in a system.
One will conclude that the ASYN and SYN rules for I/O RW operations must
be established first before designing a true working digital system.
And one would be incorrect in those conclusions. Unless, of course, you
restrict your definition of a "true working digital system" to /only/ be
those systems that require "ASYN and SYN rules for I/O RW operations" in
order to work.
Look at the actual history of computing devices and digital systems, and see
what actually happened.
In the earliest digital systems, there was never "more than one writer", and
even paired writer/reader systems (like, in later systems, serial devices),
write/read synchronization was either not an issue (yes, risking lost data)
or was handled with an explicit synchronization mechanism.
Programs were architected, written, and run standalone, on the bare metal.
There was no "multi-programming", so there was never multiple independent
execution threads competing for the same data space.
Those multiprogramming techniques, and the co-ordinating mechanisms that
enabled them, followed long afterwards.