Deutsch English Français Italiano |
<v5hfdv$278m2$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!feeds.phibee-telecom.net!3.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "Stephen Fuld" <SFuld@alumni.cmu.edu.invalid> Newsgroups: comp.arch Subject: Re: ancient OS history, ARM is sort of channeling the IBM 360 Date: Wed, 26 Jun 2024 16:25:35 -0000 (UTC) Organization: A noiseless patient Spider Lines: 40 Message-ID: <v5hfdv$278m2$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> <v5gagi$20gjg$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 18:25:35 +0200 (CEST) Injection-Info: dont-email.me; posting-host="66649ab155d410eb2cdd08deb22663c0"; logging-data="2335426"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1947429bQyqHwA9KL9QWlpA3ITggEfMFMk=" User-Agent: XanaNews/1.21-f3fb89f (x86; Portable ISpell) Cancel-Lock: sha1:Gp8Vbik/TzksQa6ItaOukKfFmxw= Bytes: 3030 Lawrence D'Oliveiro wrote: > 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. The fact that other OSs "made the same mistake" :-) isn't a point for treating all I/O as a stream of bytes. I don't know VAX, but I don't understand why not for writes. The no crossing block boundries is a side effect of fixed block disks. This couldn't happen in OS/360 with CKD disks. I agree about compression, of course, as unless you do the compression in the I/O hardware stream, you need to "move" the data anyway. -- - Stephen Fuld (e-mail address disguised to prevent spam)