Historial

CP/M - Control Program for Microprocessor: Revisión

CP/M - Control Program for Microprocessor

Última actualización de en minter

CP/M (Control Program/Microprocessor) es un sistema operativo desarrollado por Gary Kildall para el microprocesador Intel 8080 (los Intel 8085 y Zilog Z80 pueden ejecutar directamente el código del 8080, aunque lo normal es que se entregara el código recompilado para el microprocesador de la máquina).

Se trata del sistema operativo más popular entre los ordenadores personales en los años 1970. Aunque fue modificado para ejecutarse en un IBM PC, el hecho que IBM eligiera MS-DOS, al fracasar las negociaciones con Digital Research, hizo que el uso de CP/M disminuyera hasta hacerlo desaparecer.

El acrónimo CP/M significa "Programa de control para microprocesador". En la época, la barra inclinada (/) tenía esta acepción de "diseñado para". No obstante, Gary Kildall redefinió el significado del acrónimo poco después.
CP/M se convirtió en un estándar de industria para los primeros micro-ordenadores.


HISTÓRIA

CP/M comenzó como un proyecto de Gary Kildall alrededor de 1975. En 1977, su autor decidió llevar su sistema operativo al terreno comercial. Así, Kildall fundó la compañía Intergalactic Digital Research, Inc que hoy se conoce como Digital Research Corporation. En este momento Kildall redefinió el significado del acrónimo por Control Program for Microcomputers. Esta decisión fue meramente comercial ya que todo lo que sonara a "micro" estaba de moda en la época.

El sistema operativo se distribuyó originalmente en disquetes de ocho pulgadas para la familia de microprocesadores Intel 8080, que también era compatible con el microprocesador Zilog Z80 (muy popular en aquellos tiempos). Desde entonces, CP/M fue adaptándose con bastante éxito a la evolución del hardware. Dicha evolución no era lo vertiginosa que es hoy día.

Pronto se convirtió en el sistema operativo de elección en cientos de micro-ordenadores. Los primeros programas de uso personal, el procesador de texto WordStar y la base de datos dBase, fueron originalmente escritos para CP/M.

Con la llegada de los primeros microprocesadores de 16 bits, CP/M tuvo que sufrir una completa adaptación, abandonando la compatibilidad con los anteriores microprocesadores de 8 bits. Por este motivo, CP/M para 16 bits se denomina familia CP/M-86, y CP/M para 8 bits como familia CP/M-80. Consta de CP/M-86 para microprocesadores Intel 8086, CP/M-68k para microprocesadores Motorola 68000, así como versiones para Zilog Z8000.

Se desarrollaron versiones multitarea y multiusuario, tales como MP/M, también para 8 y 16 bits.



Controversia frente a MS-DOS

Ya en los años 1980 los micro-ordenadores cayeron en popularidad a favor de los ordenadores personales de 16 bits.

CP/M estuvo a punto de convertirse en el sistema operativo para estas máquinas. De hecho, IBM ofertaba tanto CP/M como el sistema operativo MS-DOS para su IBM PC. Éste se basaba parcialmente en el propio CP/M. Sin embargo, la política de precios y de distribución perjudicó a CP/M en favor de MS-DOS. En muy poco tiempo MS-DOS se impuso entre los usuarios en detrimento de CP/M.

La última versión de CP/M-86 logró importantes mejoras en términos de rendimiento y facilidad de uso. Dada su similitud con MS-DOS cambió su nombre por DOS Plus. Lo que eventualmente llevaría a Digital Research a la creación de DR-DOS, un clon de MS-DOS.

El escritor y periodista Sir Harold Evans publicó un libro titulado "They Made America: From the Steam Engine to the Search Engine: Two Centuries of Innovators" donde afirma que Kildall fue el verdadero cerebro detras de ambos sistemas operativos, ya que, en su opinión, Tim Paterson copió las ideas de CP/M en QDOS, sistema operativo que se convertiría en MS-DOS tras su venta a Bill Gates.

Tim Paterson demandó al periodista y a su editorial por tales afirmaciones. En 2007, el tribunal falló a favor de Harold Evans reconociendo la "paternidad" de Gary Kildall.



Características

El éxito de CP/M se debe a dos características fundamentales: portatibilidad y diseño.

     Portatibilidad

