See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
CP/M - Wikipedia

CP/M

Da Wikipedia, l'enciclopedia libera.

CP/M (acronimo di Command Processor for Microcomputers) era un sistema operativo per i microcomputer basati sulle CPU Intel 8080/85 e Zilog Z80. Fu creato dalla Digital Research, Inc., fondata da Gary Kildall. L'insieme formato dal CP/M e da computer con il Bus S-100 realizzato per primo sul MITS Altair ha costituito di fatto il primo vero e proprio "industry standard" per l'informatica, utilizzato diffusamente nella seconda metà degli anni '70 e nei primi anni '80.

Indice

[modifica] Descrizione: CCP, BDOS, BIOS

L'interfaccia a linea di comando del CP/M, implementata nel CCP command control processor, derivava dai sistemi operativi della Digital Equipment, quali l'RSTS/E per il PDP-11. I comandi in genere erano formati da una keyword seguita da un elenco di parametri separati da spazi o da caratteri speciali. I nomi dei comandi, a volte, erano non perfettamente comprensibili; è il caso, ad esempio del comando per copiare dei file che si chiamava PIP (Peripheral-Interchange-Program).

L'innovazione chiave introdotta dal CP/M fu l'uso di un abstraction layer, con la separazione del sistema operativo in due parti principali. Il CCP si occupava della traduzione dei comandi dell'utente in una serie di istruzioni a livello più basso. Queste istruzioni venivano inviate al BDOS (Basic Disk Operating System), che si occupava delle funzionalità di sistema, quali "open file" (apri il file). I programmi applicativi, allo stesso modo, dovevano interagire con il BDOS. Il BDOS si occupava della traduzione di tali comandi in una serie di istruzioni a livello ancora più basso, che a loro volta venivano inviate al BIOS (Basic I/O System), che conteneva il codice dipendente dall'hardware relativo all'esecuzione delle specifiche routine previste dal BDOS.

Per illustrare il flusso dei comandi, si può prendere in esame il comando PIP già menzionato. Quando nel CCP viene inserito un comando PIP, esso viene spezzettato in una serie di istruzioni per il BDOS, simili a "trova il file foo.txt, aprilo, crea un nuovo file col nome bar.txt...". I comandi del BDOS a loro volta erano inviati al BIOS come stringhe di istruzioni ancora più semplici, del tipo "seleziona il disco, muovi la testina del disco a questo settore, leggi i dati in modalità raw da settore..." etc.

Gran parte della complessità del CP/M era racchiusa nel BDOS ed, in misura minore, nel CCP. Ciò significava che il porting verso una differente piattaforma hardware avrebbe richiesto un minor lavoro, limitato all'adattamento dei semplici comandi contenuti nel BIOS a quella particolare piattaforma hardware, senza riscrivere il resto del sistema operativo. Ciò ridusse in maniera significativa i tempi di sviluppo necessari per supportare nuove macchine, costituendo una delle ragioni principali della diffusione del CP/M. Al giorno d'oggi questo tipo di astrazione è comune alla maggior parte dei sistemi operativi ma, al momento della nascita del CP/M, ciascun sistema era progettato specificamente per girare su una piattaforma specifica e un design multilayer era considerato non necessario.

[modifica] Storia

[modifica] L'inizio e l'apice della diffusione del CP/M

Il CP/M in origine era distribuito su floppy disk da 8 pollici, girava sulla CPU Intel 8080 (e sul compatibile e popolare Zilog Z80). In seguito, con il passaggio al formato da 5 pollici e ¼ il CP/M si adeguò -- sfortunatamente ogni azienda realizzò un proprio formato sui dischi da 5¼ e ciò rese lo scambio dei dischi più difficile. I programmi scritti per il CP/M erano comunque completamente portabili tra diverse macchine con la stessa CPU; ciò lo rese popolare e fu scritto per il CP/M molto più software di quanto non fosse stato mai scritto su sistemi operativi strettamente dipendenti dall'hardware.

Centinaia di diverse marche di macchine permettevano di caricare il CP/M, alcuni esempi degni di nota, oltre al già menzionato Altair, l'IMSAI 8080, i portabili Osborne 1 e Kaypro, persino l'Apple II quando veniva installata una scheda opzionale con i processore Z80. Il sistema con il CP/M probabilmente più venduto è stato il Commodore 128, sebbene in pochi realmente hanno utilizzato le caratteristiche proprie del CP/M su tale home computer.

WordStar, uno dei primi programmi ad essere utilizzati diffusamente per la videoscrittura come word processor e il dBASE, il primo software popolare per la gestione dei database per piccoli computer, furono originariamente scritti per il CP/M.

[modifica] Il mondo a 16-bit

Versioni del CP/M sono state realizzate per alcune CPU a 16-bit, ma richiedevano che i programmi applicativi fossero ricompilati per le nuove CPU -- o, se erano scritti in linguaggio assembly, di essere praticamente riscritti da capo. Uno dei primi fu il CP/M-86 per l'Intel 8086, che fu seguito molto presto dal CP/M-68k per il Motorola 68000. A questo punto il CP/M a 8-bit venne rinominato CP/M-80 per evitare confusione.

Il CP/M-68k è stato utilizzato praticamente solo come base per il computer Atari ST. Il CP/M-86 aveva il potenziale per diventare il sistema operativo standard per i nuovi PC IBM, ma non fu raggiunto l'accordo, forse per alcuni problemi di natura legale e IBM si rivolse invece alla Microsoft. Da un clone del CP/M, chiamato QDOS, fu creato il sistema operativo PC-DOS/MS-DOS che divenne il sistema operativo "ufficiale" del PC IBM e degli innumerevoli compatibili immessi sul mercato negli anni successivi. Il CP/M-86 non divenne mai popolare.

[modifica] L'MS-DOS prevale

Molti dei concetti di base e dei meccanismi interni delle prime versioni dell'MS-DOS erano copiati esattamente da quelli del CP/M. Strutture interne quali quelle per la gestione dei file di dati erano identiche, entrambi si riferivano alle unità a disco con una lettera (A:, B:, etc.). La principale innovazione del MS-DOS fu il file system basato su FAT. Un certo grado di similitudine fu senz'altro voluto, soprattutto per semplificare il porting del software scritto su CP/M, come il WordStar e il dBase. Tuttavia, le ultime innovazioni introdotte nelle versioni più mature del CP/M — quale ad esempio il supporto per aree utente separate sullo stesso disco — non furono mai portate nell'MS-DOS.

L'interfaccia utente dell'MS-DOS, tuttavia, è un po' più user-friendly. Si confronti, ad esempio, il comando di copia del CP/M, PIP:

PIP <file di destinazione>=<file di origine>

con la sintassi più intuitiva del comando del DOS COPY (che ricalcava in un certo senso quello dello UNIX, il cp):

COPY <file di origine> <file di destinazione>

CP/M perse posizioni sul mercato man mano che il mondo del microcomputer migrava verso le piattaforme basate sul PC, senza mai riguadagnare in seguito la popolarità di cui aveva goduto inizialmente. Le ultime versioni del CP/M-86 avevano fatto passi avanti significativi in termini di prestazioni e di facilità di utilizzo, tanto da essere considerato da alcuni, nel corso degli anni 1980 una sorta di MS-DOS migliore dell'MS-DOS stesso. Per riflettere questa compatibilità, il nome stesso fu cambiato, cosicché il CP/M-86 divenne il DR-DOS.

[modifica] Bibliografia

[modifica] Collegamenti esterni

Sistemi operativi su DMoz (Segnala su DMoz un collegamento pertinente all'argomento "Sistemi operativi")


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -