• Please review our updated Terms and Rules here

Discovering RSX11

Activmaker

Experienced Member
Joined
Apr 3, 2018
Messages
66
Location
Paris, France
Hi all,


I am discovering RSX11-M (with SIMH), I followed this tutorial : http://ancientbits.blogspot.com/2012/07/installing-rsx-11m-46-from-scratch-part.html
I also read the introduction book and beginners guide..But to be honest , most of concepts in rsx11-m are not yet clear.
For example , I encounter a problem in the tutorial part 3 http://ancientbits.blogspot.com/2012/07/installing-rsx-11m-46-from-scratch-part_15.html , just after created the 2 users (SYSTEM and USER )

Code:
PIP /NV=[1,2]INTRO.ULB,INTROFIL.CMD
The command PIP is not recognized , an error occurs :"MCR -- Task not in system" ..
I am not able to understand why , I probably made a mistake somewhere. Is there a way to solve it whithout restart all tutorial...?

An other point strange for me is : After creating 2 users , I thought that RSX11 will ask me to log after boot , but it is not the case . Look like that I am directly log with the SYSTEM account. Do you think it is normal ?

A obscur point is the UIC . It seems that we have after boot we have many system 'folder' like [1,2], [1,54], [1,24] and probaly some other ones . In the tutorial we type SET /UIC=[n,n] to select the good one. But how to know 'who is who' ? . What are the difference between [1,2] and [1,54] for example ?


Thanks in advance
 
Hi all,


I am discovering RSX11-M (with SIMH), I followed this tutorial : http://ancientbits.blogspot.com/2012/07/installing-rsx-11m-46-from-scratch-part.html
I also read the introduction book and beginners guide..But to be honest , most of concepts in rsx11-m are not yet clear.
For example , I encounter a problem in the tutorial part 3 http://ancientbits.blogspot.com/2012/07/installing-rsx-11m-46-from-scratch-part_15.html , just after created the 2 users (SYSTEM and USER )

Code:
PIP /NV=[1,2]INTRO.ULB,INTROFIL.CMD
The command PIP is not recognized , an error occurs :"MCR -- Task not in system" ..
I am not able to understand why , I probably made a mistake somewhere. Is there a way to solve it whithout restart all tutorial...?

An other point strange for me is : After creating 2 users , I thought that RSX11 will ask me to log after boot , but it is not the case . Look like that I am directly log with the SYSTEM account. Do you think it is normal ?

A obscur point is the UIC . It seems that we have after boot we have many system 'folder' like [1,2], [1,54], [1,24] and probaly some other ones . In the tutorial we type SET /UIC=[n,n] to select the good one. But how to know 'who is who' ? . What are the difference between [1,2] and [1,54] for example ?


Thanks in advance

Welcome to RSX!

The MCR task not in system error for PIP is because it is not installed. To do that:

>INS $PIP

[1,2] is where certain system command files (.CMD) and help files (.HLP) are kept. An important system command file
is [1,2]STARTUP.CMD which executes at boot. That is where you could put at the bottom tasks you want to have
installed automatically like the PIP command above.

[1,54] is where privileged tasks are stored and [3,54] is for non-priviledged tasks (.TSK) are stored. When you do a
>INS $PIP
those are the directories that will be searched for PIP.TSK


It is normal for the console to be logged in at the end of boot-up. Since you have created additional accounts you
can log out with BYE then Login with HELLO
Many commands only need the first three letters so HELLO can be HEL

When you create an account with the group [group,user] of 10 or less it is a privileged account like system
and can execute any command. You should set up an account with your name, I would make it a privileged
account so something like [7,1] so that as you create new files they are not in a system directory.

The book that was recommended in the earlier post is a good introduction. Once you get more comfortable,
the RSX minireference is helpful. Also,
> HELP command
gives syntax and other info on many commands.

One of my favorite RSX utilities is RMD which shows a live picture of what going on in memory and other things. It is
interesting to watch in one window while you execute commands in another log in session on another window.

Have Fun,
Mark
 
Mark already gave some good answers. I'll just fill in a couple of blanks.