CP/M permitía que diferentes programas interactuasen con el hardware de una manera estandarizada. Esta característica, evidente hoy día en un sistema operativo, no lo era tanto en aquel momento. Los programas escritos en CP/M eran portables a cualquier micro-ordenador aún con microprocesadores distintos (exceptuando programas que utilizaban el juego de instrucciones extendido del Z80). El único requisito era la utilización correcta de las secuencias de escape para pantalla e impresora.

     Diseño

CP/M presentaba un innovador diseño modular compuesto por tres subsistemas:

CCP (Command Control Processor, estándar)
BDOS (Basic Disk Operating System, estándar)
BIOS (Basic Input Output System, dependiente de la máquina)



CCP es un Intérprete de comandos que permitía introducir mandatos y sus parámetros separados por espacios. Unos pocos de estos mandatos eran internos al propio CCP. Pero si el mandato no era reconocido, se buscaba un programa con el mismo nombre en el directorio actual del disco.

CCP permitía traducir los mandatos de usuario en un conjunto de instrucciones de alto nivel destinadas a BDOS. Así mismo, los programas podían comunicarse con BDOS para realizar tareas abstractas tales como "abrir fichero". En aquellos años este tipo de abstracción era toda una novedad. Posteriormente, BDOS traducía dichas instrucciones en llamadas a la BIOS (Basic Input/Output System) del ordenador.

La mayoría de la complejidad de CP/M se encontraba oculta en BDOS. De esta manera, bastaban unas pocas adaptaciones en la BIOS para que una computadora pudiera utilizar CP/M. El esfuerzo necesario para soportar nuevas máquinas era muy pequeño, lo que contribuyó al éxito de este sistema operativo.


CP/M es un sistema operativo que funciona sobre microprocesadores Zilog Z80 e Intel 8080 así como en microprocesadores más modernos como el Intel 8086 y el Motorola 68000.

El CP/M ha estado disponible "desde siempre" para todos los ordenadores que pueden ejecutarlo , pero aún hay muchas personas que todavía no saben que es, que hace, para que sirve y como se usa. Tu ordenador se transforma en otro distinto al cargar al inicio el sistema operativo CP/M y para ello basta con arrancar desde un disquete. El CP/M es posible usarlo desde disco, cinta, cartucho o disco duro.


¿Por qué CP/M?

La respuesta habitual que en cualquier texto vais a encontrar es que mediante el uso de CP/M se abre un nuevo mundo de software con miles de programas y una de las librerías más extensas de software que se pueden disfrutar en cualquier ordenador que soporte CP/M.


