15.2. AS/400

15.2.1. Panoramica

RpT

I più piccoli sono i 9402 e si arriva fino ai 9406 passando per i 9404; ma questi sono i codici delle tre famiglie e all'interno di ciascuna ci sono almeno una decina di modelli diversi. Inoltre in alcuni casi particolari, per macchine particolarmente piccole o entry level esiste anche il tipo 9401.

Originariamente (1988) l'hardware era beige-computer, le macchine "piccole" erano contenute in case a se stanti un po' più grandi, larghi e pesanti dei big tower per 486, mentre i 9406 erano in rack (il famoso armadio IBM 9309), i processori erano CISC, i modelli erano codici tipo D02, B10, etc. e l'hardware era detto Stage 1. Con l'evolversi della situazione è uscito nuovo hardware più grosso e potente, sempre CISC e sempre bianco detto Stage 2 riconoscibile per alcune differenze fisiche e logiche nel pannello di controllo rispetto alle macchine più vecchie.

Lo Stage 2 vide anche i primi modelli neri e contemporaneamente gli ultimi CISC; per l'occasione nacquero modelli con il codice solo numerico tipo 200, 236, 300 e 600 che avevano caratteristiche fisiche completamente nuove rispetto ai precedenti modelli e un pannello di controllo rifatto nella logica praticamente identico a quello dei loro futuri successori RISC. Il bestione beige-computer più grande in assoluto fu il 9406-F95 che era Stage 2 e fu uno degli ultimi beigei ad uscire sul mercato.

I RISC sono sempre stati solo neri; i primi erano completamente neri identici ai modelli CISC però erano già identificati come Stage 3, successivamente da un case completamente nero si è passati a case neri con uno zoccolo viola e poi con uno zoccolo rosso; c'erano anche quelli con lo zoccolo giallo che mi pare fossero ottimizzati per Lotus Notes e Domino. I codici di modello sono sostanzialmente rimasti sempre numerici a parte alcune serie particolari tipo la serie "S" che ha avuto modelli S10, S20 ed S30. Non so cos'avesse di speciale sta serie come non so in cosa consistesse l'ottimizzazione dei modelli con lo zoccolo giallo...

Attualmente dopo il rename commerciale da AS/400 a I-Series non so se si è passati a Stage 4, i numeri di modello sono sempre numerici, ad es. 270, l'estetica è un po' cambiata e si è passati a un nero lucido metallizzato con riflessi rosso bordeaux 8-); In generale per vedere lo stage hardware si deve utilizzare la funzione 11 del pannello di controllo a macchina accesa, se viene "11" è Stage 1 altrimenti verrà "11-2", "11-3", etc. :-)

Sono esistiti un 9401-P0x CISC che era il modello portable (!) tipo valigetta 24ore, molto compatto, ma anche molto povero nelle prestazioni pensato soprattutto per dimostrazioni e cose simili, non per un vero uso quotidiano ed esiste un 9401-150 RISC che invece è grande come il classico tower da PC con 3 slot da 5.25 per piccoli uffici e cose simili (L'IBM lo vende anche come replacement/upgrade per le unità di controllo remoto 5x94). Molto carino, ci ho fatto il corso sopra e me lo ricordo affaticato giusto quando compilavamo insieme in 14. :-)

Per quanto riguarda il software tutto va su tutto, naturalmente con il limite che le versioni per CISC (fino alla V3R2) girano solo sui CISC e quelle per RISC (dalla V3R6) girano solo su RISC. C'erano dei problemi sui più vecchi modelli CISC, indicativamente sui modelli beige: la macchina virtuale microcodificata (LIC ovvero Licenced Internal Code) che si interfaccia con l'hardware aveva bisogno di alcune parti di codice specifiche per ogni tipo di processore essendo diversi tra loro e con differenti set istruzioni.

Per questo oltre ai tape dell'OS uguali per tutti c'era anche una serie di nastri non intercambiabili specifici per ogni modello che l'IBM dava in una cassetta con etichetta gialla e nera (tipo cosa radioattiva) con stampigliato sopra il numero di serie della macchina e tutta una sequela di minacciosi avvertimenti per chi osasse copiarla/distribuirla! Tra l'altro questa cosa serviva all'IBM per controllare e tenere traccia delle licenze software che aveva in giro. In ogni caso pare (e l'IBM non è di molto aiuto) che per le ultime/nere/meno potenti macchine CISC questo nastro non occorresse.

