Control Program/Monitor

Page d’aide sur l’homonymie

Pour les articles homonymes, voir CPM.

Control Program/Monitor
CP/M 2.2 sur un Sanco 8001. Contenu de la disquette système.
CP/M 2.2 sur un Sanco 8001. Contenu de la disquette système.

Langues anglais
Type de noyau monolithique
Plates-formes Amstrad CPC et PCW
BBC Micro, Commodore 128
IBM PC, Osborne 1
TRS-80, ZX Spectrum
Entreprise /
Fondateur
Gary KildallVoir et modifier les données sur Wikidata
Entreprise /
Développeur
Digital Research/Gary Kildall
Licence Licence BSDVoir et modifier les données sur Wikidata
Écrit en PL/MVoir et modifier les données sur Wikidata
Première version
Dernière version stable CP/M-86 (pour processeurs 8086) ()
Méthode de mise à jour Disquettes
Site web http://www.digitalresearch.biz/CPM.HTM

CP/M, sigle de Control Program/Monitor ou /Microcomputer, est un système d'exploitation créé en 1974 par Gary Kildall, fondateur de Digital Research.

Il est utilisé notamment sur les Amstrad CPC et Amstrad PCW, Commodore 128, TRS-80, l'Osborne 1, BBC Micro, le ZX Spectrum. Il fut utilisé sur PC, notamment livré en standard avec les Amstrad PC-1512 en plus du MS-DOS et de GEM.

Pour l'Apple II, Microsoft a créé en 1980 la carte d'extension Z-80 SoftCard qui permettait l'usage du système d'exploitation de Digital Research.

CP/M est largement inspiré de TOPS-10 des systèmes PDP-10, alors utilisé par Kildall comme environnement de développement, et qui, outre CP/M, inspirera également les systèmes OS-8 des PDP/8, RT11 des PDP/11, ainsi que les premières versions de MS-DOS. Les principales commandes telles que DIR ou TYPE, ou encore les extensions telles que .EXE ou .TXT, sont une preuve de l’origine commune de ces systèmes.

Organisation de la mémoire

La mémoire d'un ordinateur sous CP/M est divisée en quatre parties :

  1. Le BIOS (basic input output system for serial peripheral) : il gère les périphériques, disquettes, imprimantes moniteur, etc. Habituellement, le BIOS occupe la partie « haute » de la mémoire ;
  2. Le BDOS (basic disk operating system primitives) : il contient le système d'exploitation. Habituellement, le BDOS se trouve sous le BIOS ;
  3. Le CCP (console command processor) : cette partie du CP/M correspond à l'interface utilisateur. Habituellement, le CCP se trouve sous le BDOS ;
  4. Le TPA (transient program area) : cette partie de la mémoire débute à l'adresse hexadécimale 100. Elle est destinée aux programmes des utilisateurs.

Périphériques

Sous CP/M, les périphériques sont gérés par le BIOS (adaptable par l'utilisateur), sous le contrôle du BDOS.

Comme le BIOS peut s'adapter aux différents besoins, il est possible d'utiliser des lecteurs de disquettes et/ou des disques durs. Les disques sont désignés par une lettre majuscule (A B C…) avec un maximum de 15.

Comme, de nos jours, la capacité des mémoires RAM ou PROM est considérable, il est possible aussi de disposer de disques virtuels en RAM et/ou en PROM. Les fichiers en PROM ne risquent pas d'être modifiés ou détruits par des virus.

L'utilitaire STAT permet d'assigner différents périphériques physiques, par exemple l'imprimante, aux périphériques logiques.

Les différents types de fichiers

Ce système d'exploitation, enregistre les fichiers sur disquettes suivant une organisation logique spécifique (qui n'a pas été reprise par MS-DOS), et peut remplir les disquettes jusqu'à ce qu'elles soient complètement remplies.