Se convirtió en un paso semi-profesional para la época. Se desarrollaron tarjetas y add-ons que permitían que el CP/M pudiera ser ejecutado en ordenadores no diseñados para este, como el Apple ][, el Commodore 64, el BBC Micro... y aparte muchos ordenadores de la época , montados sobre un Z80 tan solo mediante la adición de una unidad de disco se convertían en máquinas 100 % CP/M, como es el caso de la familia MSX, siendo el más completo de todos el Amstrad CPC6128 y el PCW256, máquinas plenamente CP/M nativas que aunque llegaron tarde demostraron que un ordenador basado en CP/M era igual o más productivo que uno basado en los recién aparecidos clónicos de IBM PC, pero cinco veces más barato.



El Sistema CP/M

En ensencia, CP/M no es más que un sistema operativo, sobre todo un sistema operativo de disco, totalmente operativo desde otros dispositivos. El sistema operativo es el software básico del ordenador, se ocupa de las rutinas del sistema y su misión principal es ser enlace entre el mismo ordenador y cualquier otro programa que se encuentre en ejecución.

El CP/M fue diseñado, desarrollado y creado por Gary Kildall. En sus inicios,Kildall trabajó para Intel desarrollando un paquete de rutinas de 4 bit escritas de forma compacta para ser usadas con los microprocesadores i4004. Estos sub-programas de utilidad podían ser usados por otros programas, lo que simplificaba el trabajo de un programador. A medida que la tecnología se fue desarrollando y avanzando con la aparición del procesador i8080, Kildall de forma muy visionaria comenzó a implementar sus ideas sobre las máquinas y en un extraordinario corto periodo de tiempo había creado un sistema operativo completo para estos procesadores. Había nacido el CP/M. Junto a la aparición del Zilog Z80, curiosamente compatible con el intel 8080 Kildall actualizó su CP/M ampliando el abanico de sistemas disponibles que eran capaces de ejecutar su nuevo sistema operativo.

Curiosamente, Intel no estaba interesada en el CP/M de Kildall, este detalle no se suele contar, pero es cierto. Eso le permitió a Kildall tener libertad absoluta para controlar el CP/M y ser libre de comercializarlo como quisiera. Kildall se vio inmerso en una aventura empresarial extraordinaria, nacía Digital Research. Hay que pensar que DR tenía mucho que aportar, desde luego el GEM del ATARI ST, el DRDOS para PC y otras tantas cosas, salieron de su centro de desarrollo.

Antes del CP/M, no había un sistema operativo real para estos equipos, por lo que significó una revolución para la mayoría de usuarios y fabricantes con Z80. En otras palabras, tanto usuarios como fabricantes se apropiaron del CP/M como suyo, debido a que no se explotaban con éxito los sistemas de la competencia, y el CP/M se convirtió fácilmente en un estándar de la industria informática que comenzaba a florecer. Dado que la mayoría de ordenadores Z80 tenían la posibilidad de ejecutar CP/M se convirtió en algo común e hizo posible que muchos programas fueran ejecutados en ordenadores de diferentes fabricantes.
La mayoría de sistemas Z80 incluyen un teclado, monitor de video (o terminal) , una o dos unidades de disco y 48 o 64 Kb de memoria RAM. Estos equipos nunca fueron diseñados para ser compatibles entre si, pero el CP/M ya se encargó de eso.



La BIOS

Construida bajo CP/M es una biblioteca de subprogramas diseñados para realizar tareas como imprimir un carácter en la pantalla, leer un fichero de disco, escuchar la pulsación teclas.... Cada ordenador tiene su propio método por hardware para hacerlo y en general cada fabricante usaba su desarrollo. Esto quiere decir que cada sistema fabricado utilizaba diferentes métodos para llegar al mismo punto y eso es lo que Kildall resolvió mediante la implementación de un fichero de BIOS, diseñado para cada fabricante. Algunas porciones de la BIOS del CP/M (Basic Input Output Subsystem) fueron personalizadas a petición de sus fabricantes pero la BIOS actuaba de forma transparente en todos los sistemas , siendo totalmente compatible cara al usuario y comportándose de la misma manera en cada sistema.

Debido a la BIOS, los programadores podían escribir sus rutinas para usar estos subprogramas universales en lugar de usar directamente la programación de video de cada ordenador en particular, y adpatarlas a cada hardware específico. En este caso si el programa estaba escrito correctamente podría funcionar en cualquier ordenador CP/M. Las tareas más comunes que se iban desarrollando se iban añadiendo y se terminaron por convertir en rutinas estandarizadas. La mayoría de programas CP / M están escritos en lenguaje máquina 8080 o Z80.

El mercado Z80 + CP/M prosperó como la espuma, ya que de la manera que se comercializó, los programadores podían escribir un solo programa que se iba a ejecutar perfectamente en ordenadores de distintos fabricantes. En ese momento y solo me queda decir un lo siento, ¡ Ay de los que carecían de un equipo que soportara CP/M !, lo que se estaban perdiendo. Un caso muy sencillo de explicar es el de Tandy Radio Shack con sus TRS-80. Aun siendo equipos basados en un Z80 , sostuvieron una terrible batalla comercial con Apple y con el mercado CP/M, e intentó que terceras partes desarrolladoras de software para CP/M comercializasen sus productos también bajo el sistema operativo propietario de Tandy. Apple en esos momentos comenzaba a comercializar su tarjeta Z80 y con 80 columnas para aprovechar todo ese mercado y toda esa inmensa librería que ya era el estándar universal.

Esto no hizo más que aislar a los propietarios de los TRS-80, con lo que fueron abandonados por el mercado de masas. Tandy mantuvo su biblioteca independiente de software y al final terminó convergiendo en la corriente CP/M. CP/M se había convertido en el lider de los 8 bit en todo el mundo, la mayoría de empresas usaban la combinación Z80 + CP/M ocupando el nicho que en la actualidad cubren los PC de hoy.



¿Es obsoleto?

El auge del CP/M tocó su techo tecnológico y  se hundió de forma paulatina con la introducción del IBM PC.

El CP / M no podía mantenerse al día con los avances en hardware y software. Aunque el IBM PC no era un verdadero avance, se amplió el límite máximo de memoria de 64K a 640K.. de almacenamiento en disco saltó de 100K a tanto como 370K (-discos doble cara ).

Cuanto más rápido y más potente era el microprocesador 8088 se hizo más fácil y sencillo el escribir los programas con la ventaja de invertir menos tiempo. La arquitectura abierta de IBM animó a otros fabricantes a diseñar PC's con potencia adicional, mientras más y más empresas de hardware iban mejorado el IBM con productos complementarios.

El microprocesador utilizado en el IBM no podía correr CP / M, por lo que un estándar completamente nuevo había sido falsificado. La investigación y posterior desarrollo del CP/M-86 de Digital Research no estuvo terminada a tiempo para el lanzamiento del PC, por lo que no pudo establecerse como un estándar. El MS-DOS de Microsoft , que es muy parecido a CP / M, superó al CP/M-86 no porque fuera mejor, sino porque fue el primero. El mundo de los 8 bits bajo Z80-y CP / M estaba siendo reemplazado y sustituido por el de 16 bits de IBM con su 8088 .

Los desarrolladores de software se subieron al carro, y el CP / M se puso en la cola, solo empresas como Amstrad, terminaron de exprimir el potencial del CP/M sobre 8 bit siendo imparable la entrada de los 16 y los 32 bit, ATARI ST, Tramiel, y muchos otros jugaron un papel decisivo en la evolución de la informática que conocemos hoy en día.

El CP / M dejó de ser el ambiente dominante de alta gama de microinformática (aunque CP / M se sigue utilizando hoy en día)



1975. CP/M se convierte en el primer OS standard.

John Torode y Gary Kildall fundaron en 1975 Digital Research y entraron en el mercado de los ordenadores de empresa por la puerta grande con su sistema operativo CP/M (Control Program for Micro), eso si, completamente escrito por Kildall para toda la gama de ordenadores basados en los procesadores 8080 y Z80 realmente populares a finales de los 70. No fue hasta la mascarada de Gates con su MS-DOS hasta que realmente se empezó a notar que el CP/M comenzaba a desaparecer progresivamente.

Kildall como creador del CP/M (primer sistema operativo estándar de la industria ) vivió una vida intensa, llena de creaciones, colorido y anécdotas que junto a sus descubrimientos e inventos lo sitúan como el más grande y privilegiado de la historia y de le era de la computación.


Oriundo de Seattle, ya desde muy joven ansiaba ser profesor de matemáticas, de casta le venía por ser el heredero del Kildall College of Nautical Knowledge, propiedad de su familia cual fundó su abuelo en 1924. Terminó ingresando en la universidad de Chicago y contrajo matrimonio con Dorothy McEwen cosa que hizo que Gary se convirtiese en un aplicadísimo estudiante , cosa que mejoraría su mediocre rendimiento de la adolescencia en donde los coches de carreras y las travesuras hacían mella en sus calificaciones.

Ya en la facultad de matemáticas se interesó muchísimo en los ordenadores y al terminar el bachillerato optó por sacar un doctorado en ciencias de la computación. Siendo aun estudiante fue reclutado forzosamente a la reserva de la Marina de EEUU, y lo más asombroso es que le dieron a elegir entre ir a pegar barrigazos a Vietnam o ejercer de profesor en el Naval Postgraduate School de Monterrey, en California.

Kildall se presentó en California y es en Monterrey donde diseña y crea el CP/M

El CP/M es famoso también por sus acrónimos, cuyas siglas inicialmente se dieron para el Control Program Monitor, para posteriormente cambiarlo a Computer Program Monitor. Por el contrario de cualquier sistema operativo desarrollado antes o después, el CP/M no fue el resultado de investigación y desarrollo de un equipo de ingenieros, sino la inventiva y el trabajo de un sólo hombre. Aunque su sistema operativo resultó ser un buen producto, por muchas razones técnicas el CP/M fue lanzado al mercado apenas un año antes de la aparición de los primeros ordenadores comerciales.

Kildall y su fabuloso mundo y legado llegaron a su fin en un terrible accidente de tráfico en 1994.



La historia del CP/M

En 1973, Kildall empezó a trabajar en un sistema operativo de disco para crear un entorno de desarrollo para microcomputadoras PL/M, y de allí surgió CP/M. Fundó la compañía Digital Research despues de renunciar a su trabajo en NPS en 1976 y continuó trabajando en el CP/M. Al principio lo vendía en anuncios clasificados de las últimas páginas de las revistas de informática.

Con el lanzamiento del Altair 8800 en enero de 1975, finalmente había un sistema comercial capaz de correr CP/M, y antes de fin de ese año surgieron varios ordenadores clónicos con sistemas de discos que lo requerían. En 1977, era el más popular de los sistemas operativos de microordenadores que existía, corriendo en casi todas los ordenadores basados en un procesador Intel 8080 o Zilog Z80.

Una vez asentado el CP/M y preocupado por la proliferación del BASIC en las micros, Kildall creó PL/I-80, un subconjunto del lenguaje de programación PL/I que corría en ordenadores con CP/M. También desarrolló varios proyectos experimentales, incluyendo una implementación del lenguaje de programación educativo LOGO, interfaces entre computadoras y lectoras de CD-ROM, y reproductores de videodiscos. Además, creó una versión para CD-ROM de la Grolier's Encyclopedia.

En 1980, IBM se acercó a Digital Research buscando una versión de CP/M para su próximo (PC ordenador personal). Según cuenta la leyenda, Kildall dejó esperando a los hombres de IBM varias horas para irse a volar con su avioneta. Esta leyenda, aunque popular, no es considerada verdadera, ya que era Dorothy, la esposa de Kildall, quien manejaba las transacciones comerciales.

Otra historia dice que IBM quería que Dorothy firmara su acuerdo de no divulgación estándar, que ella consideraba muy limitante. IBM volvió para hablar con Microsoft y Bill Gates vio la oportunidad comercial de su vida. Obtuvo los derechos para un clon de CP/M llamado QDOS (por Quick and Dirty Operating System) escrito por Tim Paterson de Seattle Computer, se lo licenció a IBM, y así nació el MS-DOS/PC-DOS.


Más tarde, IBM descubrió que el sistema operativo de Gates podría haber infringido el copyright de CP/M, se pusieron en contacto con Kildall, y acordaron que éste no les llevaría a juicio a cambio de que junto con el PC-DOS se vendiera el CP/M. El precio fijado era de 250 dólares para el CP/M y 40 dólares para el PC-DOS.

La decisión de usar el sistema operativo de Microsoft fue el principio del fin de Digital Research como el mayor productor mundial de software para micros.



El fin de la era

Otro importante producto de Gary fue la primera interfaz gráfica de usuarios para los procesadores 68000 y 8086, GEM Desktop, liberado en febrero de 1985. A pesar de sus prestaciones el producto no tuvo mucho éxito como sistema independiente y su última versión pública salió en noviembre de 1988. Sin embargo siguió vendiéndose a empresas como interfaz gráfica para sus productos, destacándose el Ventura Publisher. También se utilizó en Digital Research para productos derivados como ViewMax. Su línea de desarrollo sobrevivió hasta la adquisición de Digital Research por Novell.

Kildall abandonó Digital Research en 1991 cuando la compañía fue vendida a Novell, y se mudó al área suburbana de Austin (Texas), manteniendo un segundo hogar en California. Amigos y conocidos reconocen lo desengañado que estaba por cómo el MS-DOS, con un diseño basado casi por completo en sus ideas para CP/M ( aunque Tim Paterson dice que el lo inventó ) , hicieron famosos a Bill Gates y Microsoft, mientras él languidecía en la oscuridad.

Murió de causas desconocidas en 1994 en Monterey, California, a los 52 años. Algunos informes sugieren que Kildall sufrió una caída en el Franklin Street Bar and Grill el 8 de julio y falleció de una hemorragia interna tres días después.También se dice que murió en un accidente automovilístico. Algún día se desvelará el misterio.

Digital Research fue comprada por Novell en su estrategia para competir con Microsoft. Como resultado de ello, apareció Novell DOS 7.0, cuya principal ventaja sobre MS-DOS era ofrecer una versión personal del sistema de red Novell, sistema que comenzaba a perder popularidad a causa de la aparición de Windows para Trabajo en Grupo. Finalmente, DR-DOS fue vendido a Caldera. Posiblemente el principal interés de Caldera en el producto era una antigua demanda contra Microsoft por competencia desleal, ya que aunque el producto era altamente compatible a nivel binario con MS-DOS Microsoft se esforzó en introducir código en Windows específicamente para hacerlo incompatible con DR-DOS.

 

El material (hardware) requerido por CP/M

Un típico sistema microordenador basado en el sistema CP/M podría estar compuesto por los siguientes elementos.

Configuración CP/M
A.— Microprocesador: Como ya hemos dicho, el sistema CP/M fue concebido para trabajar con equipos desarrollados alrededor del microprocesador 8080 de ocho bits y sus equivalentes (8085, Z80, etc.).

B.— Memoria Central: El tamaño de la memoria puede extenderse hasta 64K octetos, de los cuales el sistema CP/M ocupa 6,5K octetos aproximadamente.

C.— Memoria secundaria: La memoria secundaria debe estar compuesta de, al menos, una unidad de disquete (aunque con menos de 2 unidades es casi imposible trabajar).

D.— Consola: El sistema CP/M es un sistema monopuesto e impone la presencia de un terminal de tipo conversacional. Este terminal, llamado generalmente "consola" en la terminología informática es, comúnmente, un conjunto pantalla-teclado alfanuméri-co.

E.— Otros periféricos: El sistema microordenador puede disponer de puertas de entrada-salida específicas. Así podemos encontrar puertas serie o paralelo para impresoras. Otros tipos de puertas pueden formar parte del conjunto, bien sea en la configuración básica, o como opción de ampliación del sistema.

  

Descripción funcional de CP/M.


Al conectar la corriente a nuestro microordenador se comienza a ejecutar automáticamente un pequeño programa contenido en una memoria ROM (memoria de sólo lectura), cuyo objetivo es leer las primeras pistas de nuestro disquete del sistema CP/M y cargar su contenido en memoria central. Estas pistas contienen el sistema CP/M propiamente dicho, que está constituido por los siguientes módulos.

CCP.— (Consolé Command Proces-sor - Procesador de Comandos de Consola).

BDOS.—(Basic Disk Operating System - Sistema Operativo de Disco Básico).

BIOS.— (Basic Input/Output System - Sistema de Entrada/Salida Básico).

El papel del CCP es comunicarse con el usuario, e interpretar los comandos introducidos por éste a través del teclado de la consola.

 

BDOS se encarga de la gestión de ficheros en disquete y/o disco. Realiza la lectura y escritura de registros en disco, la asignación y desasignación del espacio en el disco, y otra serie de tareas relacionadas con estos medios de almacenamiento.


BIOS contiene los programas que comunican el sistema con las diferentes unidades físicas (periféricos) conectadas al mismo, y es, por tanto, el único módulo del sistema CP/M que debe ser adaptado a la configuración material del equipo.

  

Estructura del sistema CP/M.


Todo sistema CP/M está estructurado de la siguiente forma.

A.— Estructura memoria: La memoria central en los sistemas CP/M está dividida en cinco zonas.

Memoria CP/M

La zona llamada TPA (Transient Program Area - Area de Programa Transeúnte) es en la que se cargan y ejecutan los programas del usuario y todos los demás programas de utilidad del sistema CP/M. Es de hacer notar el hecho de que, en caso de necesidad, la TPA puede utilizar las 2K octetos que, aproximadamente, ocupa el CCP.

La página 0 (cero) también llamada SPA (System Parameter Area — Area de Parámetros del Sistema) es una zona reservada por el CP/M, para almacenar ciertos parámetros y vectores de bifurcación.

 

B.— Estructura disquete: Generalmente cualquier disquete que se utilice en un sistema CP/M debe estar estructurado. No obstante, y como pueden utilizarse unidades de disquete de muy diversos tipos y características (5 1/4 u 8 pulgadas, simple o doble cara, simple, doble o cuádruple densidad, etc.) es posible que esta disposición varíe ligeramente de unos sistemas a otros.

 Estructura Disco

Trabajando con CP/M


Una vez cargado el sistema CP/M en memoria central éste queda a la espera de que se le introduzca una orden o comando.

La espera de un comando siempre está representada por la aparición de dos caracteres en la consola del sistema, el primero de los cuales indica una unidad de disco o disquete y el segundo es siempre el símbolo (mayor que). Esta unidad de disco representado por una letra (A, B, C,..., P) es la unidad por defecto, es decir, es la unidad en la que el sistema tratará de hacer aquello que le pidamos siempre y cuando no le indiquemos otra unidad distinta.

La designadión de un fichero se hace de la siguiente forma:

[U:] Nombre-de-fichero [. Tipo-de-fichero].

(Los corchetes indican datos opcionales).

U: Indica la unidad de disquete en la que se encuentra el fichero con el
que queremos trabajar (Si se omite el sistema entenderá que se encuentra en la unidad por defecto).

Nombre-de-fichero es una cadena de 1 a 8 caracteres que indican el fichero con el que queremos trabajar.

Tipo-de-fichero es una cadena de 1 a 3 caracteres, precedidas de un punto, que indica el tipo que tiene el fichero con el que queremos trabajar (ver figura 4). En el caso de que sea omitido el sistema supone que se trata de un fichero de tipo COM que contiene, por tanto, un programa directamente ejecutable.



ASM  Fichero de programa fuente en lenguaje ensamblador 8080.
BAK  Fichero de backup (reserva).
BAS Fichero de programa fuente en Basic.
COB Fichero de programa fuente en Cobol.
COM Fichero de programa transeúnte directamente ejecutable.
DAT Fichero de datos.
FOR Fichero de programa fuente en Fortran.
HEX Fichero objeto en formato Intel 8080 en hexadecimal.
LIB Fichero de librería.
PAS Fichero de programa fuente en Pascal.
PRN Fichero imagen impresora.
REL Fichero de código objeto relocalizable.
SUB Fichero de comandos para SUBMIT.
TXT Fichero de texto.
sss Fichero temporal de trabajo.

Existen en CP/M dos tipos de comandos: los comandos residentes (llamados así por formar parte del CCP) y los comandos no residentes, que, en realidad, son programas ejecutables (del tipo . COM) que el sistema carga en memoria (generalmente en la zona TPA) y ejecuta de la misma forma que lo hace con el resto de los programas del usuario.


Los comandos residentes.

Los comandos residentes son comandos de interés general y de utilización muy frecuente. Si a esto añadimos que ocupan poco espacio en memoria central, tendremos las tres razones por las cuales están siempre en memoria y no tienen que ser cargados cada vez que se quieran ejecutar.

Existen en CP/M siete comandos residentes:

1.— DIR [[U:] Nombre-de-fichero [. Tipo-de-fichero ]]: (DIRectory-DIRectorio) muestra en la consola del sistema una lista de los ficheros (directorio) contenidos en la unidad U (o en la unidad por defecto si se omite U).

2.— ERA [U:] Nombre-de-fichero [. Tipo-de-fichero ]: (ERAse-Borrar) permite borrar un fichero del disquete dejando libre el espacio que ocupaba.

3.— REN [U:] Nuevo-nombre-de-fichero [. Nuevo-Tipo-de-fichero ] = Actual-Nombre-de-fichero [. Actual-Tipo-de-fichero ]: (REName - Renombrar) permite cambiar el nombre y/o tipo de un fichero existente.

4.- SAVE N lU:] Nombre-de-fichero [. Tipo-de-fichero ] (SAVE-Sal-var) hace una copia del contenido de la zona de memoria TPA en el disquete designado en forma de fichero, asignándole nombre y tipo. N indica el número de páginas de 256 octetos de la TPA que tienen que copiarse en el disquete.

