The Kill Command

written by Matthew Reed

Entry for KILL command in the Model I TRSDOS 2.1 manual

Entry for the KILL command in the Model I TRSDOS 2.1 manual

The KILL command was probably the most unusually named command in the TRSDOS disk operating systems for TRS-80 computers. KILL was used to delete a file, for example: KILL FILENAME/EXT.

The KILL command was supported by versions of TRSDOS for the Model I, Model III, and Model II, as well as the BASIC interpreters for all those machines plus the Model 4, Color Computer, the Model 100, Model 102, Model 200, and the Model 2000. In addition, all of the TRSDOS-compatible TRS-80 Model I/III operating systems (NEWDOS, MULTIDOS, DOSPLUS, and LDOS) also implemented the KILL command.

The use of KILL as a command was somewhat controversial and many people objected to the connotation. Here’s what Josef Friedman said about KILL in his article “Thou Shalt Not Kill” in the November 1984 issue of 80 Micro:

A political terrorist kills a hostage. A TRS-80 owner kills a file. You might sense there’s something wrong with our language when we use the same word to describe such disparate events.

Those with objections to KILL could always install unofficial patches to change it to something less objectionable like ERAS or REMV. In fact, the previously mentioned article “Thou Shalt Not Kill” included patches to do this for many TRS-80 operating systems.

History

Many of the earliest computer operating systems, which predated microcomputers by decades, didn’t support any file deletion commands. This was because they used punch cards, paper tape, or magnetic tape. A file deletion command only makes sense when dealing with a random-access storage system that supports deleting a file, such as a disk system.

DELETE was the most common command to delete a file for most of the mainframe and minicomputer operating systems I have examined. Here are a few examples:1

  • The Dartmouth Time Sharing System (DTSS) (from 19632) used UNSAVE
  • The Berkeley Timesharing System (from 1964) used DELETE
  • TOPS-10 (from 1964) used DELETE
  • Multics (from 1969) used delete
  • TOPS-20 (from 1969) used DELETE
  • UNIX (from 1969) used (and still does use) rm3
  • RSTS (from 1970) used DELETE4
  • RT-11 (from 1970) used DELETE
  • RSX-11 (from 1972) used DELETE5
  • Datapoint DOS (from 1975) used KILL
  • VMS (from 1977) used DELETE

When microcomputer operating systems were introduced, they followed a similar pattern. Here are a few more examples:

  • CP/M (from 1973) used ERA (short for ERASE)
  • Almost all versions of Microsoft BASIC (from 1976 to 1981) used KILL
  • Apple II DOS (from 1978) used DELETE
  • Model I TRSDOS (from 1978) used KILL
  • Model II TRSDOS (from 1979) used KILL
  • Model III TRSDOS (from 1980) used KILL
  • Apple III SOS (from 1980) used DELETE (in the menus in System Utilities)
  • MS-DOS (from 1981) used DEL (short for DELETE)
  • Apple II PRODOS (from 1983) used DELETE
  • Model 4 TRSDOS (from 1983) used REMOVE
  • OS/2 (from 1987) used DEL

Model 4 TRSDOS was the only version of TRSDOS that didn’t use the KILL command. As a review in the October 1983 issue of Creative Computing stated:

Someone must have felt that the KILL command, for deleting specified files from the disk directory (to free the disk space for other uses) sounded too blood-thirsty. In TRSDOS 6.0, this function is now called REMOVE. But KILL still exists in Model 4 Disk Basic.

Roy Soltoff, the “primary designer of the TRSDOS 6.0 operating system” (also known as LDOS 6.0), gave his reason for the change in the April 1983 issue of the LDOS Quarterly.:

The last thing to mention for now is that there is no KILL command in LDOS 6.x. I have persevered in my quest to make the system less violent. The command to get rid of unneeded files is “REMOVE”.

The KILL command was only used by three major systems: Datapoint DOS, TRSDOS, and Microsoft BASIC.

Since the commands in TRSDOS strongly resembled Datapoint DOS, its use in TRSDOS isn’t that surprising. But it’s also possible that it derived from TRSDOS Disk BASIC, which was written by Microsoft and also contained the KILL command. (The hook for KILL was present in Level II BASIC.) It could be that the KILL command came to TRSDOS through both Datapoint DOS and Microsoft BASIC.

The first Microsoft BASIC with a KILL command was the original Altair Disk BASIC6, which was written by Bill Gates himself in February of 1976. Microsoft’s MS-DOS Technical Reference Encyclopedia, published in 1986, gives this account of what happened:

That’s when Gates, who was still a student at Harvard, flew to Albuquerque, checked into the Hilton Hotel with a stack of yellow legal pads, and asked not to be disturbed. Five days later, he checked out of the hotel, yellow pads filled, and started typing code into a DEC PDP-11 mainframe, on which time was leased from the Albuquerque school system. After five days, Disk BASIC was up and running on the Altair.

As far as I know, Bill Gates has never said what he used as a model for Altair Disk BASIC. It’s quite possible that he was inspired by Datapoint DOS for some aspects of Disk BASIC commands and operation. TRSDOS Disk BASIC was very similar to Altair Disk BASIC and kept its KILL command.


  1. This is a slightly awkward comparison, because not all these operating systems had the clean delineation between command interpreter, operating system, and programs that is normal today. ↩︎

  2. These dates are inexact because the operating systems were developed over a span of many years. ↩︎

  3. UNIX does use KILL to end a running process. ↩︎

  4. RSTS also had DELETE/JOB and DELETE/ENTRY commands. ↩︎

  5. The DELETE command existed within RSX-11’s Peripheral Interchange Program (PIP). ↩︎

  6. Microsoft’s Altair Disk BASIC is frequently confused with Microsoft’s Standalone Disk BASIC, which was written by Marc McDonald in 1977. Standalone Disk BASIC (not Altair Disk BASIC) introduced the first version of the FAT file system later used by MS-DOS. ↩︎

Comments

Doug Anderson says:

I cut my teeth on systems running TRSDOS, LDOS, VMS, PWB/Unix, and AT&T System V release 2, 3, and 4. I didn’t remember killing files in TRSDOS, though. Thanks for the reminder!

Your site, trs-80.org, is a work of art. Thank you so much for all of the time, research, and care you put into each and every post.