Programma di supporto del sistema - System Support Program

Programma di supporto del sistema (SSP)
Sviluppatore IBM
Stato di lavoro Interrotto
Versione iniziale 1977 ; 44 anni fa  ( 1977 )
Piattaforme Sistema / 34 e System / 36 minicomputer
Interfaccia utente predefinita Interfaccia della riga di comando
Licenza Proprietario
Preceduto da System / 32 System Control Program (SCP)
seguito da OS / 400

System Support Program ( SSP ) era il sistema operativo dei minicomputer IBM System / 34 e System / 36 . SSP era un sistema operativo basato su comandi rilasciato nel 1977.

Storia

SSP originariamente conteneva circa 60 comandi che furono implementati su System / 34 dal 1977 al 1983 in diverse versioni chiamate release. La Release 1 è stata rilasciata con l'originale S / 34 nel 1977. La Release 9 è stata rilasciata nel 1981. Nel 1983, IBM ha riconfezionato SSP su un nuovo computer chiamato IBM System / 36 , che non era compatibile con codice oggetto con S / 34. Nel 1994, IBM ha riconfezionato SSP su un modello aggiornato dell'S / 36 chiamato Advanced / 36 . L'A / 36 era un IBM AS / 400 che aveva l'SSP implementato come una "macchina virtuale".

