PC/M

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

CP/M (Control Program for Microcomputers) was a single-user, single-task operating system developed by Gary Kildall for the Intel 8080 microprocessor (the Intel 8085 and Zilog Z80 could execute the 8080 code directly, although the normal thing was that the recompiled code was delivered for the microprocessor of the machine). It was the most popular operating system on personal computers in the 1970s. Although it was modified to run on an IBM PC, IBM's choice of MS-DOS, after negotiations with Digital Research failed, meant that the use of CP /M will decrease until it disappears. CP/M originally stood for Control Program/Monitor and was later renamed to Control Program for Microcomputers (at the time, the forward slash "/&# 34; had the meaning of 'designed for'; however, Gary Kildall redefined the meaning of the acronym shortly thereafter). CP/M became an industry standard for the first microcomputers.

History

CP/M began as a project of Gary Kildall around 1974. In 1977 its author decided to take his operating system to the commercial field. Thus, Kildall founded the company Intergalactic Digital Research, Inc which is now known as Digital Research Corporation. At this time, Kildall redefined the meaning of the acronym to Control Program for Microcomputers, that is, Control Program for Micro-computers. This decision was purely commercial since everything that sounded like "micro" It was fashionable at the time. The operating system was originally distributed on eight-inch floppy disks for the Intel 8080 family of microprocessors, which was also compatible with the Zilog Z80 microprocessor (very popular at the time). Since then, CP/M has been adapting quite successfully to the evolution of hardware. This evolution was not as dizzying as it is today. It soon became the operating system of choice on hundreds of micro-computers. The first personal use programs, the WordStar word processor and the dBase database, were originally written for CP/M. With the arrival of the first 16-bit microprocessors, CP/M had to undergo a complete adaptation, abandoning the compatibility with the previous 8-bit microprocessors. For this reason, CP/M for 16 bits is called CP/M-86 family, and CP/M for 8 bits as CP/M-80 family. It consists of CP/M-86 for Intel 8086 microprocessors, CP/M-68k for Motorola 68000 microprocessors, as well as versions for the Zilog Z8000. Multitasking and multiuser versions, such as MP/M, were also developed for 8 and 16 bits.

Controversy over MS-DOS

CP⁄M advertising in InfoWorld magazine, November 29, 1982.

Back in the 1980s microcomputers fell in popularity in favor of 16-bit personal computers. CP/M was about to become the operating system for these machines. In fact, IBM offered both CP/M and the MS-DOS operating system, which was partially based on CP/M itself, for its IBM PC. However, the pricing and distribution policy hurt CP/M in favor of MS-DOS. In a very short time, MS-DOS prevailed among users to the detriment of CP/M. The latest version of CP/M-86 achieved significant improvements in terms of performance and ease of use. Because of its similarity to MS-DOS, it changed its name to DOS Plus, which eventually led Digital Research to create DR-DOS, a clone of MS-DOS. Writer and journalist Sir Harold Evans published a book titled "They Made America: From the Steam Engine to the Search Engine: Two Centuries of Innovators", where he claims that Kildall was the real mastermind behind both operating systems, since, in his opinion, Tim Paterson copied the ideas of CP/M in QDOS, an operating system that became MS-DOS after its sale to Bill Gates. Tim Paterson sued the journalist and his publisher for such claims and, in 2007, the court ruled in favor of Harold Evans acknowledging "paternity"; by Gary Kildall.

Source code comparison between CP/M and DOS

In 2016, Bob Zeidman of Zeidman Consulting compared the source codes of Digital Research Inc.'s CP/M and Tim Paterson's DOS (the developer who was originally hired by Microsoft to write the DOS) to determine if the code The original DOS source had been copied from the CP/M source code as had been rumored for many years.

If you compare DOS and CP/M commands, only a few partially match. In fact, there are more similarities between DOS and OS/8 commands than between DOS and CP/M commands. This is because all of these commands consist of English words that directly describe the action to be performed.

However, if you look at the system calls on both operating systems, it becomes clear that the system calls included in DOS were copied from the CP/M system calls. Given the number of identical numbers that represent the same functions, it becomes clear that Tim Paterson relied on the CP/M manual when he wrote DOS.

Zeidman's conclusion is that DOS did not copy any code from CP/M. However, a substantial number of the system calls were copied. According to Zeidman, Digital Research could have filed a legitimate copyright claim against Microsoft for copying a significant number of system calls. Had that been the case, Microsoft could have argued a defense, since the fact that enough of the system commands used the same numbers did not reduce the CP/M market.

Features

CPM-Manual.jpg
CP/M manual

The success of CP/M was due to two fundamental characteristics: portability and design.

Portability

CP/M allowed different programs to interact with the hardware in a standardized way. This characteristic, evident today in an operating system, was not so evident at that time. Programs written in CP/M were portable to any microcomputer even with different microprocessors (except for programs that used the extended Z80 instruction set). The only requirement was the correct use of the escape sequences for screen and printer.

Design

CP/M featured an innovative modular design made up of three subsystems:

  • CCP (command control processor, standard)
  • BDOS (basic disk operating system, standard)
  • BIOS (basic input/output systemmachine-dependent

CCP is a command interpreter that allowed you to enter commands and their parameters separated by spaces. A few of these commands were internal to the CCP itself, but if the command was not recognized, it looked for a program with the same name in the current directory on disk.

CCP allowed user commands to be translated into a set of high-level instructions for BDOS. Also, programs could communicate with BDOS to perform abstract tasks such as "open file". In those years this type of abstraction was a novelty. BDOS later translated these instructions into calls to the computer's BIOS.

Most of the complexity of CP/M was hidden in BDOS. In this way, a few adaptations in the BIOS were enough for a computer to be able to use CP/M. The effort required to support new machines was very small, which contributed to the success of this operating system.

Publishing your source code

The source code of versions 1.1, 1.3, 1.4 and 2.0 were released on October 1, 2014 restricted to non-commercial use.

Micro-computers

Flexible CP/M boot disc for a Commodore computer

There are hundreds of microcomputers that have used CP/M. The most important from a historical point of view are listed below:

  • MITS Altair 8800
  • Amstrad CPC 464, 664 and 6128
  • Amstrad PCW 8256, 8512, 9512
  • Apple II
  • Atari ST
  • BBC Micro
  • Commodore 64 and Commodore 128
  • Grundy NewBrain
  • IBM PC
  • MSX
  • VTech Laser 700
  • Spectravideo SVI-328
  • ZX Spectrum + Interface Beta Disk
  • ZX Spectrum +3

Contenido relacionado

Inheritance (computing)

In object-oriented programming, inheritance is, after aggregation or composition, the most widely used mechanism to achieve some of the most precious goals in...

Flexography

The flexography is a high-speed printing technique that uses a flexible plate with relief, that is, the printed areas of the shape are raised compared to the...

Geographic information system

A geographical information system also commonly referred to as GIS by its acronym in English Geographical Information System, is a set of tools that...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save