[Info-vax] Hard links on VMS ODS5 disks

Arne Vajhøj arne at vajhoej.dk
Sat Jul 22 10:26:22 EDT 2023


On 7/20/2023 8:49 AM, Simon Clubley wrote:
> I get the impression that you have had to spend a lot of effort to
> duplicate low-level behaviour in a way that simply isn't a concern
> with other operating systems due to the need, especially, to support
> Macro-32 and ensure that code written at this low-level, and which
> uses the various idioms as a result, continues to work.

I believe Macro-32 is a relative simple compiler. And when they got
that then they can compile the existing Macro-32 code.

Not a reason for delay.

> No, the real benefits of C include the ability to use abstractions in
> your code which make the code a lot quicker to write, where you can
> focus much more on what you want, instead of having to lay out in
> minute detail how to do it, and as a result your code also becomes
> much more reusable and portable.
> 
> You can design complex data structures much more easily and get much
> more help from the compiler in finding errors in your code.

????

I believe that VSI is mostly reusing existing Macro-32 code
and writing new code in C.

So not relevant.

> For one really simple example, in C, you ask for a pointer and let the
> compiler implement the pointer behind the scenes. Ie: you write:
> 
> 	char *ptr;
> 
> instead of:
> 
> 	uint32_t ptr;
> 
> In C, your normal application code works the same, regardless of whether
> that pointer is 32-bits or 64-bits. If the lowest-level language in VMS
> was C, this is what the RMS interface would conceptually look like:
> 
> 	struct {whatever}_rms_rab_t *rab;
> 
> instead of the current setup. Likewise for itemlists and other structures.
> 
> Things which are currently highly visible to the source code become
> abstracted implementation details that normal source code simply doesn't
> care about or have to deal with.

You have posted that numerous times.

It means that changing from 32 bit pointers to 64 bit pointers is
way easier in C than in Macro-32.

But based on what we know about the port, then VSI has not changed
the VMS kernel from 32 bit pointers to 64 bit pointers (aka moving
everything from S0 and S1 to S2).

So it is not relevant for the topic.

Arne






More information about the Info-vax mailing list