5.— TYPE [U:] Nlombre-de-fichero [.Tipo-de-fichero]: (TYPE-Represen-tar) permite visualizar en la consola el contenido del fichero indicado. Este comando normalmente sólo debe utilizarse con ficheros codificados en ASCII (es decir, ficheros que contienen datos inteligibles por el usuario).

6.- USER N: (USER-Usuario) el uso de este comando permite repartir el espacio de la memoria secundaria (discos y/o disquetes) entre diversos usuarios, de manera que cada uno sólo pueda tener acceso a sus ficheros. Es evidente que este comando sólo es útil cuando se tienen grandes capacidades de almacenamiento externo.

7.— U:este comando permite cambiar de unidad por defecto.

Un poco más acerca de la forma de indicar al sistema CP/M el nombre de un fichero y su tipo. Además de hacerlo de forma directa se pueden utilizar dos caracteres para hacer referencias ambiguas de fichero. Estos dos caracteres son:

"?" -► Colocado en una o varias de las ocho posiciones del Nombre-de-fichero y/o de las tres posiciones del Tipo-de-fichero significa que no nos importa lo que esté contenido en esa posición.

"*" -► Mismo significado que "?" pero en vez de referirse a posiciones individuales se refiere a todo un campo completo.

 Ejemplos:

— Listemos el directorio del disquete de la unidad por defecto