Con i RISC questo problema non si è più posto in quanto il processore è sempre della stessa famiglia: un PPC 604 modificato; cambiano le potenze e le velocità, ma il set di istruzioni è sempre quello.

15.2.2. Accensione e spegnimento

RpT

In pratica la procedura è sempre la stessa: impostare l'IPL in modalità normale dall'area macchina "B" quindi avviare. Tutti i tipi di hardware hanno sostanzialmente le stesse caratteristiche e soprattutto le varie parti del pannello di comando sono analoghe tra tutti i modelli grandi e piccoli, vecchi e nuovi.

Per impostare l'IPL dall'area "B" si deve scegliere un'apposita opzione da un menu diviso in funzioni visualizzato nel display LCD. Ogni funzione ha un numero progressivo: partendo dalla posizione di stand-by si scorrono i numeri, se ne sceglie uno e si conferma, così facendo si può scegliere fra i valori per quella funzione; confermando un valore si ritorna alla scelta delle funzioni.

Alcune funzioni sono solo di visualizzazione, in tal caso confermando si visualizza il dato scelto e riconfermando si torna fuori per sceglierene un'altra. Ad esempio la funzione 04 fa la prova degli indicatori cioè accende tutte le luci del pannello di comando, per controllare che funzionino tutte; la funzione 20 invece visualizza sul display LCD tipo e modello della macchina. Attenzione a non giocare troppo perché alcune funzioni sono pericolose per la vita del sistema!

Per impostare il modo ("Normale") ci sono due strade: se il sistema ha il selettore rotativo, con o senza la chiave, si usa quello altrimenti si usa una funzione del menu come per l'area macchina. Alcuni sistemi recenti per scegliere il modo hanno un pulsante apposito per che viene attivato inserendo una specie di chiave elettronica che l'IBM chiama "Electronic Keystick" che in pratica sostituisce il selettore rotativo con la chiave.

La funzione di scelta dell'area macchina è la 02. Se il modo si sceglie da menu, entrando nella funzione 02 si può scegliere ciclicamente tra AM, BM, CM, DM, AN, BN, CN e DN dove la prima lettera indica l'area macchina da cui avviare il sistema (A da disco senza PTF temporanee, B da disco con PTF temporanee, C riservato all'IBM e D da nastro o CD-ROM) e la seconda il modo (Manuale o Normale) altrimenti il display LCD visualizza solo A, B, C o D e il modo si sceglie con il selettore o con l'apposito pulsante.

I tasti di selezione possono essere leggermente diversi a seconda del tipo di hardware, ma sostanzialmente fanno sempre le stesse cose: potrebbe esserci un tasto "Invio" insieme a due tasti, uno con una freccia verso l'alto e uno con una freccia verso il basso oppure, al posto dei due tasti, potrebbe esserci uno switch che va su e giù oppure ancora potrebbe esserci solo un tasto di selezione insieme al tasto "Invio", in quest'ultimo caso è come avere solo uno dei due tasti con la freccia e non si può tornare indietro ma si deve fare sempre il giro completo delle funzioni e dei loro valori se si passa quello buono. Di default la macchina visualizza la funzione 01, cioè area macchina e modo operativo: "01 B N".

Un LED indica che la macchina è accesa e ha una dicitura tipo "Aliment. Acceso" oppure il simbolo internazionale della barretta verticale nel cerchietto; uno o più di uno LED indicano l'attività del processore (o dei processori): o c'è scritto "Elaboratore Attivo" oppure c'è il simbolo di una scaletta che sale oppure ancora c'è l'icona di un chippettino con le zampine :-) (se i processori sono più d'uno i LED sono numerati).

Poi c'è il LED color arancio chiamato "Attenzione Operatore" oppure indicato da una barra verticale spezzata che si accende se c'è un guasto o un'anomalia (contemporaneamente appare un System Reference Code sul display LCD). In alcuni modelli più grossi c'è una serie di LED che indicano il modo operativo in cui si trova la macchina: "Manuale", "Normale", "Automatico", "Sicuro" e relativo pulsante di selezione, altrimenti il modo è indicato o dalla posizione del selettore o è visualizzato nel display LCD.

