> -----Original Message----- > From: Mark Lawrence [mailto:breamore...@yahoo.co.uk] > Sent: Wednesday, 4 April 2012 3:16 a.m. > To: python-list@python.org > Subject: Re: Number of languages known [was Re: Python is readable] - > somewhat OT > > On 03/04/2012 15:56, Chris Angelico wrote: > > On Wed, Apr 4, 2012 at 12:46 AM, Grant > Edwards<invalid@invalid.invalid> wrote: > >> Anybody remember DEC's VAX/VMS "patch" utility? Apparently, DEC > >> thought it was a practical way to fix things. It had a built-in > >> assembler and let you "insert" new code into a function by > >> auto-allocating a location for the new code an hooking it into the > >> indicated spot with jump instructions. > >> > >> The mind wobbled. > > > > Not specifically, but I _have_ heard of various systems whose source > > code and binary were multiple years divergent. It's actually not a > > difficult trap to fall into, especially once you start patching > > running systems. I've had quite a few computers that have been unable > > to reboot without assistance, because they go for months or years > > without ever having to go through that initial program load. (I've > had > > _programs_ that were unable to load, for the same reason.) But > > auto-allocating a new spot for your expanded function? That's just... > > awesome. My mind is, indeed, wobbling. > > > > ChrisA > > Around 1990 I worked on Telematics kit. The patches on all their > software were implemented via assembler once the original binary had > been loaded into memory. They even came up with a system that let you > select which patches you wanted and which you didn't, as e.g. some > patches were customer specific. > > -- > Cheers. > > Mark Lawrence. >
In the 70's I worked with Honeywell 16 Series computers controlling a variety of systems. The patches were loaded as a starting address followed by machine code, using a piece of software for this purpose. This all sounds rather similar to Mark's situation. The reason however is less obvious. On the H16 series we did not have a multi-access O/S and the process of assembling and linking a large system involved many steps. Often the modifications required were trivial. It was generally easier to reload a memory dump from off paper tape and then apply the patches. Phil Runciman -- http://mail.python.org/mailman/listinfo/python-list