Le principali versioni di SSP includono:

  • S / 34
    • S / 34 Release 1.0 : apparentemente fu spedito con il primo S / 34 nel 1977.
    • S / 34 Release 8.0 - sembra che sia stato rilasciato intorno al 1980.
    • S / 34 Release 9.0 - questa era l'ultima versione per S / 34 c.1980.
  • S / 36
    • S / 36 Release 1.0 : apparentemente fu spedito con il primo S / 36 nel 1983.
    • S / 36 Release 2.0 : questa versione supportava l'unità a nastro 8809.
    • S / 36 Release 4.0 : questa era la versione in cui S / 36 riceveva 5 code di lavoro.
    • S / 36 Release 5.1 : questa versione del 1988 è stata l'ultima grande modifica sulle piattaforme 536X.
    • S / 36 Release 6.0 - noto anche come VASP o Prodotto di supporto a valore aggiunto, questa versione aggiungeva funzionalità che consentivano chiamate di programma in RPG e forniva anche software per calcolare la dimensione AS / 400 di cui l'utente avrebbe avuto bisogno durante l'aggiornamento. Il VASP è stato controverso. Nei giornali di settore circolavano voci secondo cui il cliente non sarebbe potuto tornare a 5.1 se 6.0 non avesse funzionato adeguatamente. Le chiamate al programma con RPG CALL / PARM erano inferiori ai progetti RPGIII e inferiori ai prodotti aggiuntivi dei clienti.
    • S / 36 versione 7.1 : questa versione del 1994 è stata fornita con Advanced / 36 (modelli 9402-236). Le prime macchine A / 36 non funzionavano su una versione inferiore ed erano anche incompatibili con 7.5 (mentre tecnicamente, vero, il codice oggetto del programma da una macchina 7.1 funzionerebbe su una 7.5 e viceversa, più molti 9402-236 sono stati aggiornati a 9402 -436, che hanno cambiato la scheda madre e installato un nuovo codice LIC e hai ripristinato su una copia dei tuoi file e voilà, ha funzionato tutto). Circolavano voci che affermavano che i compilatori delle versioni precedenti non avrebbero funzionato sull'Advanced / 36, ma si sono rivelate infondate. C'erano ragioni per cui un programmatore preferiva usare il compilatore 5.1 RPGII invece del compilatore 7.x presumibilmente più avanzato.
    • S / 36 Release 7.5 - questa release del 1995 è stata fornita con la seconda e ultima ondata di Advanced / 36 (9402-436). Funzioni come WRKSYSVL consentivano all'operatore di modificare l'ora del sistema al volo, il che era interessante perché i componenti aggiuntivi del cliente per farlo tramite le subroutine dell'assembler non funzionavano su Advanced / 36. Tuttavia le routine dell'assemblatore per fare cose come aprire / chiudere file, recuperare il VTOC, ecc. Hanno funzionato bene su 7.1 e 7.5
    • Guest / 36 : questa è la versione 7.5, ma è possibile configurare un M36 (guest) su un AS / 400 (con OS / 400 da V3R6 a V4R4) e funzionerebbe proprio come il 9402-436, tranne che in aggiunta per avere questa "partizione" guest, se lo volevi, avevi anche OS / 400. Quindi, se il 9402-436 fornito con 3 velocità 2102, 2104 e 2106 (che quest'ultimo era circa 2,7 volte più veloce della base) non fosse abbastanza veloce, potresti prendere una macchina 9406-xxx e installare un "guest / 36 "su tale. E in realtà potresti installare più di un guest / 36. C'erano alcune limitazioni nel numero di workstation collegate, ma sarebbe stato facile avere due guest / 36 in esecuzione su un AS / 400 e impostare DDM (gestione dei dati distribuiti) tra di loro e anche con OS / 400 per ospitare file di grandi dimensioni. Mentre S / 36 e A / 36 per la maggior parte funzionavano solo con terminali collegati biassiali, su un Guest / 36 (o M / 36), potresti avere tutti i tuoi terminali su una LAN che esegue tcp / ip ed essere dispositivi virtuali nell'ambiente Guest / 36.
    • S36EE (ambiente di esecuzione S / 36) - questo era supportato nativo su AS / 400 e il suo seguito (iSeries, IBM i), che consente a un utente di continuare a eseguire i propri programmi e procedure s / 36 senza doverli convertire. Molti dei processi di sistema funzionano anche con tale file. Sebbene fosse tipicamente "più lento" poiché deve passare attraverso passaggi aggiuntivi, tuttavia oggi con macchine così veloci, la velocità di un S36EE è molte volte più veloce della velocità di esecuzione A / 36. Ad esempio, un lavoro ha richiesto 12 minuti per essere eseguito su un Adv / 36, 20 secondi per essere eseguito in modalità S36EE. Il codice oggetto tuttavia NON è compatibile con i precedenti S / 36 e A / 36, il che significa che bisogna ricompilare tutti i programmi e menu. Tuttavia, un vantaggio è che non è possibile eseguire solo S36EE ma anche applicazioni OS / 400. È possibile accedere alle tabelle del database nei programmi S / 36, è possibile richiamare i programmi RPG / 400 e RPGIV con un programma S / 36. Quindi, sebbene tecnicamente non SSP, sembra SSP, si comporta come SSP e eseguirà i tuoi programmi / processi S / 36.

Limitazioni sui sistemi operativi S / 36 e A / 36 e M / 36: la quantità massima di spazio su disco che un sistema poteva utilizzare era di 4 GB (per occorrenza del sistema operativo, quindi una macchina che esegue due "partizioni" M36 potrebbe avere 4 gb in ciascuno. Un'altra limitazione era la dimensione del programma, che non poteva superare i 64 KB. Se avessi un programma più grande di quello, dovevi diventare creativo negli anni successivi, quando è entrato in funzione call / parm, poiché sposteresti il ​​codice in un programma chiamato, perché se il programma di base fosse 63kb, ad esempio, potresti facilmente chiamare un programma chiamato 20kb. Inoltre non potresti avere più di circa 8.000 file sulla macchina. C'erano anche restrizioni sul numero di file che potresti portare in un programma (di nuovo, puoi aggirare il problema inserendo i file nei programmi chiamati e trasferendoci il risultato. Il numero massimo di record che potresti caricare inizialmente era di circa 8 milioni e il massimo che un file poteva contenere era di circa 16 milioni. Nessuno di queste limitazioni esistono in S36EE (ci sono un file un numero massimo di file in un programma, ma # molto più grande che in SSP nativo).

Funzioni e componenti

Utilizzando SSP, l'operatore può creare, eliminare e gestire oggetti S / 34-36 come librerie, file di dati , menu , procedure , membri di origine e file di sicurezza.

SSP contiene moduli come DFU, SEU, SDA e WSU che consentono agli operatori di creare librerie e file, inserire informazioni in quei file, produrre semplici report e mantenere una struttura di menu che semplifica l'accesso alle informazioni. Advanced / 36 non supporta WSU. Anche la sicurezza delle password e delle risorse viene implementata tramite SSP, così come le comunicazioni remote, che oggi sono simili al collegamento in rete .

SSP è un sistema operativo basato su disco . I programmi per computer possono essere eseguiti dal disco fisso, ma non dal dischetto o dal nastro. Il complemento di un System / 34 5340 o System / 36 5360/5362 è un array di dischi fissi da uno a quattro dischi fissi, almeno un terminale per computer e un'unità a dischetti da 8 pollici, opzionalmente dotata di due unità caricatore che possono contenere 10 dischetti ciascuno e tre slot per dischetti .. AS / 36 5363/5364 dispone di un'unità dischetti da 5-1 / 4 ". I computer S / 36 possono essere configurati con un'unità a nastro 8809 da bobina a bobina (800/1600 bpi) o un'unità a nastro con cartuccia da 6157 1/4 "(QIC). I computer A / 36 hanno un'unità QIC ad alta densità ma L'unità a dischetti da 5,25 "o 8" (singola) era opzionale così come un'unità a nastro 9348-001 a 9 tracce (da bobina a bobina) da 1600/6250 bpi.

Programmi di utilità di sistema

Le procedure SSP utilizzano programmi di utilità, che in alcuni casi possono essere più utili per il programmatore di computer rispetto alle procedure SSP stesse. $ MAINT è l'utilità di libreria, utilizzata in ALOCLIBR, BLDLIBR, FROMLIBR, LIBRLIBR, REMOVE, CONDENSE, LISTLIBR e TOLIBR. $ COPY è l'utilità di file utilizzata in SAVE, RESTORE, COPYDATA e LISTDATA. Esistono molte altre utilità, tra cui $ FBLD, $ LABEL, $ DUPRD, $ INIT, $ DELET, $ HIST, $ CNFIG, #GSORT, $ PACK e $ PROF, che sono più flessibili a livello di programma rispetto alle procedure SSP associate può essere.

Configurazione tramite CNFIGSSP

La procedura CNFIGSSP è stata utilizzata per configurare il sistema, inclusi i dispositivi. A ogni dispositivo viene assegnato un ID di due caratteri. La prima lettera deve essere alfabetica; il secondo deve essere alfanumerico. Il sistema ha anche riservato alcuni ID; il dispositivo non può essere chiamato I1 o F1, ad esempio. I1 è il nome dell'unità dischetto; F1 è ciò che il sistema chiama il disco rigido (sta per "disco fisso", poiché non è un pacchetto di dischi rimovibili.)

Per applicare CNFIGSSP, il sistema deve essere dedicato (nessun altro utente connesso o programmi in esecuzione). Il sistema deve essere sottoposto a IPL (riavviato). Al termine dell'IPL, i nuovi dispositivi appariranno sul display di stato.

SDA - Screen Design Aid

SDA consente all'operatore di creare formati o menu dello schermo. I tasti di comando possono essere abilitati / disabilitati. È possibile creare e condizionare campi di input, campi di output e costanti. Le condizioni (in RPG questi sono chiamati indicatori ) possono far scomparire i campi o cambiare i colori.

SEU - Utilità di immissione della fonte

SEU è un editor di testo che consente l'immissione di dati riga per riga. Moduli speciali vengono utilizzati per assistere l'operatore nella digitazione di programmi RPG o altri tipi di linguaggi basati su moduli (WSU, Sort, SDA, ecc.)

SORT - L'utilità di ordinamento del sistema

SORT ha da uno a otto file di input, che possono essere di qualsiasi lunghezza di record valida. Ha un file di output, di qualsiasi lunghezza dichiarata, che può contenere da zero a oltre 8 milioni di record.

Un ordinamento può contenere interi record o solo indirizzi a 3 byte che puntano a record in un file associato. Questo è stato chiamato file address-out o ADDROUT. Quando si utilizza un Addrout, il programma legge questi indirizzi a 3 byte e quindi recupera i record associati dal file master.

WSU - Utilità della stazione di lavoro

Questo era un linguaggio simile a un gioco di ruolo che girava su SSP. Era incentrato sui programmi di immissione dei dati. WSU era gratuito, ma non è stato accolto particolarmente bene perché era così limitato.

DFU - Utilità di file di dati

Si tratta di un articolo gratuito fornito da IBM che viene utilizzato per visualizzare e modificare i valori dei campi nei singoli record.

È possibile utilizzare DFU

  • dai programmatori per aggiornare i file di database al volo senza scrivere programmi
  • dai programmatori per creare semplici programmi per eseguire operazioni di base su un file di database
  • dal personale di inserimento dati per aggiungere o rimuovere record da un file o per stampare record.

Programmazione

Linguaggio di controllo operativo (OCL)

I programmi linguistici di alto livello richiedono l' attivazione di OCL . OCL viene utilizzato per caricare programmi nella memoria del sistema e avviarli (un processo chiamato esecuzione) e assegnare risorse come file su disco, stampanti, membri di messaggi, memoria e spazio su disco a tali programmi. Altre capacità, come la visualizzazione del testo sullo schermo, la pausa dei messaggi e così via, rendono l'OCL più potente.

RPG II

RPG II è stato modificato dal Sistema / 3 giorni per consentire l'accesso al "file WORKSTN" per consentire a un linguaggio basato su scheda perforata di interagire con una persona seduta alla tastiera e al monitor. Un file WORKSTN era un file di output (scriveva sul monitor) e anche un file di input (perché accettava l'input da tastiera dell'utente). Pertanto è stato etichettato come file principale combinato o file a richiesta combinata.

I tasti di comando sono diventati indicatori di gioco di ruolo KA-KY e diversi moduli sullo schermo sono stati riconosciuti da diversi caratteri di controllo invisibili nascosti nei moduli stessi. Poiché l'utente doveva visualizzare un modulo sullo schermo per poter digitare, RPG II ha fornito un modo per un programma di scrivere l'output prima di accettare l'input. Molti programmatori di successo sono passati dall'utilizzo del file WORKSTN primario combinato all'utilizzo di un file a richiesta combinata, che aveva codici di operazione per leggere e scrivere sul display. C'era anche un modo per codificare per più WORKSTN; più persone potrebbero collegarsi alla stessa copia dello stesso programma in memoria. La dimensione massima del programma era 64k.

Attributi del programma: MRT, SRT, NRT e NEP

MRT = programma Multiple Requestor Terminal. SSP può collegare fino a 7 terminali a un programma contemporaneamente. Qualsiasi operatore potrebbe avviare il programma sul proprio terminale, quindi i terminali degli altri operatori verranno collegati quando selezioneranno lo stesso programma. Il numero massimo di terminali da sottoporre a manutenzione era controllabile dal programmatore.

SRT = programma Single Requestor Terminal. Non un MRT.

NRT = Nessun programma del terminale richiedente. Iniziato da un terminale, la NRT rilascia il terminale richiedente e continua. È simile a un programma MS-DOS TSR (Terminate and Stay Resident). Per definizione, qualsiasi programma EVOCATO o presentato al JOBQ era un NRT.

NEP = Never Ending Program. Questo era tipicamente un programma MRT interattivo che aspettava dopo che tutti i terminali si erano scollegati fino a quando qualche terminale non si ricollegava, evitando il sovraccarico di avvio. Questo era comunemente usato per consentire l'implementazione di programmi di grandi dimensioni come una catena di piccoli programmi che passavano i terminali dall'uno all'altro rimanendo pronti a continuare l'elaborazione per altri terminali e / o transazioni successive. I programmi NRT potrebbero anche essere NEP se scritti in loop e attendono una condizione che indichi che c'è del lavoro da fare. I programmi NEP normalmente non terminavano fino all'arresto del sistema, a meno che non fossero scritti per riconoscere qualche condizione di terminazione speciale.

Formati del codice oggetto

Codice oggetto generato da Cobol, Fortran e RPG (tipo O). Basic è stato interpretato solo; un'utilità di compilazione chiamata BASICS ha creato il codice di subroutine (tipo R). I programmi di base potevano essere salvati come sorgenti per la compatibilità con altri computer, ma il testo del progetto veniva conservato nella subroutine (a meno che il programmatore non usasse il parametro LOCK per mantenerlo privato).

Le procedure, che utilizzano OCL per avviare i programmi e assegnare loro le risorse, sono di tipo P.

I membri di origine per tutti gli oggetti sono di tipo S, ad eccezione di Basic come specificato sopra.

I programmi DFU hanno generato il codice della subroutine (R). Così ha fatto i programmi WSU.

Lo schermo formatta il codice oggetto generato.

Menu codice oggetto generato. Un menu è semplicemente un formato di schermo molto specifico con un membro del messaggio associato con il suffisso di due cancelletti ("##") per contenere l'azione da intraprendere quando è stato scelto il numero associato.

Applicazioni SSP popolari

  • Il programma POP ( Programmer and Operator Productivity Aid ) era un programma di sviluppo ampiamente utilizzato. Era incluso con l'Advanced 36.
  • MAPICS , il sistema di controllo delle informazioni di produzione e produzione.
  • IMAS, un semplice pacchetto di contabilità
  • BPCS, un sistema di contabilità più avanzato
  • La raccolta di programmi IBM Office / 36 (DisplayWrite / 36, IDDU, Query e così via) era popolare alla fine degli anni '80 e successivamente venne fornita in bundle con Advanced / 36. L'editor di testo System / 34 era un precursore di Office / 36.
  • Il sistema di elaborazione testi Britz era un editor di testo generico che disponeva di funzionalità di modifica per corrispondenza, etichette e file di base.

Sicurezza del sistema

Esistono quattro tipi di sicurezza su un sistema SSP:

  • Sicurezza del badge.
  • Protezione tramite password.
  • Sicurezza delle risorse.
  • Sicurezza del menu.

La sicurezza dei badge viene implementata utilizzando un dispositivo di lettura di strisce collegato a un terminale della serie 5250. Per accedere, l'utente non solo ha digitato le informazioni sull'utente / password, ma ha anche fatto scorrere il badge attraverso il lettore.

SECEDIT

La procedura SECEDIT è stata utilizzata per lavorare con ID utente e password. Il profilo utente contiene un ID utente alfanumerico da 1 a 8 caratteri, una password alfanumerica di 4 caratteri, un codice per la valutazione di sicurezza dell'utente - M (Master Security Officer), S (Security Officer), O (System Operator), C ( Subconsole Operator), o D (Display Station Operator) - e una serie di altre impostazioni predefinite.

La procedura SECEDIT RESOURCE è stata utilizzata per stabilire i livelli di sicurezza per file, libreria, cartella e oggetti di gruppo. I livelli di accesso O (proprietario), C (modifica), U (aggiornamento), R (lettura), E (esecuzione) o N (nessuno) potrebbero essere concessi a un utente per una determinata risorsa. Un oggetto di gruppo era una sorta di holding che possedeva uno o più oggetti inferiori. Ad esempio, la concessione dell'accesso al gruppo ACCOUNTG ha reso più semplice stabilire l'accesso a tutti i file contabili. Gli oggetti gruppo possono anche fare riferimento a file di gruppo; il gruppo UB faceva riferimento a UB.OLD, UB.NEW, UB.01 o qualsiasi nome di file con il punto incorporato.

SECEDIT USERID è stato utilizzato anche per limitare l'autorità operativa di un utente a un menu specifico. Inserendo una Y per Menu obbligatorio e specificando un menu di accesso predefinito, il responsabile della sicurezza potrebbe impedire all'utente l'accesso a qualsiasi programma non trovato in quel menu di accesso. Un utente così confinato poteva solo eseguire opzioni di menu, inviare messaggi e disconnettersi dal sistema.

Altre procedure

La procedura PROF ("Profilo") è stata utilizzata per lavorare con ID utente e password. Il profilo utente contiene un ID utente alfanumerico da 1 a 8 caratteri, una password alfanumerica di 4 caratteri, un codice per la valutazione di sicurezza dell'utente: M (Master Security Officer), S (Security Officer), O (System Operator), C ( Subconsole Operator), o D (Display Station Operator) - e una serie di altre impostazioni predefinite.

La procedura PRSRCID ("Protezione della risorsa profilo per ID utente") è stata utilizzata per stabilire le classificazioni di sicurezza per gli oggetti file e libreria. I livelli di accesso di O (proprietario), G (modifica), R (lettura), E (esecuzione) o N (nessuno) potrebbero essere concessi a un utente per una determinata risorsa.

Il catalogo del disco stampato (VTOC, Volume Table of Contents) mostrava tutti gli oggetti protetti con la notazione 3 come protetti.

File, librerie e cartelle

SSP fornisce due diversi oggetti dati chiamati file e librerie. I file contengono record, quasi sempre con una lunghezza record fissa. Le librerie contengono programmi che possono fare riferimento e accedere a questi file. SSP conteneva più di 80 diversi comandi che consentivano agli operatori di creare, eliminare, copiare, modificare / cambiare e proteggere file e librerie.

Una libreria o un file deve esistere in un'organizzazione contigua su un disco fisso (tuttavia, una libreria può contenere una "estensione" di circa 50 blocchi che devono essere riorganizzati e non può essere estesa se allocata ad altri utenti). Un file può essere organizzato con un valore EXTEND o può essere allocato con FILE OCL per estendersi automaticamente. Tutte le aggiunte / aggiornamenti / eliminazioni di record attendono mentre il file viene esteso. È buona norma creare valori di estensione sufficientemente grandi da ridurre al minimo la frequenza delle estensioni. Le biblioteche potrebbero avere "estensioni" non contigue. A volte, durante la compilazione di un programma, veniva creata un'estensione e facendo una "CONDENSA", veniva rimossa se c'era abbastanza spazio nell'allocazione principale per essa. Altrimenti si è fatto un ALOCLIBR per riallocare la libreria a una dimensione maggiore.

I file sulla S / 36 possono essere sequenziali (S), diretti (D) o indicizzati (I). Un file indicizzato può avere più indici alternativi (X) e, in effetti, un file sequenziale può avere indici alternativi posizionati su di esso, quindi non è presente un indice primario. Un file indicizzato contiene una chiave, che deve essere contigua e può essere lunga fino a 60 caratteri; tuttavia, gli indici alternativi possono avere chiavi in ​​tre parti non contigue tra loro. Le chiavi duplicate nei file di indice indicizzati o alternativi possono essere consentite o non consentite. Un file con organizzazione diretta viene creato con tutti i record aggiunti e non può estendersi automaticamente. Un file con organizzazione sequenziale o indicizzata viene creato senza aggiungere record. Un indice alternativo ha sempre tanti record quanti sono il suo genitore, a differenza di un file logico in stile System / 38 che è costruito con condizioni per filtrare i record dal genitore.

Nel 1986, il supporto per DDM ( Distributed Data Management Architecture ) è stato aggiunto a SSP. Ciò ha consentito ai programmi System / 36 di creare, gestire e accedere a file orientati ai record su sistemi remoti System / 36, System / 38 e mainframe IBM che eseguono CICS . Abilitava anche programmi su computer System / 36 e System / 38 remoti per creare, accedere e gestire file su System / 36. I modelli di file orientati ai record iniziali definiti da DDM erano basati sul file system System / 36.

Sistemi operativi correlati

Il System / 3 (1969) eseguiva un sistema operativo batch basato su disco chiamato System Control Program (SCP) (5702-SC1). Successivamente IBM ha introdotto un programma in linea per il System / 3 denominato CCP (Communications Control Program) che è stato avviato come programma batch. L'IBM System / 32 (1975) eseguiva un sistema operativo basato su disco chiamato anche System Control Program. L'IBM System / 38 (1978) eseguiva un sistema operativo denominato Control Program Facility (CPF) che era molto più avanzato di SSP e non particolarmente simile.

Fonti

  • Pubblicazione IBM SC21-8299, Informazioni generali per il sistema operativo SSP.

link esterno