[Info-vax] Assembly languages
gah4
gah4 at u.washington.edu
Mon Apr 11 13:33:55 EDT 2022
On Monday, April 11, 2022 at 5:51:25 AM UTC-7, Johnny Billquist wrote:
> On 2022-04-11 13:05, Bill Gunshannon wrote:
(snip)
> > Actually, every file on every computer is just a string of bytes.
> > (or you could even say bits) Any additional formatting is just
> > overlayed on top.
> That is obviously incorrect. Every disk used today is divided into
> blocks. So that is what a file on a disk is, in the end. And that is not
> the same as a string of bytes. The string of bytes abstraction is
> implemented on top of this.
> I'm surprised you don't know this.
Disk files on Unix-like systems and DOS/Windows are just a string of bytes.
Any block structure is hidden by the OS disk cache.
On the other hand, tapes on Unix, and I believe DOS/Windows do have a block
structure. In some cases, it is necessary to preserve that in order to
properly read them. There are virtual tape formats that convert a tape of
blocks into a stream with block marks included, and others to reverse it.
Note also in IP networking, UDP has a packet (datagram) structure, but
TCP does not. Usual UDP based protocols depend on that, and when
converted to TCP (as seems to happen often enough) have record
marks added to the stream. There is even an RFC on that.
I don't know the VMS forms quite as well as I used to, but I remember
some that are record oriented, not (necessarily) block oriented.
The IBM OS/360 hardware writes blocks to disk similar to
the way it writes them to tape. Users can choose the actual block
size that the hardware writes onto the disk, when creating a disk
file. As well as I know, VMS keeps a 512 byte block, or some multiple
of that hidden by the system, when it writes to disk.
Newer IBM hardware virtualizes the blocks, but they are still
visible to users and the OS. Note, for example, that direct access
data sets in OS/360 are written unblocked, one physical disk block
for every user record, from one byte to the track size. Users select
the size when first opening the file, and the system formats the whole
file with block of that size. There are inter-block gaps, which make
small sizes inefficient. I am pretty sure that VMS doesn't do that.
More information about the Info-vax
mailing list