I should point out that I will mainly talk about RSX-11M-PLUS here. There are some differences in RSX-11M to what I'm saying now. And if someone really wants to know, I can explain those. But I would in general recommend people don't run -11M. It is just more limited, and a little more cryptic and difficult to deal with. But mostly same or similar.

First of all, as mentioned, LB:[1,2]STARTUP.CMD is run when the system boots. It should normally have installed PIP already. If that isn't the case, then either that execution was aborted, or else someone have modified the file. If it's been modified, who knows what your system looks like, and it can be tricky to use the manuals, since they do assume some sort of standard initial setup have happened. And if it wasn't allowed to run to completion, please reboot, and answer any questions it pose, and let it run to completion.

It's incorrect that [1,54] are privileged task, and [3,54] unprivileged. There is a distinction between what is in the two directories, but for normal users it don't really matter. But programs in [1,54] are closely tied to the running kernel, and if you build a new kernel, programs in [1,54] might need rebuilding too. Programs in [3,54] do not. In RSX terminology, they are vectored.
Now, I did say "might". Some programs or binaries in [1,54] might not need rebuilding anyway, but it is more of a thing depending on multiple factors.

Accounts and directories are not the same thing. Also, users sortof always exist, even if no account for them exists. This might sound complicated, but isn't, really.
So, let's go through the different things one by one.

First of all, directories do not necessarily have any association with a user. Of course all files (and directories are just files) have an owner. But the directory name itself is either in UIC form ([group,member]) or named form ([name]). If in UIC form, it just means that you have two numbers for specifying the directory. Such a directory can also be referred to in name form, in which case you just take the three octal digits that makes up each part, and put them together. So [1,54] is in named form [001054]. A few UIC form directories are special, in that the system have some expectation that they exist, and contain some important files. These directories can be set, so they are not hardwired as such. But they are always in UIC form. But there do not have to exist any users with the same UIC, nor do the owner of a directory have to be the same as the UIC name of the directory. But it's important to understand that just because some UIC exists as a directory, that do not necessarily have any implications about existing users or anything else.

Second, terminals are always associated with a UIC. And now we talk about UIC as a user, not a directory. This UIC is called the protection UIC, and it governs what you have access to. This is matched against the owner information in files, and in combination with the protection fields of a file tells if you have access to that file or not. Same thing with some other resources in the system, such as common regions. (In addition, if the group number of your UIC is 10 or less (octal), you are considered a system user, and the system file protection field will also apply, and you are also always allowed to do things like changing the protection of any file, no matter what the current protection mask is.)
In addition, a terminal have a default directory. This default directory is just what it says. It just tells which directory any file operation will work in, if you do not give a directory specification for a file. You can obviously change your default directory at any time. And you can change it to any directory (or UIC), even if such a directory do not exist. It's just a string (or a number).
Also, each terminal have an attribute, telling if that terminal is privileged or not. If it is privileged, the user at that terminal can change his UIC to anything. It don't matter if that user "exists" or not. As I said, all users exists, in a sense. A privileged user can take on any identity.

Finally, there is the accounts database. In there you have "existing" users. There are account you can log into on the system. But in order to log in, the terminal have to be currently logged out. At startup, unless the STARTUP.CMD file logs the console out, the console is left logged in, with the terminal set to privileged. So you can do anything from there. You can of course log the terminal out yourself, and then the console can be used to log in to the system, just like any other terminal.
Now, when logging in, the login process will check if the group number of your UIC is 10 or less (octal), and if it is, your terminal will be set to privileged. And otherwise your terminal is set to not privileged.

Finally, within the RSX system, there are some conventions for UICs and directories, which can be helpful to know:
As mentioned, with users, a group number of 10 or less (octal) is a system user, and when logging in gets a privileged terminal. Such UICs also match against the system field for file protection.
When it comes to directories, you usually have:
[1,1] system libraries
[1,2] help files and system wide command files
[1,3] directory where lost files are placed
[1,4] system log directory
[1,6] print and batch queue directory
[1,54] system image, drivers and tasks dependent on current system
[2,54] baseline system
[3,54] system tasks and tools
[6,54] standalone brusys
[11,*] kernel, drivers
[12,*] MCR and related tools
[13,*] MOU/DMO and some more file system control stuff
[14,*] RMD
[15,*] Executive utilities
[16,*] Multi-user tools
[17,*]
[20,*] File related tools
[21,*]
[22,*]
[23,*] DCL
[24,*] TDX
[25,*] QMG
[26,*] BPR
[27,*] CON,HRC
.
.
.

