[Info-vax] VMS Software Q1 '23 Update
Arne Vajhøj
arne at vajhoej.dk
Fri Feb 3 18:47:21 EST 2023
On 2/3/2023 6:19 PM, Dave Froble wrote:
> On 2/3/2023 1:57 PM, Arne Vajhøj wrote:
>> My understanding of the problem based on the PPT linked to
>> in previous discussions then the core of the problem
>> is that the API between process code and kernel code
>> need to be byte centric not block centric.
>>
>> Both SYS$QIO(W) and SYS$IO_PERFORM(W) specify
>> block number not byte number.
>>
>> Which can cause concurrency problems for IO's with
>> no overlapping byte range but overlapping blocks.
>
> The simple solution to that is to determine the starting block and
> ending block, then lock the entire range of blocks.
>
> I'm betting that that happens on any OS, since disk devices are block
> oriented.
I don't think it matters that disks are accessed by block.
The problem is a user mode buffer per process vs a
single kernel mode buffer. As long as a single
kernel mode buffer get updated then it does not
matter how it gets written back to disk.
(as I read the before mentioned PPT)
Arne
More information about the Info-vax
mailing list