Operating System - OpenVMS
1753720 Members
4936 Online
108799 Solutions
New Discussion юеВ

Re: How to define the system disk logical to another one

 
SOLVED
Go to solution
Dima Bessonov
Frequent Advisor

Re: How to define the system disk logical to another one

Charles,

First of all: what are you going to do with that new logical? And why are you not satisfied with SYS$SYSDEVICE? Looks like you're trying to ask a rather specific question instead of asking a basic one. Are you an end user, an application programmer or a system manager? Depending on the particular situation, your question may have a LOT of answers.

Dima

PS And if you're a novice sysmgr, please be reasonably cautious and don't follow all advices in a moment.
Willem Grooters
Honored Contributor

Re: How to define the system disk logical to another one

Dmitry,

I don't know why but a reason could be using JAVA (or other Unix-based code) that is allergic for "$" in a filename.
I run into the same problem.
Even as an end-user I may want this. No problem to put it in the proces- or jobtable.

Willem
Willem Grooters
OpenVMS Developer & System Manager
Jan van den Ende
Honored Contributor

Re: How to define the system disk logical to another one

Willem,

you got a BIG issue there!

Not pretending to have found the Holy Grail in one try, but....

Maybe, just maybe, we could work towards a more stuctural solution from here.

Proposal (Version 1.0; feasability study!)

( I think it requires to be adopted OR shot down by the Unix Portability people)

- Upon installing ANY ported software an inventarisation of ALL SYS$xxx logicals in aALL tables in LNM$SYSTEM_DIRECTORY is made.
- for all those logical names every "$" is replaced by "_"
- the value so achieved is tested; if it is NOT yet a logical name in its original table,
then it is checked for any "$" in the equivalence name, replacing those with "_" as well.
- this new name & translation get defined IN THE SAME TABLE.

-Upon starting ported software (or at login maybe.. needs evaluation) the same procedure for Process & Job lagical name tables.


Currently I see the following potential problems:
- devices with nodename$ or $alloclass$ prefix
- logical names with different translations in different tables (eg, Group & System table), where the rules above specify 1 to get its "$"-free analog, and the other does not. That MIGHT lead to different meanings being used, depending upon "$"-using or "_"-using translation.

At the job/process level: how about redefines after login?


Is there someone out there with enough knowledge, and, if positive, influence, to give this some deeper consideration?


-- just some friday afternoon philosofy --


Jan
Don't rust yours pelled jacker to fine doll missed aches.
Willem Grooters
Honored Contributor

Re: How to define the system disk logical to another one

Jan,

IMHO the BEST structural solution is to 'virtualize' OS-specific functionality so it will NOT be incorporated inside the code. That there will be incomptabilities is inavoidable, but this way you can limit them - or even bypass and take apporiate action. I'm in the process of thinking about a specification, it has been discussed in this forum in an earlier thread as well (foirgive me I didn't look it up but anyone is able to do that by themselves).

The biggest challenge will be to have the OS community adapt this. As we discussed yesterday, this will take a LOOOOOONG time - for several reasons.

(for the "outside" world: We are both a member of the Dutch Interex VMS-Sig and we had a meeting yesterday on Unix portability where these issues have been discussed as well)

What dows this have to do with the topic: Just THAT. As long as there is no 'common interest' we WILL have to take measures to overcome these difficulties. VMS is flexible enough to faciliate that without compromising the system itself (how lucky you can be!). But indeed, it should be solved in a more generic way.

Willem
Willem Grooters
OpenVMS Developer & System Manager
Antoniov.
Honored Contributor

Re: How to define the system disk logical to another one

Hi Willem,

I don't know why but a reason could be using JAVA (or other Unix-based code) that is allergic for "$" in a filename.

unix people are allergic to "$" in filename simply because $ means macro substitution in various unix shell; same as '' in DCL.

Antonio Vigliotti
Antonio Maria Vigliotti
Willem Grooters
Honored Contributor

Re: How to define the system disk logical to another one

I know, Antonio.
But Unix is "allergic" to single quote as well.

Willem
Willem Grooters
OpenVMS Developer & System Manager
Lawrence Czlapinski
Trusted Contributor

Re: How to define the system disk logical to another one

Charels, I would be reluctant to use DRA0 even if it is not currently a valid device on your system. If the software ever gets moved to a system with a Raid Controler, DRA0 would become a valid device which could create confusion.
Lawrence
Aleksander Sinigoj
Occasional Advisor

Re: How to define the system disk logical to another one

Yes, you can do this by

$ define/system/exec dra0 sys$sysdevice

or to define a logical to the device physical name of sys$sysdevice

$ define/system/exec dra0 'f$trnlnm("sys$sysdevice")'

Jan van den Ende
Honored Contributor

Re: How to define the system disk logical to another one

Aleksander,

That's playing with fire!
Firstly, any protected code wil NOT function, because it will not take into account any logical names in unsufficiently priviliged mod, ie, USERmode and SUPERVISOR mode logicala are NOT used.
Secondly, any concealed devices derived from SYS$SYSDEVICE (or its hardware name) will not function properly, if they function at all.

It will function for most software though, which makes the non-functioning stuff all the more surprising. And "surprises" are what we usually do NOT want...


Jan
Don't rust yours pelled jacker to fine doll missed aches.