A >DIR

El sistema nos muestra por consola A: LIBRODIA DAT A: LIBROMAY DAT A: NOMINA ENE A: NOMINA FEB A: NOMINA MAR

— Si hubiésemos utilizado este otro formato del comando DIR

A >DIR LIBRO ???.DAT.

El sistema nos hubiese mostrado A: LIBRODIA DAT A: LIBROMAY DAT

— Y con este otro formato A > DIR NOMINA.*

El sistema mostraría A: NOMINA ENE A: NOMINA FEB A: NOMINA MAR

— Por último con este otro A >DIR *.?A?

El resultado seria A: LIBRODIA DAT A: LIBROMAY DAT A: NOMINA MAR Por supuesto el formato ambiguo *.* hace referencia a todos los ficheros contenidos en un disquete, y es equivalente al formato ????????.???.

Así, por ejemplo, ERA B: *.* borraría todos los ficheros contenidos en el disquete introducido en la unidad B.

Los comandos no residentes.

Los comandos no residentes son en realidad programas ejecutables (fichero del tipo COM) que no están presentes en memoria central y que, por tanto, han de ser cargados en ella antes de su ejecución. Algunos de estos comandos poseen sub-comandos para facilitar la labor del usuario.

Algunos de ellos:

STAT: (STATistics on files - Estadísticas de ficheros) Este comando se utiliza entre otras cosas para obtener estadísticas sobre espacio disponible en los disquetes, sobre tamaños de f¡cheros. También permite hacer que un fichero o todos los ficheros de un disquete sólo puedan ser leídos y no se pueda grabar en ellos (protección contra la escritura) e igualmente puede dar información sobre las asignaciones de periféricos.

