Deutsch   English   Français   Italiano  
<v5gagi$20gjg$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Lawrence D'Oliveiro <ldo@nz.invalid>
Newsgroups: comp.arch
Subject: Re: ancient OS history, ARM is sort of channeling the IBM 360
Date: Wed, 26 Jun 2024 05:55:30 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 21
Message-ID: <v5gagi$20gjg$1@dont-email.me>
References: <s7r87j1c3u6mim0db3ccbdvknvtjr4anu3@4ax.com>
	<v5an0l$10bj$1@gal.iecc.com> <87le2vatq4.fsf@localhost>
	<v5asis$p33t$1@dont-email.me> <v5dfkf$1h3e$3@gal.iecc.com>
	<v5dl6f$1dttg$1@dont-email.me> <v5eln4$1jpnm$1@dont-email.me>
	<3XAeO.24906$Gurd.8658@fx34.iad> <v5enqj$1k5g7$1@dont-email.me>
	<bzBeO.41507$ErM.8377@fx45.iad> <v5g8u8$1l3le$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 26 Jun 2024 07:55:31 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="d3e70b79bcb23d33c66caba9f2139d60";
	logging-data="2114160"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX183JNmUUPL3CyuC9eLU2BO8"
User-Agent: Pan/0.158 (Avdiivka; )
Cancel-Lock: sha1:BgHS4XpAV12UI04oGGGRu2j+YUo=
Bytes: 2337

On Tue, 25 Jun 2024 22:28:40 -0700, Stephen Fuld wrote:

> But if you are using the "standard" Unix file system, doesn't it read
> the block(S) into its cache, then when the user program does the read,
> transfer the data from its cache into the user's variables?  That is the
> extra overhead to which I was referring.

That tends to happen anyway, even on OSes which insist on record-oriented 
I/O. For example, on DEC’s VMS, the record blocking layer is called “RMS” 
(“Record Management Services”), and that usually copies records between 
the user’s buffers and its own internal buffers (“move mode”). It is 
possible to request “locate mode”, where it returns the address of a 
record directly within its internal buffers. But there are many 
restrictions on this, among other things:

* It only works for reads, not for writes
* It doesn’t work for records crossing block boundaries
* It doesn’t work for compressed records

So this record-copying overhead is not, in itself, a point against Unix-
style streaming I/O.