[Info-vax] New CEO of VMS Software
Arne Vajhøj
arne at vajhoej.dk
Sat Jan 6 20:16:20 EST 2024
On 1/6/2024 8:04 PM, Dan Cross wrote:
> In article <uncrcr$q371$2 at dont-email.me>,
> Arne Vajhøj <arne at vajhoej.dk> wrote:
>> On 1/6/2024 4:22 PM, Single Stage to Orbit wrote:
>>> On Sat, 2024-01-06 at 02:33 +0000, Lawrence D'Oliveiro wrote:
>>>> On Fri, 5 Jan 2024 09:23:36 -0500, Arne Vajhøj wrote:
>>>>> Another example:
>>>>>
>>>>> SYS$SETPRV with PRV$M_SYSNAM followed by SYS$CRELNM with
>>>>> LNM$_TABLE as
>>>>> "LNM$SYSTEM_TABLE".
>>>>>
>>>>> The API is not that complex. The semantics on VMS is well
>>>>> documented.
>>>>>
>>>>> But the code does not really make any sense on Linux. So what to
>>>>> do?
>>>>
>>>> We can emulate logical names on Linux beyond the per-process ones
>>>> with a server process and communication via some IPC mechanism. D-Bus
>>>> or Varlink might be good enough for this.
>>>
>>> if setenv() and getenv() were thread-safe it'd be easier to use these.
>>
>> I see environment variables being closer to VMS symbols than to
>> VMS logicals.
>>
>> But just closer not identical.
>
> Eh. Emulation of logical names would likely be done by
> maintaining and consulting symbol tables in the DCL "shell" (or
> whatever emulated DCL in this frankenstein "VMS on Linux"
> monstronsity) for user mode logicals and a symbol table
> maintained in a region of shared memory owned by some DSO-like
> shared object for the others.
>
> The idea of using some service that one communicates with via
> dbus to emulate logical names is absurd.
Direct access to shared memory would be more efficient
than an IPC to a process. But it also increases the risk
of data corruption. That is not a problem in VMS because
the data structures can not be trashed from user mode code,
but in the frankenstein "VMS on Linux" I don't know.
Note that mode and table are (mostly) independent.
Logicals can be user, supervisor, exec or kernel mode.
Logicals reside in process, job, group, system, cluster,
decwindows or a custom logical table.
Arne
More information about the Info-vax
mailing list