Per l'accensione o c'è un pulsante o c'è uno switch. Nei modelli con il selettore rotativo per il modo c'è anche un pulsante per lo "Spegnimento Ritardato" oppure si usa lo switch di accensione abbassandolo invece che alzandolo; nei modelli in cui il modo si seleziona con il pannello LCD c'è un pulsante solo che in modo manuale serve anche per lo spegnimento ritardato (chiede conferma visualizzando " 0 ? ").

Nei vecchi modelli bianchi c'era anche un vistoso interruttore rosso con scritto "Emergenza Unità" o un ancora più chiaro "Intettuttore di Emergenza". abbassare quello era come staccare la spina alla macchina (mai capita tutta sta fretta di spegnere!); nei nuovi modelli neri è stato sostituito dalla funzione 08 che va scelta e riscelta (per conferma): nel momento in cui viene riscelta la macchina si spegne di botto.

Al contrario dell'interruttore rosso, lo "Spegnimento Ritardato" comunica alla VM che deve fermare il sistema e in pratica viene eseguita una chiusura abbreviata che risulterà corretta per la VM (ma anomala per OS/400) e assicura una corretta memorizzazione su disco di tutti gli oggetti in uso.

Per spegnerlo normalmente, usare il comando PWRDWNSYS *IMMED, altrimenti impostare la modalita' operativa su "Manuale" e premere il tasto "Spegnimento Ritardato" o il normale bottone di accensione, a seconda del modello: il display LCD inizierà a mostrare codici "Dxx-xxxx" e nel giro di qualche minuto si fermerà tutto.

15.2.3. Reimpostazione password QSECOFR

RpT

Per tentare la manovra di sostituzione temporanea della password e' necessario entrare nel setup, che richiede anche lui una parola d'ordine che di solito è QSECOFR, ma è distinta da quella del sistema operativo, quindi anche se l'utente è lo stesso può avere due password diverse: una per entrare in OS/400 e l'altra per il setup. Mi auguro che quella di setup non l'abbiano toccata altrimenti l'unica soluzione è l'inizializzazione dei dischi e una nuova installazione.

Qui entra in gioco il DST è l'IPL manuale. Praticamente ti viene permesso di fare, durante un IPL particolare, l'override della password di QSECOFR che solo per questa volta viene temporaneamente impostata a QSECOFR come il nome utente. Appena entrato dovrai cambiarla con un'altra. Se sei a macchina accesa imposta l'IPL a "01 BM" e fallo partire con la funzione 03 del pannellino. Se sei a macchina spenta semplicemente imposta "01 BM" e premi il tasto di avvio. Dopo un po' di traffici suoi (circa 10 min. in condizioni normali) arrivi a una schermata che è quella iniziale del setup.

Mi raccomando, in caso di IPL manuale l'emulazione deve essere già attiva prima di partire, la scheda dev'essere collegata alla porta zero e l'indirizzo settato a zero anche lui. Controlla le impostazioni della scheda e/o del programma. In ogni caso se dopo un po' qualcosa appare sei a zero/zero come devi essere (però sarebbe meglio verificare prima).

Allora, ti appare una schermata intitolata (da me) "IPL o installazione del sistema" e sotto ci sono varie opzioni: la 3. dice "Usare il DST". Scegli quella opzione e premi invio, ti verrà richiesta la password del DST: nei modelli vecchi di DST chiede solo una password, nei modelli più nuovi chiede anche un nome utente, ma non è un problema visto che sono sempre coincidenti. Inserisci QSECOFR. Nota bene: la password del DST è distinta da quella di OS/400 dunque anche se hanno cambiato quella del sistema operativo, questa dovrebbe essere sempre uguale: di solito non si tocca mai, se invece l'hanno toccata, la cosa migliore sarebbe chiedere a chi ti ha dato il sistema qual'era la password di QSECOFR per OS/400 (non quella del DST). In questo caso spengni il sistema in maniera controllata (imposta manule e schiaccia il tasto di avvio: appare "0?", schiaccia ancora e si spegne nel giro di un minuto).

