Back then, other OSes (like VMS) did not try to hide from applications the fact that file space allocations were done in units of sectors (or some multiple thereof). Whereas Unix pioneered the idea that, if an application wrote 975 bytes to a file, then it will only read back 975 bytes, not 1024 bytes (or some even larger amount).
On 1/14/2024 7:10 PM, Lawrence D'Oliveiro wrote:
Back then, other OSes (like VMS) did not try to hide from applications
the
fact that file space allocations were done in units of sectors (or some
multiple thereof). Whereas Unix pioneered the idea that, if an
application
wrote 975 bytes to a file, then it will only read back 975 bytes, not
1024
bytes (or some even larger amount).
If the VMS application use language RTL IO or RMS then then it
also write N bytes and read N bytes.
(there is a small difference in that the number of bytes on
disk may be different from N depending on API and the
record format of the file!)
It is only if using SYS$QIO(W) or SYS$IO_PERFORM(W) to do IO
that the view of the file becomes X allocated blocks where the code
needs to deal with FAT$L_EFBLK and FAT$W_FFBYTE. And explicit
extend file when needed.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 475 |
Nodes: | 16 (2 / 14) |
Uptime: | 97:00:01 |
Calls: | 9,503 |
Calls today: | 2 |
Files: | 13,627 |
Messages: | 6,127,575 |