Operatings Systems: reminiscences

Vim is tiny (2.3MB on my system), comes pre-installed on most servers, does not require a GUI and is still very powerful.
Notepad is 177Kb, comes preinstalled on all Windows computers, uses the Windows GUI and is powerful enough for everything that I need it to do. :D
 
I think I'd rather teach myself how to play Dwarf Fortress.
I agree it would be a much better use of your time. I don't see "UNIX sysadmin" in your future. :)

Notepad is 177Kb, comes preinstalled on all Windows computers, uses the Windows GUI and is powerful enough for everything that I need it to do. :D
It's a good point, but for me Windows Notepad is incredibly limited. If I can, I install Notepad++. Curiously, I use that on Windows even though I could install vim.
 
I agree it would be a much better use of your time. I don't see "UNIX sysadmin" in your future. :)
Nope, I'm planning to be one of those dreaded "managers". :D

It's a good point, but for me Windows Notepad is incredibly limited. If I can, I install Notepad++. Curiously, I use that on Windows even though I could install vim.
I've used Notepad++. It's good. But I didn't need half its features. When I was managing websites, I always used either the tool provided with the CMS (Plone or Drupal), or Notepad. But that's the lovely thing about using a CMS - most of the actual hard coding is done for you. All I was doing was tweaking the html. :)
 
Nope, I'm planning to be one of those dreaded "managers". :D



I've used Notepad++. It's good. But I didn't need half its features. When I was managing websites, I always used either the tool provided with the CMS (Plone or Drupal), or Notepad. But that's the lovely thing about using a CMS - most of the actual hard coding is done for you. All I was doing was tweaking the html. :)
If you were using CMS then you were most likely using xedit for your editor.
 
Was it Unix that didn't have memory protection, or the C programming language? I compile and run C programs on my AMD processor (which can mark parts of memory as read-only once they've been initialized) and they still crash due to memory issues. By contrast, Perl and Python, which are interpreted and have automatic garbage collection, never crash due to dangling or overwritten pointers.

UNIX has had memory protection as far back as I was using it (early '90's). If your C program running on a UNIX system tried to access a memory address that it wasn't allowed to access, it would terminate with a message that said "Segmentation violation. Core dumped". This would also create a file named "core" which was some kind of memory dump that I never actually did anything with but delete it. DOS, on the other hand, would let you read or write anywhere in its 640K of addressable memory. If you tried to write to memory that the operating system happened to be using, the computer might turn unresponsive,and you would have to use the "three finger salute" (control-alt-delete), which in DOS would trigger an immediate reboot, except when it didn',t which was when you reached for the reset button (if the computer had one) or the power switch. I also remember that when a programming error in a C program read out of bounds on an array while outputting to the screen, you would get a screen full of garbage, often with "Microsoft Corporation" displayed somewhere in the middle of it.
 
Last edited:
UNIX has had memory protection as far back as I was using it (early '90's). If your C program running on a UNIX system tried to access a memory address that it wasn't allowed to access, it would terminate with a message that said "Segmentation violation. Core dumped". This would also create a file named "core" which was some kind of memory dump that I never actually did anything with but delete it. DOS, on the other hand, would let you read or write anywhere in its 640K of addressable memory. If you tried to write to memory that the operating system happened to be using, the computer might turn unresponsive,and you would have to use the "three finger salute" (control-alt-delete), which in DOS would trigger an immediate reboot, except when it didn',t which was when you reached for the reset button (if the computer had one) or the power switch. I also remember that when a programming error in a C program read out of bounds on an array while outputting to the screen, you would get a screen full of garbage, often with "Microsoft Corporation" displayed somewhere in the middle of it.

IIRC, the memory protection worked best with hardware support; a UNIX system I worked on in the 80s was originally going to use Intel 286 processors, but the memory protection couldn’t be implemented properly, so they had to wait for the 386. They ran with 1MB of memory and a 20MB disk (though they ran better with 2MB and a 40MB disk).

Oh, and I analysed a few core dumps in my time, though it was not something I was an expert at.
 
I used to work with a guy who could look at the Blue Screen of Death in Windows NT 4.0, determine what was wrong, then use Norton Disk Editor to directly modify the hex code on the disk to fix the problem.

I was in awe.
 
I once worked on a project trying to understand strange goings on around a machine running GCOS7. I understood nothing.
 
And unique message ids so you don't have to google vague text.

That's not helpful for messages from Microsoft Windows. Ever tried to do a web search on an obscure error code like 0x800F081F? Because Microsoft generally has piss-poor documentation on the error codes its applications spit out, you get pages and pages of "well, it might be this, and maybe doing X has a possibility of fixing it."

I recall one time getting such an error when trying to install a driver: an inscrutable error code for which web searches turned up half a dozen different possibilities. The real problem? I had blacklisted the Windows update servers in Pihole DNS, so Windows was unable to contact any of its servers.
 
That's not helpful for messages from Microsoft Windows. Ever tried to do a web search on an obscure error code like 0x800F081F?

Not codes, ids. On IBM mainframes especially you'd get errors like
DFHFC0942E

DFH = CICS
FC = File Control
E means it's Error rather than Information or Severe
Look it up and it means a data table load failed and the code at the end will detail it further. Standards all detailed in th IBM Probelm Determination manual.
 
Not codes, ids. On IBM mainframes especially you'd get errors like
DFHFC0942E

DFH = CICS
FC = File Control
E means it's Error rather than Information or Severe
Look it up and it means a data table load failed and the code at the end will detail it further. Standards all detailed in th IBM Probelm Determination manual.

Agreed. IBM did that right. Microsoft does it wrong.
 
Agreed. IBM did that right. Microsoft does it wrong.

I've found with Oracle database errors, I can usually google the error code and get a pretty good idea what the problem is, if the text of the error message doesn't give me enough information (though the text is often all that I need). With Windows errors, on the other hand, it's rare to be able to get a clue as to what the problem actually is. As far as I can tell, Microsoft programmers get fired if their programs ever issue an understandable error message, or document what a particular hexadecimal string really means.
 

Back
Top Bottom