As software for micros developed, you could use the BASIC interpreter just to CLOAD and RUN assembly language programs. Those might call BASIC ROM routines (say, for converting ASCII input to binary or vice versa). So could BASIC interpreters on such systems be considered an operating system? What are the criteria they would have to meet to do so?

Interpreters of course varied widely. On the first TRS-80, the computer would immediately start up in BASIC. On the initial Apple II, however, the computer would start up in a monitor, and you’d type in a keystroke to launch BASIC.

  • 4
    What would you consider the characteristics of an "operating system" to be? Aug 2 '20 at 13:58
  • Personally? 1) The ability to load and launch applications, regardless of the language they were developed in, 2) The primary UI for doing so (I realize it is often considered a separate program) Aug 2 '20 at 16:33
  • A modern "operating system" fulfills several different roles, but IMO the most general thing one could say about operating systems over the entire history of computing is that is they are software components of computer systems that facilitate the use of the computer in more than one application. On the other hand, there is one class of operating system—namely, embedded, real-time operating systems—to which that definition does not apply at all. Aug 2 '20 at 16:33
  • en.wikipedia.org/wiki/… Aug 3 '20 at 20:54

The definition of an OS is quite fuzzy, though it generally includes resource allocation and handling, a way to indicate actions to be performed ('commands', not necessarily interactive), and a way to run user programs.

Your BASIC-only microprocessor systems seem to fulfil that definition, though the "OS" aspects were pretty limited. We can at least conceptually distinguish the BASIC language from the command structure (RUN, LIST, etc.)

For a non-micro example, RSTS-11 on the PDP-11/20 had a fairly conventional OS kernel which supported a single runtime system, BASIC-PLUS, which provided language compiler and command interface in one. This was very definitely an operating system, and the capabilities do not seem so very different to the micro systems you refer to, though the structures are dissimilar.



Well, the resident (*1) software initializes the machine and all I/O, prepares operation, offer services for I/O (disk, tape, ports, clock, etc.) and dumps the user at a command shell. So what would you call that.

For all practical purpose BASIC can be seen as the shell of that system, able to run scripts written in shell commands as well as binary applications.


Now, that's something you need to ask yourself, as the term OS in itself does not contain any criteria. There is no clear border.

The main issue here might be that many services we expect today from an OS - or were expected in the 80s from a 'real' OS (*2) - were not required in BASIC systems of the 70s or typical 8 bit machines (*3) of the 80s.

These integrated systems, no matter im BASIC, Forth, or whatever else, were one step in an evolutionary process. Diversification does happen over time if there is a need to separate functions - like boot system from runtime from application. That need wasn't there in the times of 8-bit.

*1 - Or loaded in case of machines with just boot loader, loading a stand alone BASIC system.

*2 - Multiprocessing? Multiprogramming? Memory Management? Inter Process Communication?

*3 - At that time it's important to remember that early 8 bit systems were simply mimicking the previous generation of desktop systems like Wang 2200 (1973), Olivetti 6060 (1975) and many others. Here as well BASIC was used for shell/environment.

  • 1
    Basic Four/MAI systems were multi-user minicomputers for vertical markets (e.g., car dealership parts departments, dentist offices, etc.) (sold via VARs). To the end-user they were BASIC only. That BASIC allowed assess to all features of the machine, including low-level serial/parallel comms and a view of the file system on disk that included sector ranges, and launching programs. Internally, there was a compiler-compiler language (TREE META) for the BASIC compiler itself and everything else - device drivers, file system, and multiprogramming was horizontal microcode! (No assembly!)
    – davidbak
    Aug 2 '20 at 19:01
  • @davidbak true. I really like my BasicFour.
    – Raffzahn
    Aug 2 '20 at 19:43
  • 1
    Don't forget the PICK Operating System. The JCL was a variant of BASIC.
    – cup
    Aug 3 '20 at 16:26

I would say "no".

If anything, the BASIC might be considered the "command line" for the system, but not the OS itself.

If you step back to other system, such as the DEC PDP's. These, to, would essentially present itself as BASIC. You login, and you get the BASIC prompt.

But it's clear that in these scenarios, that BASIC is not the OS. The underlying RSTS or RSX were the actual OS, as those aspects managed the jobs, multiple users, etc.

Micros didn't need all that, they just needed routines to abstract the hardware.

The early systems were not very sophisticated, the line between the BASIC runtime and the "OS" (if any) was fuzzy indeed. Witness modern hobby BASICs that simply need the console driver routines for fundamental operation. I don't consider a serial port console driver an "OS".

But, consider something like the Atari systems. which has a built in extensible device manager that BASIC leveraged. BASIC was an add on for Ataris, coming in cartridge form. Now is a device manager an OS? Meh, "sorta".

BASIC on CP/M, clearly, DID run on top of an "OS" -- they ran on top of CP/M and it's BDOS services.

Finally, as we get in to MS-DOS, which was more and more like an OS (it did things like memory management, device abstraction, "TSRs", etc.) Offering more services than simple devices. Then the boundaries between OS and application program (including development and runtime environments like BASIC) were getting more clear.

  • The 709 Fortran Monitor System is generally considered to be an operating system, and it doesn't seem like it's a greater level of complexity or modularity that your average micro BASIC. As I understand it (I'm not as old as that), the compiler essentially was a bare-metal compiler, and FMS just wrapped some basic job sequencing around that. Aug 2 '20 at 20:44
  • The first computer program I ever ran was a homework assignment for my first programming course. It was run under some kind of job control system, possibly IBSYS, for the 7090. Aug 3 '20 at 10:45
  • That was the second system I used. PUFFT (Perdue University Fast Fortran Translator) running under IBSYS on the 7094 at Imperial College -- hand-punched card decks sent by Post Office mail from my high school. Aug 3 '20 at 16:38

If you agree that ‘OS’ is only a loosely-defined term then self-labelling is probably worth inspecting.

The Acorn machines from the BBC onwards ship with at least two resident pieces of ROM software, one being the MOS (i.e. the Machine Operating System, thing Acorn labelled as an OS) and the other being BASIC, which runs atop the OS. So Acorn would have said: no, BASIC is not an OS.

Amstrads all ship with a BASIC ROM and those with built-in disk drives also separately include a ROM for AMSDOS, the disk operating system. But it’s not part of BASIC. So Amstrad would probably also have thought of what they supply as an ‘operating system’ as distinct from BASIC.

CP/M is at least as much an OS as MS-DOS but those machines provide BASIC separately on disk so the two are disjoint.

Commodore probably comes closest to passable nomenclature in having something called a KERNAL (i.e. a kernel, spelling errors aside) that is heavily coupled to BASIC but nothing is formally an ‘OS’.

MSX machines with disk drives built-in also keep BASIC as a distinct thing from the built-in MSX-DOS, which is more or less an 8-bit port of MS-DOS. So the relationship is much like the IBM PC except that the presumption is reversed in that every MSX has BASIC but only some have MSX-DOS built in.

So my feeling is that an ‘OS’ is loosely defined but that since so many manufacturers had something discrete which they called the disk operating system, probably ‘no’ is the correct answer by standards of the time.

Your Answer

