Il TOPS-20 di Digital Equipment Corporation (DEC) era un software proprietario usato in alcuni mainframe computer DEC a 36 bit. L'Hardware Reference Manual era descritto come "DECsystem-10/DECSYSTEM-20 Processor" (riferendosi al DEC PDP-10 e al DECSYSTEM-20).
TOPS-20 iniziò ad essere usato nel 1969 come sistema operativo TENEX di Bolt, Beranek and Newman (BBN) e dal 1976 venne venduto per il DEC. Non ha quasi niente a che fare con il TOPS-10, ma venne fornito con la funzione di emulazione delle chiamate monitor PA1050 TOPS-10 che consentiva alla maggior parte, ma non a tutti, gli eseguibili TOPS-10 di funzionare senza modifiche. Per una questione di politica, il DEC non aggiornò PA1050 per supportare le successive aggiunte di TOPS-10 tranne dove richiesto dal software DEC.
TOPS-20 era in competizione, oltre che con TOPS-10, anche con ITS e WAITS—tutti disponibili per PDP-10 e noti sistemi di time sharing.
TENEX
TOPS-20 era basato sul sistema operativo TENEX, creato da Bolt Beranek and Newman per i computer Digital PDP-10. Dopo che Digital iniziò lo sviluppo della versione KI-10 del PDP-10, sorse un problema: a questo punto TENEX era il sistema operativo PDP-10 più popolare scritto dai clienti , ma non avrebbe funzionato sui nuovi e più veloci KI-10. Per correggere questo problema, il responsabile delle vendite del DEC PDP-10 acquisì i diritti su TENEX da BBN e imbastì un progetto per portarlo sul nuovo computer. Alla fine, rimase molto poco del codice TENEX originale e Digital infine chiamò il sistema operativo risultante TOPS-20.
PA1050 Parte di ciò che arrivò con TOPS-20 era semplicemente un'emulazione delle chiamate del sistema operativo TOPS-10. Queste erano conosciuti come UUO, acronimo di "Unmplemented User Operation" ed erano necessarie sia per l'esecuzione dei compilatori, che non erano specifici per il 20, sia per i programmi utente scritti in questi linguaggi. Il pacchetto mappato nello spazio degli indirizzi di un utente venne denominato "PA1050": PA come in PAT e come compatibilità; 10 come in DEC o PDP 10; 50 come in un modello PDP 10 50, 10/50, 1050.
Alcune volte PA1050 era definito PAT, un nome che si adattava bene al fatto che PA1050 "era semplicemente un codice in modalità utente non privilegiato" che "eseguiva l'azione richiesta, utilizzando le chiamate JSYS ove necessario."
Capacità del TOPS-20 I modi principali per ottenere le capacità del TOPS-20, che lo resero importante, erano:
comandi immessi tramite processore di comando, EXEC.EXE;
chiamate JSYS ("Jump to System") da programmi MACro-language (.MAC).
L'"EXEC" completava il suo lavoro primariamente con:
codici interni, anche con chiamate JSYS; servizi di componenti "GALAXY" (come spoolers).
Processore di comando Piuttosto avanzate per i tempi erano alcune funzionalità specifiche di TOPS-20:
completamento di linee di comando; aiuti dinamici come: noise-words - digitando DIR e quindi premendo il tasto ESCape risultava DIRectory (dei files) digitando e poi premendo si aveva Information (about)
Si poteva premere quali operandi erano permessi o richiesti.
Comandi Il seguente elenco di comandi è supportato dal processore di comandi TOPS-20.
ACCESS ADVISE APPEND ARCHIVE ASSIGN ATTACH BACKSPACE BLANK BREAK BUILD CANCEL CLOSE COMPILE CONNECT CONTINUE COPY CREATE CREF CSAVE DAYTIME DDT DEASSIGN DEBUG DEFINE DELETE DEPOSIT DETACH DIRECTORY DISABLE DISCARD DISMOUNT EDIT ENABLE END-ACCESS EOF ERUN EXAMINE EXECUTE EXPUNGE FDIRECTORY FORK FREEZE GET HELP INFORMATION KEEP LOAD LOGIN LOGOUT MERGE MODIFY MOUNT PERUSE PLOT POP PRINT PUNCH PUSH R RECEIVE REENTER REFUSE REMARK RENAME RESET RETRIEVE REWIND RUN SAVE SEND SET SET HOST SKIP START SUBMIT SYSTAT TAKE TALK TDIRECTORY TERMINAL TRANSLATE TYPE UNATTACH UNDELETE UNKEEP UNLOAD VDIRECTORY
JSYS features JSYS sta per Jump to SYStem. Gli operandi erano a volte indirizzi di memoria. "TOPS-20 consente di utilizzare indirizzi a 18 o 30 bit. Alcune chiamate monitor richiedono un tipo, altre l'altro; alcune chiamate ancora accettano entrambi i tipi. Alcune chiamate monitor utilizzano solo 18 bit per contenere un indirizzo. Queste chiamate interpretano gli indirizzi 18-bit come posizioni nella sezione corrente."
Internamente, i file sono prima identificati, utilizzando un JSYS GTJFN ("Get Job File Number"), quindi quel numero JFN viene utilizzato per aprire (OPENF) e manipolare il contenuto del file.
PCL (Programmable Command Language) PCL (Programmable Command Language) è un linguaggio di programmazione che funziona con TOPS-20. I programmi sorgente PCL sono, per impostazione predefinita, memorizzati con Filetype .PCL e consentono di estendere TOPS-20 EXEC tramite un verbo denominato DECLARE. I comandi appena compilati diventano quindi parte funzionalmente dell'EXEC.
Caratteristiche dei linguaggi PCL PCL include:
controllo del flusso: DO While/Until, CASE/SELECT, IF-THEN-ELSE, GOTO; operazioni su stringhe di caratteri (lunghezza, sottostringa, concatenazione); accesso alle informazioni di sistema (data/ora, attributi dei file, caratteristiche del dispositivo).
TOPS-20 oggi Paul Allen mantenne diversi sistemi informatici storici pubblicamente accessibili prima della sua morte, incluso un XKL TOAD-2 con TOPS-20.
Note
Altri progetti