PIP: (Peripheral Interchange Pro-gram - Programa de intercambio entre Periféricos) es un programa muy potente de manipulación de ficheros. Permite, por ejemplo, hacer copias de ficheros. Posee su propio juego de parámetros de trabajo.

ED: (EDitor-Editor) es un editor de textos orientado a línea que permite crear y modificar ficheros codificados en ASCII. Posee un conjunto completo de comandos definidos por una sola letra para crear y corregir ficheros de texto (ASCII).

ASM: (ASeMbler - Ensamblador) El programa ensamblador ASM traduce un fichero de tipo .ASM que contiene un programa fuente escrito en el lenguaje simbólico del 8080, y crea un fichero objeto de tipo .HEX (hexadeci-mal) con la traducción de ese programa al formato Intel 8080.

LOAD: (LOAD - Cargar) El comando (programa) LOAD convierte un programa en formato Intel 8080 (obtenido como consecuencia de una traducción anterior por medio del ASM)
en un programa ejecutable y crea con él un fichero de tipo .COM. Este fichero (programa) puede ser posteriormente cargado y ejecutado en la zona TPA de memoria central.

DDT: (Dynamic Debugging Tool - Herramienta de depuración dinámica) Es una potente herramienta de puesta a punto de programas que posee su propio juego de comandos.