[*,10] source files for parts of the system
[*,24] object files
[*,34] list files

[200,200] SYSGEN

Group 5 is usually used for DECnet related things. Group 4, 7 and 10 are usually not used by anything. I usually create privileged users in group 10, and use directory [4,54] to add local system tools so I don't have to pollute [3,54] with that. And then add unprivileged users in group 201 and onwards. But of course, now we're really talking about local conventions...
 
Thanks a lot for these responses !
using INS $PIP unlocked the situation. Now I know that my STARTUP.CMD doesn't contains this line , and it is the next step in tutorial. I will study the documentation to know how drive EDT.

As my system is almost configured , I played with PIP /LI to discover what files are present on system. I didn't find how to list folders only , maybe it is not possible . PIP [*,*]/LI give me all files on volume. Is there a way to have only folders ?

An other thing I would like, is to be able to see the content of text file , but without using an editor , like a cat command in linux . I tried DMP , but it is not what I am looking for.

Thanks for bqt , your comment is really interesting and the list of folder very helpful.
 
Thanks a lot for these responses !
using INS $PIP unlocked the situation. Now I know that my STARTUP.CMD doesn't contains this line , and it is the next step in tutorial. I will study the documentation to know how drive EDT.

As my system is almost configured , I played with PIP /LI to discover what files are present on system. I didn't find how to list folders only , maybe it is not possible . PIP [*,*]/LI give me all files on volume. Is there a way to have only folders ?

An other thing I would like, is to be able to see the content of text file , but without using an editor , like a cat command in linux . I tried DMP , but it is not what I am looking for.

Thanks for bqt , your comment is really interesting and the list of folder very helpful.

Hi,

I learned a few things from Johnny's post about directory contents.

To see all the directories on a disk:

>PIP [0,0]*.DIR/LI

Be careful not to delete any of the [0,0]NNNNNN.DIR files or you will have "lost files".

To type a file (e.g. FILE.TXT ) with PIP

>PIP TI:=FILE.TXT

If you have a catch all task installed (TDX or CCL) it will attempt to interpret commands MCR
does not recognize so it is likely that the DCL command:

TYPE FILE.TXT

will also work. If you want to make sure you do not change a file with EDT use QUIT
not EXIT. Also to be safe EDT/RO will not allow you to change the file.

Best,
Mark
 
As Mark said. [0,0] is the master file directory, or MFD. This is more or less the equivalent of the root directory in for example Unix.
Looking at *.DIR files there will tell you what directories you have on the volume, assuming you haven't added patches that allows for subdirectories...

Looking at contents of files are also done as Mark says. Essentially, PIP can do all kind of things. One of them being copying files. And if you copy a file to your terminal, you'll see it.
You can also add /PA to such a command to get one page at a time.

As for lost files, indeed, deleting a directory file itself is one way to get lost files. It applies to all directory files, and not only the UIC style ones.

If you want to have a life a little easier, you might want to try using DCL, if it is installed. That is a different command line interpreter, with a more "modern" feel to it.
SET /DCL=TI:
would do it, if DCL is installed.
And then just try HELP after that.
 
hi,

I started to read the pdf advised by cruff. It is a good one . Unfortunately some point are always not clear. For example Simh seems to use device identifiers not equal to RSX. I boot on RP0 in simh , but in RSX it seems that it call it DB.Also, I would like to use RL disk , I suppose in RSX it call it DL , no ?

In Simh configuration I use
Code:
SET RL enable
set RL0 RL01
ATTACH RL0 rlutil.dsk

So using
Code:
PIP DL0:[0,0]*.DIR/LI
should give me a list of directory not equal to
Code:
PIP DB0:[0,0]*.DIR/LI
But I get exactly the same list , and it is the DB0: . I tried with other RL Disk image but RSX always show me the DB0 root . Where I am wrong ?
 
By DB0: did you mean LB0: by any chance?

Yes, DEC had their own naming convention RL0 = DL0. Sorry, that's the way it is...

DL0: is a physical drive.

