CP/M

De Viquipèdia

Dreceres ràpides: navegació, cerca
CP/M
Pantalla de CP/M 2.2: llista de directoris i fitxers.
Desenvolupador Digital Research, Inc. / Gary Kildall
Familia de S.O. CP/M
Model de desenvolupament Comercial
Nucli
Tipus de nucli Monolític
Llicència Proprietària
Última versió estable 3.1 / 1982
Estat actual Descontinuat
IGU
Lloc web Pàgina oficial a Digital Research

CP/M (Control Program/Monitor o Control Program for Microcomputers: programa de control per microordinadors) és un sistema operatiu de disc creat originalment per Gary Kildall de la Digital Research, Inc., per a microordinadors basats en els microprocessadors Intel 8080/85[1]. Inicialment limitat a monousuari/monotasca en processadors de 8 bits i no més de 64 KiB de memòria RAM, versions posteriors van afegir capacitats d'ús multiusuari/multitasca, i van ser convertides per a UCPs de 16 bits.

La combinació de CP/M i ordinadors personals amb el bus S-100 iniciada amb el MITS Altair 8800, va ser un dels primers estàndards industrials per microordinadors, i era àmpliament utilitzat de fins de la dècada del 1970[2] fins a la meitat dels anys 1980. Per molt reduir la quantitat de programació necessària per instal·lar un aplicatiu en un ordinador d'un nou fabricador[3], el CP/M va incrementar el mercat tant de programari com de maquinari.

Taula de continguts

[edita] Model de maquinari

Un sistema CP/M mínim de 8 bits hauria de contenir els següents components:

L'únic maquinari suportat pel CP/M, en la versió venuda per la Digital Research, era el Intel 8080 Development System. Fabricants de sistemes CP/M compatibles adaptaven parts del sistema operatiu per a les seves pròpies combinacions de memòria instal·lada, unitats de disc i terminal d'entrada. El CP/M també podia ser executat en sistemes basats en el processador Zilog Z80, vist que el Z80 era capaç d'executar codi 8080. Encara que el CP/M no fos capaç d'executar cap de les instruccions específiques del Z80, molts aplicatius van ser escrits per a màquines CP/M basades en el Z80.

En moltes màquines, el «bootstrap» era un programa mínim emmagatzemat en ROM; en unes altres, aquest programa havia de ser inserit directament en la memòria a través d'un panell frontal, cada vegada que el sistema va ser carregat.

El CP/M usava un conjunt ASCII de 7 bits (128 caràcters). Els altres 128 caràcters fets possible per un conjunt de 8 bits no eren estandarditzats. Per exemple, un model Kaypro els utilitzava per a emmagatzemar caràcters de l'alfabet grec, mentre que les màquines Osborne utilitzaven el vuitè bit per a indicar un caràcter subratllat. Sistemes CP/M internacionals freqüentment usaven la norma ISO 646 per a adaptar conjunts de caràcters, substituint determinats caràcters ASCII per caràcters dels idiomes locals, en comptes d'afegir-los a més del límit de 7 bits[4].

[edita] Components del sistema operatiu

Mapa de memòria del CP/M

En les versions de 8 bit, el nucli del CP/M estava dividit en tres components:

  • processador d'ordres de la consola o CCP,
  • sistema operatiu de disc bàsic o BDOS, i
  • sistema bàsic d'entrada/eixida o BIOS.

El CCP i BDOS eren els mateixos en totes les instal·lacions d'una revisió particular de CP/M, però la porció de BIOS sempre s'adaptava a un maquinari en particular. Afegir memòria a un ordinador, per exemple, significava que el sistema CP/M s'havia de reinstal·lar. Una vegada instal·lat, el sistema operatiu s'emmagatzemava en àrees reservades al començament de qualsevol disc que s'utilitzaria per inicialitzar el sistema[5]. En la inicialització, el «bootloader» carregaria el sistema operatiu a partir del disquet en la disquetera A:.

