TOPS-20

TOPS-20
sistema operativo
Screenshot del login
SviluppatoreDigital Equipment Corporation, Daniel Murphy e Leonard Bosack
FamigliaTENEX
Release iniziale (1976)
Release corrente7.1 (giugno 1988)
Piattaforme supportatePDP-10
Tipo licenzaSoftware proprietario
LicenzaSoftware proprietario
Stadio di sviluppoabbandonato

Il TOPS-20 di Digital Equipment Corporation (DEC) era un software proprietario[1] 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).[2]

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.[3] 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[4] e WAITS—tutti disponibili per PDP-10 e noti sistemi di time sharing.

Lo stesso argomento in dettaglio: 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.

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"[5] 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.[6]

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."[6]

Capacità del TOPS-20

[modifica | modifica wikitesto]

I modi principali per ottenere le capacità del TOPS-20, che lo resero importante, erano:

  • comandi immessi tramite processore di comando, EXEC.EXE;[2]
  • chiamate JSYS ("Jump to System") da programmi MACro-language (.MAC).[7]

L'"EXEC" completava il suo lavoro primariamente con:

  • codici interni, anche con chiamate JSYS;
  • servizi di componenti "GALAXY" (come spoolers).

Processore di comando

[modifica | modifica wikitesto]

Piuttosto avanzate per i tempi erano alcune funzionalità specifiche di TOPS-20:

  • completamento di linee di comando;[3]
  • aiuti dinamici come:
    • noise-words - digitando DIR e quindi premendo il tasto ESCape risultava
      DIRectory (dei files)
    • digitando I e poi premendo Esc si aveva
      Information (about)

Si poteva premere ? quali operandi erano permessi o richiesti.

Il seguente elenco di comandi è supportato dal processore di comandi TOPS-20.[2]

  • 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

[modifica | modifica wikitesto]

JSYS sta per Jump to SYStem.[8] 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."[2]

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)

[modifica | modifica wikitesto]

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.[9][10][11][12]

Caratteristiche dei linguaggi PCL

[modifica | modifica wikitesto]

PCL include:[9]

  • 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).

Paul Allen mantenne diversi sistemi informatici storici pubblicamente accessibili prima della sua morte, incluso un XKL TOAD-2 con TOPS-20.

  1. ^ (EN) Richard Stallman, RMS lecture at KTH (Sweden), su gnu.org, 30 ottobre 1986. URL consultato il 25 agosto 2021.
  2. ^ a b c d (EN) TOPS-20 Command manual (PDF), su textfiles.com. URL consultato il 25 agosto 2021 (archiviato dall'url originale il 9 agosto 2020).
  3. ^ a b (EN) Origins and Development of TOPS-20, su tenex.opost.com. URL consultato il 25 agosto 2021.
  4. ^ (EN) ITS reference manual (PDF), su publications.ai.mit.edu. URL consultato il 25 agosto 2021 (archiviato dall'url originale il 6 luglio 2017).
  5. ^ (EN) What does UUO mean in Software?, su abbreviations.com. URL consultato il 25 agosto 2021.
  6. ^ a b (EN) Dan Murphy, Origins and Development of TOPS-20, su tenex.opost.com, 1989. URL consultato il 25 agosto 2021.
  7. ^ (EN) DECSYSTEM-20 Assembly Language Guide (TXT), su columbia.edu, 3 luglio 1980. URL consultato il 25 agosto 2021.
  8. ^ (EN) JSYS means Jump to System, su allacronyms.com. URL consultato il 25 agosto 2021.
  9. ^ a b (EN) TOPS-20 Programmable Command Lanuage / User's Guide and Reference Manual, Carnegie Mellon University Computation Center, 1981.
  10. ^ (EN) Programmable Command Language, su fileformats.archiveteam.org, 11 marzo 2016. URL consultato il 25 agosto 2021.
  11. ^ (EN) R. J. Cohn, Programmable Command Languages for Window System (PDF), su reports-archive.adm.cs.cmu.edu, 1988. URL consultato il 25 agosto 2021 (archiviato dall'url originale il 25 agosto 2021).
  12. ^ (EN) TOPS-20 Programmable Command Language (TXT), su math.utah.edu. URL consultato il 25 agosto 2021.
  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica