CP/M

El Programa de Control/Monitor fue un sistema operativo propietario desarrollado en 1975 por Intergalactic Digital Research, para computadoras hobbistas y hogarenas.

CP/M se afianzo como el sistema operativo que definiria el estandar durante el nacimiento del microcomputo (1976-1983).

Ver: Tutorial de CP/M en texto-plano.xyz.

Historia

Para mediados de la decada de 1970, el advenimiento de las primeras microcomputadoras tipo Altair 8080 (y sus clones), hizo evidente cierta avidez general por el computo hogareno.

Gary Kildall advirtio la limitada operatoria de estos equipos: consistia cargar un interprete de BASIC en 4K u 8K de memoria empleando tediosos interruptores o a lo sumo terminales teletipo dotadas con lectoras de cintas de papel perforado. Se propuso entonces escribir un sistema de operacion que resultase mas adecuado: debia ademas permitir operar con las convenientes terminales de video, y dar provecho a la velocidad y facilidad de los discos flexibles.

En pos de sus ideas fundo una compania hogarena denominada Intergalactic Digital Research, y escribio en lenguaje BCPL un programa capaz de cerciorarse del bus de memoria S100 que dotaba a la Altair y sus clones. Al estar compilado para controlar y monitorear la memoria de un procesador de 8 bits (inicialmente el Intel 8080), denominandolo CP/M.

El sistema operativo se distribuia en diskettes de 8 y 5 1/4 pulgadas y constituyo un exito inmediato: permitia disponer de un entorno de gran sencillez con el cual los aficionados al computo casero fueron veloces en desarrollar potentes software de aplicacion, tanto libre como privativo.

Aplicaciones

Como medida de amplia compatibilidad y acorde a la decada de 1970, CP/M utilizaba pantallas y teletipos con ASCII de 7 bits, lo que delimito el campo de accion en la programacion de interfases de tipo texto.

Los juegos principalmente estuvieron basados mas que nada en programas universitarios desarrollados en las mainframes de tiempo compartido, que se encontraban muy difundidos y eran ideales para portarse a CP/M: Zork, Hammurabi, ADVENT, y muchos otros.

Para 1980 un amplio abanico de pequenos emprendimientos orientados al software privativo comercial se concentraron en escribir programas para CP/M.

Esto, aunado a la aparicion de grupos de usuarios y hackers independientes - fue alumbrando la industria del software de bajo costo para microcomputadoras.

Entre este tipo de desarrollos destaca el exitoso procesador de texto MicroPro Wordstar, asi como la planilla Sorcim SuperCalc, e interpretes de MBASIC, FORTRAN, PL/I y - de forma mas importante - Turbo Pascal.

Versiones

Las primeras y mas influyentes versiones fueron CP/M 1.3 (1977), CP/M 2 (1980) y CP/M 2.2 (1982). Estas fueron compiladas para microprocesadores de 8 bits Intel 8080 y eventualmente Zilog Z80, en equipos hobbistas o industrializados provistos con hasta 64K de memoria RAM. En particular, esta ultima fue incluida en mas de 3000 modelos distintos de microcomputadoras, convirtiendose en el estandar de facto de la epoca. Mas tarde se lanzaron versiones CP/M+ (1983) que constaba de un ambiente de desarrollo mas evolucionado.

La conversion a arquitecturas de 16 bits se dio en 1982, con CP/M-86 preparada para operar el Intel 8086/88 (especificamente, la IBM PC compatible) y CP/M-68K para sistemas con procesadores Motorola.

Existieron tambien las versiones multiusuario MP/M, y sus derivados Concurrent DOS.

Partes de CP/M

CP/M estaba formado por tres capas:

  • Sistema basico de E/S (BIOS)
  • Sistema operativo de disco basico (BDOS)
  • Consola Procesadora de Comandos (CCP)

En su diseno todo lo referente diseno de maquina especifica, estaba suplido por una BIOS modificable (cuyo codigo se proveia abonando un canon), y se incorporada al diskette del sistema. Esto guarda cierta diferencia de la PC compatible (donde el binario de la BIOS resulta almacenado en un chip ROM inserta en la placa madre en lugar de un disco flexible o duro).

Tanto BDOS como CCP (el el nucleo de sistema y conjunto de aplicaciones junto a la shell, respectivamente) se distribuian en forma de binarios ya compilados en un disco flexible, con el cual se daba arranque al microsistema.

CCP incluia unos pocos comandos inspirados en RT-11: ERA, DIR, REN, SAVE, TYPE, USER, en tanto que BDOS algunas aplicaciones adicionales mayores y entorno de programacion en ensamblador: STAT, ASM, LOAD, DUMP, PIP, SUBMIT, el editor ED, el depurador DDT y el formateador/generador de sistema SYSGEN.