Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!sdd.hp.com!decwrl!ucbvax!bloom-beacon!primerd!ENI!!EAF From: EAF@.Prime.COM Newsgroups: comp.lang.misc Subject: Re: Query Message-ID: <126800008@.Prime.COM> Date: 16 Aug 90 08:29:00 GMT References: <5754@uwm.edu> Lines: 17 Nf-ID: #R:uwm.edu:-575400::126800008:000:916 Nf-From: .Prime.COM!EAF Aug 16 08:29:00 1990 I should have been more careful in separating different OS aspects. Typically a good I/O system will do some buffering for you. Most competent operating systems maintain a cache of disk blocks in memory for you. In addition if you employ language oriented I/O, a buffer will be maintained for you in the I/O library's storage pool. When you read a sentence into your buffer, it can come from the Language Library buffer. If your language I/O library is intelligent and you are reading sequential data, the language library will call on the OS to read the next disk block into memory, often before it is required. When the new block is needed it will be brought from the cache into the language library buffer and then into your sentence space. While this is not double buffering in the sense that a single entity is aware of it and planning for it, it is double buffering and it does improve I/O concurrency.