Pels estàndards moderns, el CP/M era primitiu a causa de les restriccions extremes a la grandària dels programes. Amb la versió 1.0 no hi havia com detectar un canvi de disquet. Si un usuari canviava discs sense manualment rellegir el directori d'arxius, el sistema escriuria sobre el disc nou utilitzant la informació del directori del disc antic, arruïnant les dades emmagatzemades al nou disquet. Començant amb 1.1 o 1.2, aquest perill va ser reduït: si algú canviava discs sense llegir el directori del disc nou i intentés escriure-li, el sistema operatiu indicaria un error fatal, evitant sobreescriure, però exigint una rearrencada (que no durava més que uns pocs segons, però que implicava la pèrdua de totes les dades en memòria).

La majoria de la complexitat del CP/M s'aïllava en el BDOS, i en més petita extensió, en el CCP. Significava que al portar el limitat nombre d'ordres simples del BIOS a una plataforma de maquinari en particular, el sistema operatiu sencer treballaria. Això significativament reduïa el temps de desenvolupament de programes necessari per donar suport a màquines noves, i era una de les raons principals per l'ús estès del CP/M. Avui aquesta classe d'abstracció és comuna a la majoria dels sistemes operatius, però al temps del naixement del CP/M, els S.O. estaven pensats típicament per executar a només una plataforma de maquinari, i els sistemes multiestrat es consideraven innecessaris.

[edita] Història

[edita] L'inici i l'auge del CP/M

[edita] El nom

El 1974, CP/M era un projecte particular de Gary Kildall, sota el nom Control Program/Monitor. Durant la conversió del CP/M per a producte comercial, documents de registre de marca registrada arxivats el novembre de 1977, donaven al producte el nom de Control Program for Microcomputers. El nom il·lustra l'esquema de nomenclatura predominant en l'època, com en els PL/M (Programming Language for Microcomputers) per a la Intel i PL/P (Programming Language for Prime) per a Prime Computer, desenvolupats per Kildall, ambdós suggerint el PL/I i el sistema operatiu CP/CMS de l'IBM, els quals Kildall havia usat al treballar en la Naval Postgraduate School, els quals també, com el TOPS-10, posseïen semblances clares amb la interfície d'usuari i el sistema d'arxius del CP/M[6].

Aquest canvi de nom del CP/M formava part d'un esforç més ampli de Kildall i de la seva esposa i sòcia, per a convertir el projecte personal de Killdall, de CP/M i PL/M, en una empresa comercial. Els Kildall astutament pretenien establir la marca Digital Research i les seves línies de productes com sinònim de «microordinador» en la ment dels consumidors, de la mateixa forma que posteriorment, l'IBM i Microsoft van obtenir èxit a transformar l'expressió «ordinador personal» en sinònim dels productes oferts per ambdues empreses. Més tard, la raó social Intergalactic Digital Research, Inc. va ser alterada per a Digital Research, Inc.

[edita] Portabilitat

El CP/M va ser descrit com un "bus de programari"[7], permetent que múltiples programes interaccionasen amb diversos maquinaris de forma estandarditzada. Programes escrits per al CP/M eren típicament portables entre màquines diferents, generalment exigint només l'especificació de les seqüències d'escapi per a control de la pantalla i impressora. Aquesta portabilitat va tornar el CP/M molt popular, i molt més programari va ser escrit per al CP/M que per a sistemes operatius que podien ser executats en una única marca de maquinari. Una restricció a la portabilitat, és que determinats programes usaven el conjunt d'instruccions del processador Z80[8], els quals no podien ser executats en processadors 8080 o 8085.

Moltes marques diferents de màquines van córrer CP/M, amb alguns exemples notables com l'Altair, l'IMSAI 8080, l'Osborne 1, els portables Kaypro i els microordinadors MSX. Fins i tot, l'Apple II podria córrer CP/M quan una targeta Z80 extra va ser instal·lada. El sistema CP/M-compatible campió de vendes de tots els temps va ser probablement el Commodore 128, tot i que poques persones de fet van utilitzar les seves habilitats CP/M[9]. Al Regne Unit, CP/M era també disponible per el BBC Micro, quan equipat amb un coprocessador Z80. A més, el va córrer al popular sistema processador de paraules Amstrad PCW i era disponible per a sèrie Amstrad CPC i models posteriors del ZX Spectrum.

[edita] Referències

[edita] Enllaços externs