LB0: is a logical device (the library disk) which is usually assigned to the physical disk drive you boot from. If it was RL0/DL0 that you booted from - hence why LB0: is the same as DL0:.

I have re-read post #8 again. Can you post your full SIMH configuration file please.

Who did the RSX11M SYSGEN you are using? Or is this a disk image you downloaded from somewhere? If so, can you point us at the site you downloaded it from?

Just trying to identify what you are actually running...

Dave
 
Ah.

I have followed and read the links from post #1 and I see now where DB0: comes from - it is the device you have installed the RSX system onto initially.

I haven't yet found how DB0: and DL0: are mapped to the same thing though.

Just had a look at the SYSGEN (part 2) and I can't see a smoking gun there either.

Let's have a look at your full SIMH .INI file to start with.

Dave
 
Last edited:
If you haven't used EDT to edit a file yet, you will discover it's a little bit specials needs. In order to save a file and get access to most commands, you need to make sure you have two escape sequences added to your terminal window. For example, to save a file (using my key mappings below), you have to type F1, F5 to get a command window. Then you type EXIT and then F12 to exit and save the program. QUIT and F12 exits without saving.

I chose F5 and F12 for convenience (In VT100 mode, F1 is already mapped correctly):

1. Set your terminal to VT100
2. Add the following two key re-mappings in the Keyboard tab:
a. F5 -> \033Ow ;That translates to Esc+Ow
b. F12 -> \033OM

Eric N.
 
Hi,

This is my simh config

Code:
;---------------------------------------------------------------
; Disable devices, we'll enable what we need later 
;---------------------------------------------------------------
set CR disable
set DZ disable
set HK disable
set RK disable
set RL disable
set RP disable
set RQ disable
set RQB disable
set RQC disable
set RQD disable
set RX disable
set RY disable
;set TA disable
set TC disable
set TM disable
set TS disable
set TQ disable
set TU disable
set VH disable
set XQ disable
set XQB disable
set XU disable
set XUB disable


echo PDP-11/45 with 128 kwords of memory
echo 
set cpu 11/45
set cpu 256k
set cpu idle

SET RL enable
set RL0 RL01
ATTACH RL0 rlutil.dsk

set RL1 RL02
ATTACH RL1 RSXData.dsk


SET RP ENABLE
SET RP0 RP06
ATTACH RP0 RP06.000
SET RP1 RP06
;ATTACH RP1 RP06.001

SET TS ENABLE
SET TS0	FORMAT=TPC
SET TS0 LOCKED

SET DZ ENABLE
SET DZ LINES=8
ATTACH -am DZ 11023

SET LPT ENABLE
ATTACH LPT PRINTER.TXT

SET CLK 50Hz

I think i made some mistakes with ASN commands around DB0 and DL0 . Maybe is it the reason. Anyway , after a reboot , all seems to be ok now.
I know now how to mount disk, examine it and use ASN command. I discovered also de DEV command, helpfull to find that db0 = RP06 in my case.
To go on with exploration , I will try to examine the content of mag tape .
Eric, no I didn't use EDT yet, but I will this week probably. Thanks for your advices.
 
Why/what are you doing with ASN? You don't need to play with that unless you want to refer to devices by a different name than the "natual" name.

Also, with regards to EDT, one can also just get out of screen mode with ^Z, and then give commands like EXIT or QUIT at the prompt.
And if you want to go back into screen mode, just give the command CHANGE. There is also extensive help, as well as a full manual for EDT.
 
Also, with regards to EDT, one can also just get out of screen mode with ^Z, and then give commands like EXIT or QUIT at the prompt.

Thanks for that tip! I first learned to use the KEX/EDT editor on RT-11 and Ctrl-Z wasn't available on that PDP OS.
 
Thanks for that tip! I first learned to use the KEX/EDT editor on RT-11 and Ctrl-Z wasn't available on that PDP OS.

Another thing is that EDT is really flexible and configurable. I have an EDTINI.EDT file that gives me keybindings fairly close to what EMACS uses. But of course, it's then a big file and everyone have different tastes. But it's something that people can play around with to get EDT work the way they want. No absolute need to just have the default VT100 keybindings. Especially if you are something that does not have the equivalents of the VT100 special keys...
 
Back
Top