[Info-vax] Assembly languages

Johnny Billquist bqt at softjar.se
Tue Apr 12 02:41:52 EDT 2022


On 2022-04-11 19:33, gah4 wrote:
> 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.

Well, it's not hidden by the OS disk cache in Unix. It's hidden by the 
device driver framework. That's where the block and character devices is 
about.

> 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.

Actually, in Unix, tapes are the same story as disks. However, no sane 
person ever cared to use the character device for tapes, since (as you 
observe), with tapes there are additional reasons why you want to know, 
and preserve block information. The character device hides this from you.

For networking, it's all carried by IP datagrams in the end, which are 
blocks. TCP then implements a stream of bytes abstraction on top of that.

   Johnny



More information about the Info-vax mailing list