Да, хватит задавать тупые вопросы, ответы на которые НА ЭТОЙ ЖЕ СТРАНИЦЕ
Вид для печати
После долгой паузы вернулся к Decnet на RSX11M.
Проблема была (и остается) в этом
Система для меня новая, доселе не сталкивался, поэтому сталКод:NTL -- Process File -- Partition CEXPAR Not In System
читать доки...Отредактироввал файл SYSVMR.CMD, добавил
рекомендованные строки:
Этого оказалось недостаточно, CEXPAR не "появился".Код:SET /POOL=1135
SET /MAIN=CEXPAR:*:43:COM
Как-то это делается через VMR, однако команда PAR, которая должна
вывести список partinions, не выводит ничего.
Вопрос - как добавить partition CEXPAR?
- - - Добавлено - - -Код:RSX11M
SET /POOL=1135
SET /MAIN=CEXPAR:*:43:COM
SET /MAIN=EXCOM1:*:200:COM
INS EXCOM1
SET /MAIN=EXCOM2:*:200:COM
INS EXCOM2
SET /MAIN=LDRPAR:*:26:TASK
INS LDR
FIX LDR...
SET /MAIN=TTPAR:*:400:TASK
LOA TT:
SET /MAIN=DRVPAR:*:*:SYS
LOA DM:
LOA DU:
LOA LP:
LOA MS:
LOA CO:
SET /TOP=DRVPAR:-*
SET /MAIN=SYSPAR:*:117:TASK
SET /MAIN=PUCOM:*:41:COM
INS PUCOM
SET /MAIN=FCSRES:*:400:COM
SET /MAIN=FCPPAR:*:242:SYS
SET /MAIN=RCTPAR:*:130:TASK
INS RCT/PAR=RCTPAR ! INS BBR TASK
FIX RCT... ! FIX IN MEMORY
SET /MAIN=GEN:*:*:SYS
INS FCPMDL ! INSTALL FILE SYSTEM
INS [1,1]FCSRES !INSTALL FCSRES
INS COT ! INSTALL CO DRIVER TASK
INS QMG
INS QMGCLI
INS QMGCLI/TASK=...PRI/CKP=NO
INS QMGPRT
INS LPP
INS RMD ! USER AVAILABLE RMDEMO
INS ACS ! INSTALL ALLOCATE CHECKPOINT FILE
INS BOO ! INSTALL BOOT
INS DMO ! INSTALL DISMOUNT
INS ERL ! INSTALL ERROR LOG TASK
INS ELI ! INSTALL ERROR LOG COMMAND INTERFACE
INS F11MSG ! INSTALL MAGTAPE ERROR PROCESSOR
INS MTAACP ! INSTALL ANSI MAGTAPE
INS MAG ! INSTALL MAGTAPE ACP CONTROL TASK
INS ICP ! INS FULL CAPACITY INDIRECT COMMAND PROCESSOR
INS INS ! INSTALL INSTALL
INS PMT ! INSTALL POOL MONITORING TASK
INS PMD ! INSTALL POST-MORTEM DUMPER
INS LOA ! INSTALL LOAD
INS MCRMU ! INSTALL MULTI-USER MCR
INS DCL/CLI=YES ! INSTALL DCL
INS HEL ! INSTALL LOGIN PROCESSOR
INS BYE ! INSTALL LOGOUT PROCESSOR
INS BRO ! INSTALL BROADCAST TASK
INS MOU ! INSTALL MOUNT
INS SAV ! INSTALL SAVE
INS SHF ! INSTALL SHUFFLER
INS SYS ! INSTALL SYSTEM DISPLAY PART OF MCR
INS TKN ! INSTALL TASK TERMINATION TASK
INS UFD ! INSTALL USER FILE DIRECTORY BUILDER
INS UNL ! INSTALL UNLOAD
SET /UIC=[1,54]:TT0:
;
SET /POOL
;
PAR
;
TAS
;
DEV
Возможно значения 113500 и 4300 (из NETGEN) нужно заменить на некие реальные для текущей системы.
Попробуй переставить SET /MAIN=CEXPAR:*:43:COM сюда
FIX RCT... ! FIX IN MEMORY
SET /MAIN=CEXPAR:*:43:COM
Не помогло. Вот распределение partitions:
Команда SET /POOL=1135 в SYSVMR.CMD не отработалаКод:>PAR
EXCOM1 117734 00120000 00014700 MAIN COM
EXCOM2 117670 00134700 00010300 MAIN COM
LDRPAR 117624 00145200 00002600 MAIN TASK
TTPAR 117260 00150000 00040000 MAIN TASK
DRVPAR 117124 00210000 00023600 MAIN SYS
117060 00210000 00003500 SUB DRIVER -DM:
116760 00213500 00012000 SUB DRIVER -DU:
116660 00225500 00001100 SUB DRIVER -LP:
116560 00226600 00004500 SUB DRIVER -MS:
116460 00233300 00000300 SUB DRIVER -CO:
SYSPAR 116414 00233600 00011700 MAIN TASK
PUCOM 116350 00245500 00004100 MAIN COM
FCSRES 116304 00251600 00040000 MAIN COM
FCPPAR 116240 00311600 00024200 MAIN SYS
036774 00311600 00024200 SUB (F11ACP)
RCTPAR 116174 00336000 00013000 MAIN TASK
GEN 115630 00351000 16427000 MAIN SYS
036530 00351000 00006400 SUB (PMT...)
037550 00357400 00060000 SUB (...AT.)
036464 00437400 00074400 SUB (...NCP)
042364 00534000 00030400 SUB (NMVACP)
046610 00564400 00006700 SUB (NTINIT)
045344 00573300 00020000 SUB (...MCR)
037120 16775100 00001700 SUB DRIVER -HT:
037054 16777000 00001000 SUB DRIVER -NM:
(адреса начинаются с 00120000)?
И не понимаю это:
Копированиие сделал, теперь вот так:Код:If VMR has previously been run, you must make a new copy of the system image
before running VMR to add CEXPAR. To do so, enter one of the following com-
mands:
PIP RSXllS.SYS/CO/BL:n.=[1,64JRSXllS.TSK
PIP RSXllM.SYS/CO/BL:n.=[1,54JRSXllM.TSK
Правда не ясно почему майская дата...Код:>PIP RSX*.*/LI
Directory DU0:[1,54]
7-JUL-24 12:55
RSX11M.SYS;3 498. C 07-MAY-24 16:35
RSX11M.STB;2 14. 21-JUN-24 17:32
RSX11M.TSK;2 130. C 21-JUN-24 17:32
Total of 642./642. blocks in 3. files
На выходе из TKB мы полчаем ядро системы. Само по себе оно НЕ РАБОТОСПОСОБНО. Что бы сделать рабочим - надо его подготовить - в файле образа памяти - то, что будет грузиться. Причём обрах этот грузится один в одинм в память - почему и называется образом. Для этого и служит VMR.
Образ получаем копированием ядра в новый файл заданного размера. Этот размер выбирают исходя из будущего распределения памяти (SET /MAIN= как раз и распределяют память). Память начинаю распределять сразу после ядра (ну, точнее, не сразу, а с учётом выравнивания на границу 100(8) байт - особенности ДП, то есть адрес начала раздела памяти в конце всегда содержит 00). То есть меньше некоего предела создать образ нельзя - не отработают SET /MAIN=. Но. Что бы сделать систему "нормально" загружаемой - нужна команда SAV - а когда она будет сохранять содержимое памяти в файл образа - она тоже будет занимаать в памяти место - и она ДОЛЖНА попасть в файл образа - после загузки такой системы управление получает SAV (которая в памяти) и она начинает доинитить систему (то, что выдаётся на консоль - RED, MOU, @StARTUP - это SAV). Так что образ создают с некоторым запасом - одно из традиционных значений - 498 блоков
Но у VMR нет команды - обнули обра до исходного ядра системы, поэтому перед запуском VMR @SYSVMR создают новый "чистый" образ - и развлекаются уже с ним.
Насколько я помню - 1135 - это размер пула системной динамической памяти, а не его начало. Причем, опять же, насколько помню - этот пул должен быть ВЕСЬ размещён до адреса 120000(8). И вроде бы возможен вариант SET /POOL=* - типа создай пул МАКСИМАЛЬНО ВОЗМОЖНОГО размера - но - это ТОЧНО работает в Plus, а вот работает ли в M - не помню наверняка
Результат PIP RSX*.*;*/LI в студию
Не знаю - зачем там про [1,64], по идее, одной достаточно:
PIP RSXllM.SYS/CO/BL:n.=[1,54]RSXllM.TSK
- - - Добавлено - - -
Про SET /MAIN=CEXPAR ещё думаю
Дока единая для RSX11S/M/M+ и команда PIP RSXllS.SYS/CO/BL:n.=[1,64JRSXllS.TSK для варианта S (как я понимаю).
Это было изначально в файле SYSVMT.CMD, и дока рекомендует:
Код:Add a line to the SYSVMR.CMD file between the SET /POOL = * command and
toe SET /MAIN command for the first partition shown. To reflect the base
address at which CEXPAR loads, change the value of the SET /POOL = * line.
These changes cause CEXPAR to load immediately above the RSX Executive and
pool. The format for the two lines is:
SETSET/POOL=base-address
/MAIN=CEXPAR:*:size:COM
Попробовал SET /MAIN=CEXPAR на plus, ну... во первых, VMR не понимает /MAIN (только /PAR), во вторых не понимает COM - в обеи случаях фатальная ошибка. Прошел вариант SET /PAR=CEXPAR:*:43, но на M такой вариант (без COM, насколько мне подсказывает память) не пройдёт..
Посмотрю, если есть M 4.8 установленная - попробую с ней поиграться
Съелись пробелы:
Код:Add a line to the SYSVMR.CMD file between the SET /POOL = * command and
the SET /MAIN command for the first partition shown. To reflect the base
address at which CEXPAR loads, change the value of the SET /POOL = * line.
These changes cause CEXPAR to load immediately above the RSX Executive and
pool. The format for the two lines is:
SET /POOL=base-address
SET /MAIN=CEXPAR:*:size:COM
The asterisk (*) here means, load at the next available location. The word COM
signifies that this is a common block partition.