[Info-vax] Creating an open source version of VMS, was: Re: OpenVMS Hobbyist Notification
Michael Moroney
moroney at world.std.spaamtrap.com
Tue Mar 10 23:09:22 EDT 2020
Dave Froble <davef at tsoft-inc.com> writes:
>On 3/10/2020 6:43 PM, Michael Moroney wrote:
>> Dave Froble <davef at tsoft-inc.com> writes:
>>
>>> I haven't studied it from this particular perspective, and without doing
>>> so would only be guessing. But I have to ask, why do you state this.
>>> As far as I know the VMS DLM has not much to do with the "kernel" of
>>> VMS, supposing there is a definition of that entity.
>>
>>> Remember, the VMS DLM does no enforcing. It is strictly a utility that
>>> can maintain a database of locks and cooperating processes can be guided
>>> by the utility.
>>
>> The DLM is all kernel mode code and is intertwined with the cluster logic to
>> ensure it is consistent across the cluster. Plus parts of the kernel itself
>> use it, as does the file system.
>>
>Interesting. Want to ask. Is that implementation specific? Just seems
>to me that what it does could be done outside the kernel.
It probably could be, if it was on a single node only dealing with user mode
stuff.
> Of course,
>that gets into defining just what is the kernel, right?
I never had a strict definition, but for VMS I would say any part of the
OS which needs to run in kernel mode.
>Does it need to be in the kernel because it's called from things in the
>kernel?
Yes, and for clusters I think it needs to do things during a "quorum hang" when
user mode stuff can't run.
>Or, is it in the kernel to allow system level locks without requiring
>SYSLCK priv?
Kernel mode stuff may need lock synchronization, too.
VMS itself is a big user of the DLM. Doorbells, dead man switches, the
job controller/queue manager etc. Any synchronization across cluster nodes.
A BIG user of locks at kernel mode is the shadowing driver. This is a driver
so not only is it in kernel mode but runs at elevated IPL. (It can't use the
standard $ENQ interface, there are special hooks for elevated IPL DLM access)
All the "events" in a shadowset are tracked by locks. Members added/removed,
copies/merges/minimerge needed, underway or completed etc. etc.
>By "file system" are you referring to RMS, or lower level stuff?
Yes.
All disk mounts, file opens, etc. are tracked via locks. This is how read-only
or read-write access, exclusive or shared, are tracked. For shared files,
individual records in a file are locked. RMS, XQP etc have locks and run at
exec mode.
More information about the Info-vax
mailing list