Dicevo, entra come QSECOFR e ti troverai nel menu del DST. Scegli l'opzione 5. "Gestione Ambiente DST" e invio, cambia il menu e ne appare uno dove devi scegliere 9. "Modifica parole d'ordine DST" e infine nel menu che apparirà a questo punto scegli 4. "Reimpostazione parole d'ordine assunte del sistema". Ti apparirà una schermata di conferma che chiede un ulteriore invio per attivare la funzione di reimpostazione, dai invio come vuole lui per attivare l'opzione e invio ancora per uscire da lì e tornare al menu dove hai scelto l'opzione 4. Un consiglio: non fare esperimenti con questi menu perché sono molto dannosi. ;->

Premi F3 due volte e ti chiederà conferma dell'uscita dal DST, digli di sì scegliendo l'opzione 1. "Uscita dai DST" e ti ritroverai allo schermo principale di Setup. A questo punto puoi proseguire con l'IPL: scegli 1. "Eseguire un IPL" e dai invio. Il terminale si bloccherà in immissione impedita e dopo un po' il menu sparirà mentre i codici del pannellino inizieranno a scorre e il video a mostrare quello che sta succedendo. Può darsi che ci stia un bel po' lì fermo a fare i cavoli suoi soprattutto se l'ultima volta è stato spento male.

Dopo un bel po' di minuti potrebbero arrivarti dei messaggi diagnostici che fanno fare bip al terminale/emulatore e l'IPL si ferma, per proseguire dai invio e ti troverai a una schermata di collegamento vera e propria (già di OS/400). Entra come QSECOFR/QSECOFR

Starà lì a pensarci un altro po' e poi ti apparirà un'enigmatica schermata intitolata (almeno nel mio sistema) "Scelta prodotti per gestire le PTF"... fai F3 (fine) e aspetta. Arriverà uno schermo di "Opzioni IPL". metti a posto data e ora se sono sbagliate e dai invio senza toccare il resto. Risparirà tutto per un altro po' e potrebbero arrivare altri messaggi che fanno bip. Fregatene e dai invio sempre fino ad arrivare al famoso "Menu principale di AS/400" :-)))

Ora la prima cosa da fare è cambiare la password finché sei in questo IPL in cui è temporaneamente resettata: dalla riga di comando digita CHGPWD (che sarebbe CHanGe PassWorD) e dai invio. Appare una schermata in cui inserire la parola d'ordine attuale (che è QSECOFR) e poi due volte una nuova parola. Scegli tu, dopo aver digitato dai invio e ritornerai al menu principale.

Ora occupiamoci delle limitiazioni al QSECOFR, che non sono molto utili, cambiando un paio di valori di sistema: dai il comando WRKSYSVAL (work system values) e invio (dimenticavo: maiuscolo o minuscolo è uguale). Ti arriva una lista di valori di sistema che regolano varie cose. Scorri fino a QMAXSGNACN (maximum signon action), nella riga corrispondente, a sinistra, metti un 2 (modifica) nel campo opzione e dai invio. Imposta il valore a 1 e invio. Ora passa al successivo valore QMAXSIGN, entra e imposta a *NOMAX, infine cerca QLMTSECOFR e imposta a 0 (zero).

Ora siamo certi che non ci saranno problemi a rientrare. Ora imposta il pannellino su IPL automatico (cioè N) da B e non fermare il sistema con l'opz. 08 né riavviarlo con l'opz. 03, ma da una qualunque riga di comando adesso dai il seguente comando: PWRDWNSYS OPTION(*IMMED) RESTART(*YES) IPLSRC(*PANEL) che significa arresta il sistema immediatamente e poi riavvialo secondo le modalità impostate nel display LCD. :) dai invio e nel giro di pochi secondi lo schermo sparirà e il terminale perderà la linea i codici inizieranno a scorrere sul display LCD e dopo un po' noterai che ha ricominciato la sequenza di avvio. Nel giro di 15-20 minuti dovresti ritornare allo schermo di collegamento. Entra con QSECOFR come utente mentre come password usa quella che hai scelto prima e sei dentro. CONGRATULAZIONI :-))) Ora scorazza come ti pare, ma leggi bene quando fai qualcosa in modo da non rischiare di fare danni. Ricorda che c'è sempre l'help interattivo premendo F1.

15.2.4. Accensione e spegnimento - The Director's cut

RpT

Le operazioni da fare sono sostanzialmente due: collegare e impostare il terminale che farà da console e accendere la macchina.