SUBMIT: Es un programa de utilidad que permite ejecutar una secuencia de comandos CP/M. El usuario crea un fichero de comandos con la ayuda de un editor de textos y se evita de esta forma el tener que teclear uno a uno todos los comandos que desea introducir.

DUMP: (DUMP-Volcar) Permite visualizar en código hexadecimal el contenido de cualquier fichero en la consola del sistema.

MOVCPM: Permite reconfigurar el sistema CP/M para cualquier tamaño de memoria (entre 20 K y 64K, octetos).

SYSGEN: (SYStem GENeration -Generación del Sistema) Permite generar un sistema CP/M sobre un nuevo disquete.

Otros comandos CP/M.

Existen otra serie de comandos de una sola letra que sirven para corregir los errores que podamos cometer cuando estemos introduciendo un comando por el teclado y para tomar cierto control sobre lo que el sistema esté haciendo. 

  • RETURN -> Envío de un comando para su procesamiento.(Carriage return) (Retorno de carro).
  • CONTROL P -> Comienza o finaliza la copia en impresora de lo. que aparece por la consola.
  • CONTROL H -> Anula el último carácter introducido.
  • CONTROL-C -> Reinicialización del sistema CP/M.
  • CONTROL-E -> Continua un comando en la línea siguiente sin enviarlo para su procesamiento.
  • CONTROL I -> Tabulación cada 8 columnas.
  • CONTROL S -> Parada temporal de la salida de información por la consola.
  • CONTROL X -> Anula la línea de comando introducido.


Otros componentes de la familia CP/M.

Existen en el mercado diversas versiones del sistema CP/M, incluso algunas ajenas a Digital Research. 

Tipo de Microprocesador

Mono - Usuario

Mono-Tarea

Mono - Usuario

Multi-Tarea

Multiusuario  Red
8 BITS CP/M-80 MP/M-80

MP/M-80

MP/M-80-II

 

CP/NET-80

MP/NET-80

CP/NOS-80

16 BITS CP/M-86

MP/M-86

CCP/M-86

 MP/M-86

 

CP/NET-86

MP/IMET-86

 

 

Productos desarrollados alrededor de CP/M

Lista de Micro-ordenadores que ejecutan CP/M