[Humanist] 31.348 different from the sum of its parts

Humanist Discussion Group willard.mccarty at mccarty.org.uk
Tue Oct 10 09:42:38 CEST 2017


                 Humanist Discussion Group, Vol. 31, No. 348.
            Department of Digital Humanities, King's College London
                       www.digitalhumanities.org/humanist
                Submit to: humanist at lists.digitalhumanities.org



        Date: Sun, 8 Oct 2017 15:49:18 +0200
        From: Tim Smithers <tim.smithers at cantab.net>
        Subject: Re:  31.343 different from the sum of its parts
        In-Reply-To: <20171007084843.94A557D31 at s16382816.onlinehome-server.info>


Dear Gabriel,

Let me see if I can say how I see things, using your last part
about Windows not updating.

I'm guessing some here, because I'm not familiar with the
insides of the Windows operating system, but I'll use how I
built other systems that do something similar.

You say ...

 "...  if Windows Update stops working on a PC, as has
  happened to me, the component parts of the operating system
  cease to operate properly because the whole operating system
  has cease to do its job of applying patches to those local
  parts."

At the level of the "whole operating system" we have a single
system, a single machine, that does quite a lot of things,
including keeping itself uptodate.

If this machine stops updating itself, but keeps on doing
other things, we need to look a the level below to discover
why it is not updating.  We need to look at the system of
machines that make up the Operating System Machine.  There we
will find, I am presuming, an Updating Machine, amongst (many)
others.  Testing this Updating Machine may lead us to see that
it is not updating because it fails to connect to a server,
from where it gets updates.  We then need to look at the level
below this Updating Machine, at the machines it is composed
of, to find the machine that does the "connecting to the
server."  Again, we test this, to understand why it doesn't
seem to work.  And so on, down through the levels, until we
find the component machine that is not working, and that,
through this linear chain of functional dependencies, causes
the "whole operating system" to be seen to not update itself.

In this view, when you say "the component parts of the
operating system cease to operate properly," it is not, as you
say, "because the whole operating system has cease to do its
job of applying patches to those local parts," but because
some component machine, down inside the Operating System
Machine, has failed to do its job.  The "whole operating
system" doesn't do the updating job, only certain components
of which it is composed do.

To say the component parts fail because the whole operating
system has failed is a level confusion: to to confuse the
causal relationships designed and built into all the machines
that go together to make the operating system.  If it wasn't
like this, the Windows Operating system, and other things like
it, would be much harder to understand, diagnose, and fix.
In designing and building these kinds of allopoietic machines,
we try hard to keep the causality that renders the linear
functional dependencies as simple as possible.

Having said this, a nice example in computer programs of two
parts (sub-machines) inter-depending for their own correct
functioning, can be seen in coroutines, a generalisation of
subroutine.

From Wikipedia: 

 Coroutines are computer-program components that generalize
 subroutines for non-preemptive multitasking, by allowing
 multiple entry points for suspending and resuming execution
 at certain locations.  Coroutines are well-suited for
 implementing familiar program components such as cooperative
 tasks, exceptions, event loops, iterators, infinite lists and
 pipes.

Coroutines are useful, and routinely used for certain things
operating systems do, but they can be horrible to diagnose and
debug.  

Needles to say, the functional relationship between the
Windows operating system and its many components, and the
functional relationships between these components and the
machines they are, in turn, built from, is not a coroutine
one.  It's a subroutining relationship.  Operating systems are
essentially hierarchies of subroutines with a few coroutines.
This is how new versions of parts of the operating system,
"patches" as you call them, can be downloaded and installed
without having to stop the whole operating system.  You can't
do this easily for one part of a running coroutine, since the
state that each part depends upon for its proper working is
shared across bother parts of the coroutine.

Best regards,

Tim

> On 07 Oct 2017, at 10:48, Humanist Discussion Group <willard.mccarty at mccarty.org.uk> wrote:
> 
>                 Humanist Discussion Group, Vol. 31, No. 343.
>            Department of Digital Humanities, King's College London
>                       www.digitalhumanities.org/humanist
>                Submit to: humanist at lists.digitalhumanities.org
> 
> 
> 
>        Date: Fri, 6 Oct 2017 08:45:21 +0100
>        From: Gabriel Egan <mail at gabrielegan.com>
>        Subject: Re: [Humanist] 31.339 different from the sum of its parts
>        In-Reply-To: <20171006061631.0287D79AE at s16382816.onlinehome-server.info>
> 
> 
> Tim Smithers makes the intriguing remark that:
> 
>> In machines, such as computers, the proper
>> working of a machine (at some level) depends
>> upon the proper working of the machines that
>> compose it, but the working of these component
>> machines do not depend upon the proper working
>> of the machine they compose.
> 
> I used to work in mainframe computer operations for
> local government in the 1980s and I distinctly
> recall the day our IBM 4381 processer was upgraded
> and the installation engineer asked where to find
> the telephone socket we had assigned to it. What
> did the computer want with a telephone socket? The
> answer was that the computer would now self-diagnose
> certain kinds of internal fault, would call IBM's
> UK service centre, order the necessary replacement
> parts, and book a service visit to install them. This
> amazed us all. The modern equivalent would be the
> way that personal computer software 'patches' itself
> without human intervention.
> 
> Is this self-improvement not an example, contra Smithers,
> of the working of the component machines (the faulty parts
> or units of code) depending on the proper working of the
> machine they compose (the whole processor or the whole
> software package)? Specifically, if Windows Update stops
> working on a PC, as has happened to me, the component
> parts of the operating system cease to operate properly
> because the whole operating system has cease to do its
> job of applying patches to those local parts.
> 
> Regards
> 
> Gabriel Egan
> 
> ________________________________________________________________________
> Professor Gabriel Egan, De Montfort University. www.gabrielegan.com
> Director of the Centre for Textual Studies http://cts.dmu.ac.uk
> National Teaching Fellow http://www.heacademy.ac.uk/ntfs
> Gen. Ed. New Oxford Shakespeare http://www.oxfordpresents.com/ms/nos




More information about the Humanist mailing list