[Info-vax] New filesystem mentioned
John Reagan
xyzzy1959 at gmail.com
Thu May 16 14:28:28 EDT 2019
On Thursday, May 16, 2019 at 2:10:36 PM UTC-4, Dave Froble wrote:
> On 5/16/2019 1:53 PM, John Reagan wrote:
> > On Thursday, May 16, 2019 at 1:43:48 PM UTC-4, Simon Clubley wrote:
> >> On 2019-05-16, Dave Froble <davef at tsoft-inc.com> wrote:
> >>> On 5/16/2019 10:04 AM, Bob Koehler wrote:
> >>>>
> >>>> No, DLM is a separate part of the kernel, which is used by and
> >>>> required by the XQP and such.
> >>>
> >>> Damn, that brings up another question. Is the DLM part of the kernel?
> >>> I don't know the details of the implementation, but, I'd at least hope
> >>> it is not. That would allow it to be used in any modular type of OS.
> >>
> >> It is a part of the kernel, but only in so far as there is no other place
> >> to put it in the current VMS design. I can't see anything about the VMS
> >> DLM which requires direct access to hardware for example.
> >>
> >> It provides services to the rest of the kernel (and to non-kernel
> >> applications). However, I see no reason why the DLM could not just be
> >> another task in a microkernel design (for example).
> >>
> >>> And before anyone mentions parts of the kernel might use the DLM, I'd
> >>> guess that might happen. Doesn't mean anything used by the kernel is
> >>> part of the kernel.
> >>>
> >>
> >> In a VMS style monolithic design, it's all part of the kernel.
> >>
> >> This is because, on VMS, the DLM directly provides services to the rest
> >> of the kernel which means the kernel code needs direct and efficient
> >> access to the DLM.
> >>
> >> Think of it less about being part of the kernel and more about whether
> >> the DLM has a clean interface to the rest of the kernel (which would
> >> make it easier to use elsewhere).
> >>
> >> Going back to Linux, that's one of the advantages of the Linux module
> >> based architecture. It's all part of the kernel, but there are generally
> >> reasonably clean interfaces between the various parts of the kernel as
> >> a result.
> >>
> >> Simon.
> >>
> >> --
> >> Simon Clubley, clubley at remove_me.eisner.decus.org-Earth.UFP
> >> Microsoft: Bringing you 1980s technology to a 21st century world
> >
> >
> >
> > SYSENQDEQ (and a few other modules) are in the LOCKING.EXE execlet. One of many execlets loaded as part of the OS boot.
> >
>
> Oh, no, this could degenerate into a discussion about "what is the VMS
> kernel" and that could be a nasty knife fight.
>
> I should shut up now, but let me ask, does getting loaded as part of the
> OS boot indicate that all such modules are part of the kernel?
>
> --
> David Froble Tel: 724-529-0450
> Dave Froble Enterprises, Inc. E-Mail: davef at tsoft-inc.com
> DFE Ultralights, Inc.
> 170 Grimplin Road
> Vanderbilt, PA 15486
The code in LOCKING.EXE gets loaded into memory that is kernel-read/kernel-execute so once loaded, it looks like code from other execlets. As each execlet is loaded, the entry points supplied by it are filled into the system-routine's transfer vector. Each execlet has an init routine that is called by the execlet loader. So is the execlet scheme just a packaging concept? Or a limited form of code isolation concept? I'll let others decide. I'll go back to working on the compilers...
BTW, the latest bug was with BLISS-32 which has to make a in-memory argvector if the code uses the ARGPTR(), ACTUALARGUMENT(), or NULLARGUMENT() builtin. On each of the platforms, we have to home the argument list from the "some in registers; some on the stack" to a "all-in-memory copy so it can be indexed dynamically". The code we generated for "move the first 6 from registers to memory then copy 7 and above from their quadword stack slots to longword stack slots. The code was off-by-one for reading the stack arguments. Ooopsie.
More information about the Info-vax
mailing list