Per quanto riguarda il terminale, lo dovrai collegare al retro dell'AS/400 dove vedrai una fila di connettori a vite di circa un centimetro di diametro (nel tuo modello mi pare siano quattro e siano in basso). Devi prima di tutto collegare con un cavo twinax il tappo con il numero zero alla "T" collegata al terminale poi accendi il terminale tenendo premuta la barra spaziatrice per entrare in modalità configurazione.

Quando ti appare una schermata con una tastiera stilizzata per fare i test e in cima un elenco di tutti i caratteri e gli attributi video possibili, usa il tasto F24 (Cmd24) e vedrai che in basso un numerino cambierà ciclicamente da 0 a 6... tu impostalo su 0 (zero) e poi premi il tasto "Ripr" che nelle tastiere da PC è il Ctrl sinistro per uscire dal setup e mettere in linea il terminale.

A questo punto passiamo alla macchina. Guarda che l'interruttore "Emergenza Unità" sia su OFF/Disarmato/Disinserito (a seconda del modello), attacca la presa e portalo su ON/Armato/Inserito e il pannello di comando dovrebbe illuminarsi.

Ruota la chiave su "Normale" e guarda il display; se dice "01 B" sei a posto altrimenti usa il tasto "Selezione" finché non dice "02", poi "Invio", quindi con "Selezione" finché non dice "B" o "02 B", "Invio", "Selezione" finché non appare "01" e infine un ultimo "Invio".

A questo punto il display dovrebbe dire "01 B" e il terminale dovrebbe essere acceso sulla porta zero indirizzo zero quindi puoi procedere all'accensione. In alcuni modelli c'è un tasto verde con scritto "Avvio" in altri c'è una leva bianca che da una parte dice "Avvio" e dall'altra "Spegnimento Ritardato". Vedi tu, in ogni caso o spingi il bottone o tieni sollevata la leva per alcuni secondi e la macchina dovrebbe partire.

Dopo circa 20 minuti ti dovrebbe apparire sul terminale lo schermo di collegamento. Prova a mettere QSECOFR come utente e idem come password; se riesci a entrare bene, altrimenti ti rimando alla prossima puntata :-) (occhio che il tasto di invio nella tastiera è quello che normalmente sarebbe il Ctrl destro in un PC)

Per spegnere: se sei riuscito ad entrare digita in un qualunque video il comando PWRDWNSYS *IMMED (PoWeR DoWN SYStem) altrimenti porta la chiave del pannello di comando su "Manuale" e poi abbassa la leva bianca verso spegnimento ritardato. Se non sbaglio sul display apparirà "0 ?" che significa che vuole essere sicuro che tu voglia proprio spegnere, tu conferma riabbassando nuovamente la leva verso "Spegnimento Ritardato" oppure se non ha effetto usa il tasto "Invio" del pannello di comando. Se il tuo modello non ha la leva vedrai che c'è un apposito tasto "Spegnimento Ritardato".

N.B.: in un caso o nell'altro lo spegnimento avviene in circa 5 minuti. Quando le ventole e i dischi si fermano e tutto tace puoi disalimentarlo del tutto con la leva rossa di "Emergenza Unità" e prima di riavviarlo ricordati di rimettere la chiave su "Normale".

15.2.5. Link

RpT

15.2.6. ANSI tapes

RpT

I nastri IBM seguono lo standard ANSI X3.27 in tutto e per tutto tranne per il fatto che lo standard ANSI specifica che i label devono essere in ASCII puro, mentre IBM per i suoi label usa il codice EBCDIC (e quindi si parla di IBM Standard Label). VMS è un esempio di OS che segue lo standard ANSI per gli identificativi dei nastri. Alcuni Unix tipo Tru64 hanno l'utility ltf per la gestione dei label ANSI.

A differenza dei vari Unix che usano nastri UNlabeled in cui la separazione tra gli stream di dati è data solo da un tapemark e l'unico modo per sapere cosa contiene uno stream è leggerlo e infine lo stream stesso non ha nome e il volume non ha protezione se non quella fisica, lo standard ANSI prevede che i primi 4 byte fisici di un nastro inizino con i quattro caratteri "VOL1" seguiti dal nome del nastro e dall'identificativo del proprietario, in tutto un record di 80 bytes. Se i primi quattro bytes in esadecimale sono 0x564F4C31 (VOL1 in ASCII) allora il nastro è ASCII, se sono 0xE5D6D3F1 (VOL1 in EBCDIC) allora il nastro è EBCDIC :-)