CP/M peut aussi gérer des disques durs (en réalité, comme le BIOS est « ouvert » et décrit clairement dans la documentation que Digital Research fournissait avec certains de ses logiciels, il est donc possible d'adapter tout système particulier CP/M à toute mémoire de masse disponible — et aux périphériques dont on dispose). Certains ordinateurs tournant sous CP/M étaient vendus, à l'origine, avec des disques durs (l'Altos 8000 en est un exemple).

Il existe des implémentations pour le microprocesseur Z80 qui ont un système de disques formé de carte SD ou de clés USB (au format FAT16).

Chaque fichier a un nom et une extension (plus précisément, la syntaxe est : <nom du fichier (8 caractères maximum)>.<extension (3 caractères maximum)>).

Parmi les extensions les plus habituelles, on trouve :

Exemples de noms de fichiers : STAT.COM ; dans le cas de « nomdufichier.ASM », le nom du fichier est trop long, puisqu'il y a un maximum de 8 caractères utilisables à cet effet ; donc il faudrait, par exemple, nommer ce fichier « fichier.ASM » ou « fichier1.ASM ».

« READ.ME » est un nom de fichier que beaucoup d'éditeurs utilisent (et pas uniquement "dans le monde" CP/M) pour attirer l'attention de l'utilisateur sur des aspects très importants de leurs logiciels… ce sont donc des fichiers à lire avant d'utiliser le logiciel en question. Pour lire le contenu d'un tel fichier, on peut, en général, utiliser la commande :

TYPE READ.ME

Les invites de commandes des disquettes sont A> pour le lecteur A et B> pour le lecteur B. Si un fichier ne se trouve pas sur le disque par défaut, il faut taper la lettre du disque auquel on veut accéder, suivie de deux points. Cette convention a été reprise par MS-DOS.

Différentes commandes de CP/M

Les commandes de CP/M peuvent être « internes » ou « externes » (comme ce fut, par la suite, le cas avec MS-DOS). Sous CP/M, pour l'utilisateur, il n'y a pas de différence entre lancer une commande « interne » (par exemple DIR as*.*), « externe » (par exemple STAT as*.*) ou un programme (par exemple LINK).

Sous CP/M, le programme « correct » le plus court n'a besoin que d'un octet (C9 en hexadécimal - l'instruction RETurn) qui fait un retour au Système (ce qui est une sortie « normale » pour un programme CP/M). Par contre, il doit être sauvegardé dans un fichier « exécutable » (donc un « .com ») dont la taille minimum est un secteur (donc 128 octets minimum).

Les commandes externes du CP/M ou MP/M appelaient des programmes du même nom qui portaient l'extension .COM ou .PRL (uniquement dans le cas de MP/M). Le MP/M était relativement semblable au CP/M mais était multi-utilisateurs.

Sous CP/M, l'utilisateur peut programmer en utilisant directement le code machine, un assembleur ou un langage de programmation comme le BASIC.

Les sources des logiciels écrits par DRI (c'est-à-dire Digital Research) peuvent se trouver sur Internet (voir, par exemple, DRIPAK.zip).

Logithèque

Cette section ne cite pas suffisamment ses sources (février 2020). 
Pour l'améliorer, ajoutez des références de qualité et vérifiables (comment faire ?) ou le modèle {{Référence nécessaire}} sur les passages nécessitant une source.

CP/M supporte de nombreux traitements de texte comme WordStar, avec, le cas échéant, leurs systèmes de vérification orthographique, des tableurs comme SuperCalc ou des logiciels combinant ces deux fonctionnalités.

Parmi les autres logiciels disponibles (que l'on peut toujours trouver dans des sites dédiés et télécharger gratuitement via Internet), il y a aussi dBase II, une base de données relationnelle, très interactive.

Par ailleurs, des compilateurs CP/M ont été écrits pour de nombreux langages, par exemple :

– Ada ;
– Algol ;
– APL (interpréteur) ;
– BASIC (compilateurs et interpréteurs) ;
– C ;
– Cobol ;
– Fortran ;
– LISP ;
– PASCAL ;
– PL/I ;
– PROLOG ;
— Et bien d'autres.

Des langages orientés vers l'« intelligence artificielle », comme muMATH (qui est capable de résoudre des équations formelles) ou muSIMP (voir muMATH) peuvent aussi « tourner » sous CP/M.

Le cas du langage PL/M est un peu particulier, puisqu'une partie du logiciel correspondant au système d'exploitation CP/M — et à ses utilitaires — a été écrite en PL/M, pour un compilateur qui tournait sous ISIS II. Il est possible, toutefois, d'émuler ISIS II sous CP/M. A son tour, CP/M peut être émulé sous MS-DOS.

Le logiciel KERMIT développé par l'Université Columbia, de New York, permet d'échanger des fichiers entre machines tournant sous des systèmes d'exploitation différents (VMS, Unix, Multics, MS-DOS et successeurs). Il en existe de multiples versions (gratuites) pour des machines CP/M et, en particulier, une version générique que l'on peut adapter à sa propre machine. Il en résulte qu'il est possible de transférer puis de stocker dans une machine CP/M (peu exposée à des virus) des fichiers importants.

Bibliographie

Références

  1. ↑ « CP/M and Digital Research Inc. (DRI) History », sur www.retrotechnology.com (consulté le )

Liens externes

Sur les autres projets Wikimedia :