Showing posts with label operating system. Show all posts
Showing posts with label operating system. Show all posts

Sunday, September 2, 2018

CP/M, the first operating system

The operating system CP/M

CP/M, the acronym for Control Program/Monitor or Microcomputer, is an operating system created in the year 1974 by Gary Kildall, founder of Digital Research. It is used on 8-bit Amstrad CPC and Amstrad PCW, Commodore 128, TRS-80, Osborne 1, BBC Micro, ZX Spectrum. It also found use on PCs, including the standard Amstrad PC-1512 in addition to MS-DOS and GEM.

For the Apple II, Microsoft created in 1980 the Z-80 Soft Card expansion card that allowed the use of the operating system of Digital Research. Early versions of MS-DOS were largely inspired, if not copied by CP/M.

Organization of memory

The memory of a computer under CP/M is divided into four parts:

  • BIOS: The Basic Input Output System for serial peripherals. It handles peripherals, floppy disks, monitor printers, etc. Usually, the BIOS occupies the "high" part of the memory.
  • BDOS: The basic disk operating system primitives. It contains the operating system. Usually, the BDOS is under the BIOS.
  • CCP (console command processor): Usually, the CCP is under the BDOS. This part of the CP/M corresponds to the user interface.
  • TPA (transient program area): This part of the memory starts at 100 (hexadecimal address). It is intended for user programs.

The different types of files

CP/M system stores files on floppy disks according to a specific logical organization, which has not been taken over by MS-DOS and can fill the disks. CP/M can also handle hard disks. In fact, as the BIOS is open, as clearly described in the documentation that Digital Research provided with some of its software, so it is possible to adapt any particular CP/M system to any available mass memory and devices available. Some computers running CP/M were originally sold with hard drives. Altos is one example.

Each file has a name and an extension.

  • ASM: assembler source file
  • PRN: assembler listing file
  • HEX: Machine language presented as a series of hexadecimal octets in Intel format
  • BAS: BASIC source file
  • INT: intermediate basic file
  • COM: command file, memory dump file, starting at address 100 hexadecimal under CP/M. Executable files always have the extension .COM
  • SUB: a file with a sequence of commands to be processed in batch mode by the command SUBMIT.
  • BAK: backup file is often used by word processing programs
  • $$$: temporary file, used for example by SUBMIT
  • LBR: archive file

Different orders of CP/M

CP/M commands can be internal or external, as was subsequently the case with MS-DOS. For the user under CP/M there is no difference between launching an internal command, such as DIR as *. * or an External like STAT as *. *. Or any other program.

Under CP/M, the shortest program needs only one byte, which returns to the System. On the other hand, it must be saved as an executable file using a .com extension, whose minimum size is one sector with a 128 bytes minimum.

The external commands of the CP/M or MP/M called programs of the same name which had the extension .COM or .PRL (only in the case of MP/M). Additional information: the MP/M was similar to CP/M but with a multi-user functionality.

Saturday, February 3, 2018

OS-9 - The forgotten operating system

When it comes to operating systems, people usually only recall very few. If they know what an operating system is anyway. Usually it boils down to Windows, older folks might remember its roots, MS-DOS. Some might mention Linux or even UNIX. Some might heard Android is running on their smartphone or tablet. Then there is the Apple (MacOS) party. I want to talk here about OS-9, and do not refer to a version of the Apple OS by a similar name (MAC OS 9).

OS-9 was released in 1979 by Microware. It can run on Motorola 6809, Motorola 680x0 CPUs, ColdFire, SuperH, ARM/XScale, MIPS, PowerPC, Intel x86 processors. And since it is one of the first a multi-user and multitasking operating system I am intrigued. This was long before the Amiga, let alone multitasking capable Windows 95 or Linux.

While OS-9 was general-purpose computing and embedded systems, the Motorola M6809 CPU was built in the popular TRS-80 Color Computer (Coco) and similar Dragon 32/64, although not shipped with, had a potential broad user base among non business users. OS-9 was later ported for use with M68000 systems.

It is considered a "UNIX-like OS", although it is not a clone of UNIX. OS-9 is still supported by Microwave (as of 2018 when this article is written), and can run on x68 and ARM processors. But the dominance of MS-DOS and later Windows is probably the reason it never had the commercial success it deserves in my opinion.

In this video I show the (emulated) Coco running OS-9.

Featured Post

Logitech MX Master 3 vs MX Master 3S

Dear reader, if you want to purchase blog articles like this, please contact me for a quote. Logitech MX Master 3 or MX Master 3S If you ...