Dopo VOL1 ci possono essere identificativi di volume aggiuntivi (fino a VOL9) e VMS per esempio nell'identificativo VOL2 mette le informazioni di riservatezza del nastro. Dopodiché ci sono gli identificativi di testa del primo tapefile che sono da HDR1 a HDR9. In HDR1 ci sono le informazioni di identificazione e sequenza del file (nome, data, OS di generazione, etc) e in HDR2 ci sono le informazioni di struttura del file (formato record, lunghezza blocco, lunghezza record, etc). Finiti gli identificativi di testa c'è un tapemark dopo il quale iniziano i dati veri e propri.

I dati veri e propri finiscono con un altro tapemark dopo il quale ci sono gli identificativi di coda del file, da EOF1 a EOF9 che sono la copia di HDR1-HDR9 (Utile per quei sistemi che possono leggere i tape anche a rovescio). Se invece che EOFx c'è EOVx significa che il file è stato troncato perché il nastro è finito e il file prosegue nel nastro successivo dove in HDR1 c'è un campo di controllo sequenza multivolume. Dopo gli identificativi di coda del file c'è ancora un altro tapemark poi si trovano gli HDRx del file successivo e così via. La fine del volume logico (che può anche essere diviso in più nastri fisici) è segnalata da un doppio tapemark dopo l'ultimo EOFx.

Gli identificativi VOL1, HDR1 e EOF1/EOV1 sono obbligatori, tutti gli altri sono facoltativi e in realtà non si va molto più in là degli identificativi con il 2 o il 3 finale. Ci sono anche altri identificativi del tutto facoltativi, ad esempio gli UHLx (User Header Label) e UTLx (User Trailer Label). Tutti i record, con qualunque identificativo, devono essere lunghi 80 bytes.

Leggendo un nastro del genere con un OS che non riconosce i label si troveranno i dati veri e propri inframmezzati di altri file con una lunghezza multipla di 80 quindi per sapere il contenuto di un nastro scritto ad esempio da OS/400 sarà sufficiente leggere dall'inizio del nastro fino al primo tapemark per leggere i record di testa del primo file poi saltare i dati per i due tapemark successivi (per saltare i dati veri e propri e i record di coda) e ci si troverà a leggere i record di testa del file successivo. L'unica cosa da ricordare sarà la conversione da EBCDIC ad ASCII.

Il formato dei dati nello stream tra i record di testa e di coda dipende dall'OS, dall'applicazione che li ha creati e dallo standard che si adotta. Nello specifico i sistemi IBM utilizzano vari tipi di formato record in relazione al tipo di dati salvati: F (Fixed), FB(Fixed Blocked), V (Variable), VB (Variable Blocked), VS (Variable Spanned), VBS (Variable Blocked Spanned) e U (Undefined).

Nello specifico, OS/400 per il salvataggio degli oggetti (comandi SAV*) utilizza blocchi in formato U e lunghezza di 32760 bytes (internamente sono record da 512 bytes più un checksum da 8 bytes) e i nastri di installazione sono formati da circa 300 tapefile di questo tipo, mentre i nastri di PTF sono formati da saveset (o tapefile) di tipo U come per i normali nastri di salvataggio o di installazione, ma intervallati con file in formato FB: record da 80 caratteri e blocchi da 32000 bytes che contengono le cover letter delle relative PTF.

Per la precisione l'ordine dei saveset in un nastro di PTF è così: un saveset di tipo U con blocco da 32760 con le informazioni sulle PTF seguenti (numeri PTF, prerequisiti e corequisiti, stringhe sintomi, etc.), un saveset come il precendente che contiene l'effettivo codice delle PTF, un saveset in formato FB con record da 80 e blocco da 32000 che contiene il testo esplicativo sulle PTF dei due saveset precedenti. Il primo saveset di questo tipo in un nastro cumulativo di PTF (quindi il terzo dall'inizio del nastro) contiene il dettaglio di tutte le PTF del nastro e le istruzioni di installazione.