|
DEC - PDP11
|
____
______ __ _ _ __
__ ____
_ _ _ ____
| _ \/ ___\ \/ / / / | \/
| | _ \| | | | | / ___|
| |_) \___ \\ /_____| | | |\/| |_____| |_) | | | |
| \___ \
| _ < ___) / \_____| | | | |
|_____| __/| |__| |_| |___) |
|_| \_\____/_/\_\ |_|_|_|
|_| |_| |_____\___/|____/
____ _____ ____ ____
_ ____
/ ___|| ____/ ___| _ \ / \ | _ \
\___ \| _|| | | |_) / _ \ | |_) |
___) | |__| |___| __/ ___ \| _ <
|____/|_____\____|_| /_/ \_\_| \_\
In questa pagina
andremo ad ottimizzare la memoria del nostro RSX-11M-PLUS in modo
da poterla utilizzare tutta correttamente e poter utilizzare più
programmi contemporaneamente senza avere problemi di memoria.
RSX-11M-PLUS dispone essenzialmente di due pool di memoria, il
primario e il secondario, di seguito viene ripotato un estratto
del manuale "System management guide" dove vengono descritte i due
pool ed il loro utilizzo:
Primary and Secondary Pool:
Primary pool (usually referred to simply as "pool") occupies part
of the region in memory allocated to the Executive.
When you run a task or perform some other action that requires
pool, the system allocates pool space in units of memory called
"packets" or "nodes."
However, because the Executive (and consequently, pool) is
permanently loaded in low memory, primary pool does not appear in
the list of available partitions.
Primary pool contains the Executive's database and temporary data
structures that are used by tasks while they execute.
Secondary pool is allocated from main memory and is extensible.
However, when you extend secondary pool, you do so at the expense
of main memory. Each time you increase the amount of secondary
pool space, you decrease the amount of available memory. As a
system manager, you need to create an appropriate balance between
the two resources.
Ora, visto che abbiamo assegnato il massimo della ram disponibile
al nosto PDP11 virtuale (4MB) possiamo tranquillamente aumentare
al massimo il pool secondario in modo da non avere problemi nel
far girare diversi programmi contemporaneamente.
Per fare questo agiamo come segue:
NOTA BENE: Per lavorare correttamente con
l'editor di RSX-11M-PLUS è necessario che il terminale sul quale
siete loggati sia compatibile con il terminale VT100, se siete in
locale ma in ambiente X-Windows vi consiglio di utilizzare rxvt,
altrimenti se siete collegati alla macchina dove gira l'emulatore
in telnet o in ssh allova vi consiglio di utilizzare putty in
emulazione VT100.
Io utilizzo PUTTY e non ho mai avuto problemi.
Dopo aver fatto il boot usciamo dalla console e logghiamoci come
system.
>bye
Have a Good Evening
21-MAR-2020 19:42 TT0: logged off EMULO
>
>hello system
Password:
RSX-11M-PLUS V4.6 BL87
[1,54] System EMULO
21-MAR-2020 19:42 Logged on Terminal TT0:
as SYS1
Good Evening
*****************************************************************
*
*
*
Welcome to
RSX-11M-PLUS
*
*
*
*
Version 4.6 Base level
87
*
*
This is file
LB:[1,2]LOGIN.TXT
*
*
*
*****************************************************************
Last interactive login on
Thursday, March 19, 2020 18:10:25 (TT0:)
>
Carichiamo in memoria il programma EDT (Editor) e poi
posizioniamoci nella directory dove risiede il nostro executive
(core).
>INS $EDT
>SET DEF [1,54]
Ora editiamo il file SYSVMR.CMD dove risiedono le definizioni per
i parametri modificabili dell'executive.
>EDT SYSVMR.CMD
Ci apparirà l'editor in modalità "riga":
1
RSX11M.SYS
*
Per cambiare la visuale da riga a schermo intero dare il comando "CHANGE"
>EDT SYSVMR.CMD
1 RSX11M.SYS
*CHANGE
Passeremo in questo modo alla modalità visuale dell'editor.
RSX11M.SYS
;
; Set system and library UFDs
;
SET /SYSUIC=[1,54]
SET /LIBUIC=[3,54]
;
; Make primary pool as large as possible
;
SET /POOL=*
;
; Create secondary pool
;
; You can increase or decrease the size of secondary
pool as you wish.
; The third parameter on the /PAR switch is the size
of secondary pool
; in 64 byte blocks. 1000 blocks is 16KW.
Here are some critera for
; judging how much secondary pool you will need:
;
; 2
blocks for every error
logging device
; 2
blocks for every
terminal
; 2
blocks for every
prototype TCB
; 2
blocks for every
logged in terminal with accounting
Cerchiamo la seguente riga con i tasti cursore e la cambiamo da:
SET /PAR=SECPOL:*:1000:POOL
a:
SET /PAR=SECPOL:*:4000:POOL
Poi tornare in modalità riga digitando <CTRL+Z>
*EXIT
DB0:[1,54]SYSVMR.CMD;2 309 lines
>
Ora carichiamo il programma per modificare l'executive. facciamo
una copia di backup dell'attuale executive su RSX11M.TSK e poi
assegnamo l'unità di sistema all'unità di libreria.
>INS $VMR
>PIP RSX11M.SYS/NV/CO/BL:1026.=RSX11M.TSK
>ASN SY:=LB:
>
Fatto questo lanciamo il programma VMR facendogli eseguire il file
appena modificato.
>VMR @SYSVMR
Loading Executive data space
Data space loading completed
VMR -- *DIAG*-Installed tasks or commons may no
longer fit in partition
SET /TOP=SYSPAR:-*
VMR -- *DIAG*-Loadable driver larger than 4K
LOA TT:
VMR -- *DIAG*-Installed tasks or commons may no
longer fit in partition
SET /TOP=DRVPAR:-*
SECPOL 117734 00173700 00400000 SEC POOL
SYSPAR 117670 00573700 00205500 MAIN
117624 00573700
00115200 RO COM !DIR11M!
117434 00711100
00005200 TASK [...LDR]
117230 00716300
00033500 TASK [MCR...]
117024 00752000
00010500 TASK [TKTN ]
116620 00762500
00003200 TASK [SHF...]
116414 00765700
00013500 TASK [RCT...]
DRVPAR 116334 01001400 00173600 MAIN
116270 01001400
00006600 RO COM !TTEXT !
116204 01010200
00020600 RO COM !TTCOM !
116120 01031000
00035000 DRIVER (TT:)
115320 01066000
00003500 DRIVER (DL:)
115254 01071500
00005100 RO COM !PUCOM !
114454 01076600
00014000 DRIVER (DU:)
114120 01112600
00011500 DRIVER (MU:)
113610 01124300
00005300 DRIVER (MS:)
113300 01131600
00001700 DRIVER (DX:)
113060 01133500
00001300 DRIVER (LP:)
112640 01135000
00000500 DRIVER (PP:)
112254 01135500
00000400 DRIVER (PR:)
112064 01136100
00000100 DRIVER (NL:)
112020 01136200
00004700 DRIVER (DB:)
111754 01143100
00005500 DRIVER (DR:)
111710 01150600
00017700 DRIVER (VF:)
111644 01170500
00000300 DRIVER (CO:)
111600 01171000
00002500 DRIVER (VT:)
111534 01173500
00001500 DRIVER (RD:)
GEN 111470 01175200 16562600
MAIN
...LDR 12.01 117500 SYSPAR 248. 00005200
LB0:-00145401 FIXED
TKTN 07.01 117070 SYSPAR 248.
00010500 LB0:-00056556 FIXED
F11MSG 15.00 107410 GEN
200. 00006300 LB0:-00045045
MTAACP 17.00 107014 GEN
200. 00016200 LB0:-00051525
SHE... 06.01 106544 GEN
200. 00014500 LB0:-00055174
MCR... 07.00 117274 SYSPAR 160. 00033500
LB0:-00050504 FIXED
F11ACP 07.00D 111254 GEN 149.
00041000 LB0:-00043565
ERRLOG 05.03 110714 GEN
148. 00056200 LB0:-00043433
PMT... 02.02 110254 GEN
148. 00007500 LB0:-00052435
COT... 02.04 107534 GEN
145. 00014300 LB0:-00037671
HRC... 05.00 107140 GEN
140. 00042500 LB0:-00045631
PMD... 07.05 106670 GEN
140. 00017600 LB0:-00052405
SYSLOG 04.03 110004 GEN
130. 00024500 LB0:-00055434
SHF... 07.01 116664 SYSPAR 105. 00003200
LB0:-00055213 FIXED
RCT... 06.02 116460 SYSPAR 100. 00013500
LB0:-00053100 FIXED
FXR... 03.02 107264 GEN
100. 00003300 LB0:-00045037
BAP0 04.11 111040
GEN 80. 00050300 LB0:-00035350
QMG... 06.04 110130
GEN 75. 00037300 LB0:-00053037
LP0 07.04 110474
GEN 70. 00020300 LB0:-00050022
ACNT 06.04 107660
GEN 50. 00057100 LB0:-00034736
SHUTUP 04.04 106420
GEN 50. 00016500 LB0:-00055220
...RMD 05.00 001775+ GEN 225.
00042000 LB0:-00053122
...DCL 06.01 001751+ GEN 160.
00062500 LB0:-00040175
...DMO 04.02 001753+ GEN 160.
00017300 LB0:-00041150
...MCR 07.00 001767+ GEN 160.
00040300 LB0:-00050542
...MOU 26.06 001771+ GEN 160.
00045600 LB0:-00051434
...CA. 01.00 002025+ GEN 150.
00026100 LB0:-00055463
...INS 16.00 001765+ GEN 100.
00053200 LB0:-00046516
...SAV 11.00 002021+ GEN 100.
00070500 LB0:-00150110
...UFD 07.02 002027+ GEN 100.
00014500 LB0:-00056571
...VCP V04.10 002031+ GEN 90.
00020300 LB0:-00056757
...ACS 04.00 002003+
GEN 70. 00006200 LB0:-00035171
...ACC 05.00 001743+
GEN 65. 00032100 LB0:-00034477
...SHA 06.01 002023+
GEN 65. 00032000 LB0:-00055021
...AT. 10.0 001757+
GEN 64. 00056500 LB0:-00046102
...INI 24.00 001761+
GEN 60. 00037200 LB0:-00046422
...HOM 24.00 001763+
GEN 60. 00037200 LB0:-00046422
...BRO 09.10 001745+
GEN 50. 00041500 LB0:-00035476
...BYE 05.01 001747+
GEN 50. 00021700 LB0:-00036002
...HEL 06.00 001755+
GEN 50. 00031600 LB0:-00045175
...PIP 21.00 001773+
GEN 50. 00027500 LB0:-00052132
...UNL 05.04 001777+
GEN 50. 00021500 LB0:-00056705
...ACD 03.00 002001+
GEN 50. 00042500 LB0:-00034570
...BOO 03.10 002005+
GEN 50. 00047200 LB0:-00035276
...CON 05.00 002007+
GEN 50. 00135600 LB0:-00037467
...ELI 04.03 002011+
GEN 50. 00032600 LB0:-00043376
...LOA 05.03 002013+
GEN 50. 00040000 LB0:-00047625
...MAG 03.00 002015+
GEN 50. 00037300 LB0:-00050442
...PSW 03.02 002017+
GEN 50. 00017500 LB0:-00052522
RHAOFLCPACSR=176700VEC=254PRI=5
YLAOFLCPACSR=177560VEC=60PRI=5
YZAOFLCPACSR=160100VEC=300PRI=5
YZBOFLCPACSR=160110VEC=310PRI=5
DLAOFLCPACSR=174400VEC=160PRI=5
DUAOFLCPACSR=172150VEC=154PRI=5
MUAOFLCPACSR=174500VEC=260PRI=5
MSAOFLCPACSR=172522VEC=224PRI=5
DXAOFLCPACSR=177170VEC=264PRI=5
LPAOFLCPACSR=177514VEC=200PRI=4
PPAOFLCPACSR=177560VEC=100PRI=4
PRAOFLCPACSR=177554VEC=74PRI=4
PRBOFLCPACSR=177550VEC=70PRI=4
DB0:RHA0:OFLDRIVER
DB1:RHA1:OFLDRIVER
DB2:RHA2:OFLDRIVER
DB3:RHA3:OFLDRIVER
DR0:RHA4:OFLDRIVER
DR1:RHA5:OFLDRIVER
DR2:RHA6:OFLDRIVER
DR3:RHA7:OFLDRIVER
VF0:OFLDRIVER
VF1:OFLDRIVER
VF2:OFLDRIVER
VF3:OFLDRIVER
CO0:OFLDRIVER
TT0:YLA0:OFLDRIVER
TT1:YZA0:OFLDRIVER
TT2:YZA1:OFLDRIVER
TT3:YZA2:OFLDRIVER
TT4:YZA3:OFLDRIVER
TT5:YZB0:OFLDRIVER
TT6:YZB1:OFLDRIVER
TT7:YZB2:OFLDRIVER
TT10:YZB3:OFLDRIVER
VT0:OFLDRIVER
RD0:ONLDRIVER
DL0:DLA0:OFLDRIVER
DL1:DLA1:OFLDRIVER
DL2:DLA2:OFLDRIVER
DL3:DLA3:OFLDRIVER
DU0:DUA0:OFLDRIVER
DU1:DUA1:OFLDRIVER
DU2:DUA2:OFLDRIVER
DU3:DUA3:OFLDRIVER
MU0:MUA0:OFLDRIVER
MS0:MSA0:OFLDRIVER
DX0:DXA0:OFLDRIVER
DX1:DXA1:OFLDRIVER
LP0:LPA0:OFLDRIVER
PP0:PPA0:OFLDRIVER
PR0:PRA0:OFLDRIVER
PR1:PRB0:OFLDRIVER
NL0:OFLDRIVER
POOL=1200:12398.:12398.:1737
>
Come potete vedere il programma è andato a modificare alcuni
parametri e poi ha presentato un dump della configurazione
dell'executive.
Ora per poter utilizzare il nuovo core è necessario effettuare il
boot dal nuovo core e salvare il boot block nel disco di avvio,
come abbamo precedentemente fatto alla fine del SYSGEN.
>BOO [1,54]
RSX-11M-PLUS V4.6 BL87
>SAV /WB
RSX-11M-PLUS V4.6 BL87
2044.KW System:"EMULO "
>RED DB:=SY:
>RED DB:=LB:
>RED DB:=SP:
>MOU DB0:"RSX11MPBL87"
>@DB:[1,2]STARTUP
>; PLEASE NOTE
>;
>;If you have not yet read the system release
notes, please do so
>;now before attempting to perform a SYSGEN or to
utilize the new
>;features of this system.
>;
>;
>* Please enter time and date (Default:21-MAR-2020
19:54) [S]:
>ACS SY:/BLKS=1024.
>CON ONLINE ALL
>ELI /LOG/LIM
>CLI /INIT=DCL/CTRLC/DPR="<15><12>/$
/"
>INS LB:[1,1]RMSRESAB.TSK/RON=YES/PAR=GEN
>INS LB:[1,1]RMSLBL.TSK/RON=YES/PAR=GEN
>INS LB:[1,1]RMSLBM.TSK/RON=YES/PAR=GEN
>INS $QMGCLI
>INS $QMGCLI/TASK=...PRI
>INS $QMGCLI/TASK=...SUB
>QUE /START:QMG
>INS $QMGPRT/TASK=PRT.../SLV=NO
>QUE LP0:/CR/NM
>START/ACCOUNTING
>CON ESTAT LP0:
>QUE LP0:/SP/FL:2/LOWER/FO:0
>QUE BAP0:/BATCH
>QUE LP0:/AS:PRINT
>QUE BAP0:/AS:BATCH
>@ <EOF>
>
>@ <EOF>
>
Verifichiamo ora che la partizione secondaria sia effettivamente
di 4000 blocchi.
lanciamo il comando RMD
>RMD
Apparirà una finesta che si auto aggiorna con una serie di
informazioni che per il momento non vedremo, quello che ci
interessa è il valore del campo SECPOOL:
RSX-11M-PLUS V4.6 BL87 (EMULO
) 2044K UP 000:00:06 8-APR-2020 14:12:38
TASK=
*IDLE*
FREE= SY0:275487.
DB2:DMO
DB1:DMO
DB3:DMO PARS
POOL=11532.:11652.:13.
SECPOOL=1929.:2048.:94%
11532.:11652.:13.
1929.:2048.:94%
SECPOL:P
SYSPAR:D
IN: D RDPFFR
QB
DRVPAR:D
9 I CUMC1M
MA
GEN :D
61K R T:TS1D GP
OUT: 1 . .RAT .0
0 1 . .EC0 .
0K M . .SP .
!=!])>!>><>>
0*******127*****255*****383*****511*****638*****766*****894*****
EP---D--DD------------------------------------------------------
----------------------------------------------------------------
1022****1149****1277****1405****1533****1660****1788****1916****
ERRSEQ
0.
Come possiamo vedere il pool secondario è di 2048 blocchi che
equivalgono a 4KB. :)
Per uscrie dall'utility RMD basta utilizzare la combo <CTRL+Z>
Ne approfittiamo ora per inserire gli eseguibili degli editor nel
file di startup di sistema in modo da averli disponibili le
prossime volte senza doverli inserire a mano:
Per prima cosa ci spostiamo nella directory dove risiedono la
maggior parte dei files di sistema
>SET DEF [1,2]
Poi entriamo in edit del file STARTUP.CMD:
>EDT STARTUP.CMD
Cambiamo in modalità visuale:
*CHANGE
Ora ci spostiamo alla fine del file e prima della riga contenente
l'istruzione ".EXIT" andremo ad inserire queste righe:
.; ENABLE EDITORS
INS $EDT
INS $TKB
Salviamo il tutto con <CTRL+Z> ed EXIT.
Nel prossimo tutorial andremo ad installare la rete DECNET.
Installazione
DECNET
Torna a SYSGEN RSX-11M-PLUS
Torna su PDP 11
Torna su DEC
Torna su Mimac