ctcgag_at_hotmail.com wrote:
> Frank van Bortel <fvanbortel_at_netscape.net> wrote:
>
>>Yeah - you've been pounding on that enough by now.
>>Start reading the thread.
>>
>>Why should it not, when it *has to wait*?
>>I'll repeat that: when it (the process) has to wait
>>(for the writing to complete).
>
>
> Because it doesn't have to wait for the writing to complete.
>
> As I understand it:
>
> synchronous write:
> Write this chunk of my memory to disk, wake me up when you are done.
>
> asynchronous write:
> Write this chunk of my memory to disk, let me know when you are done, I'll
> be doing other things. (I promise not to touch that part of memory in the
> mean time).
>
> "nonsynchronous" write:
> copy this chunk of my memory to somewhere else, wake me up when you are
> done with that, then write your copy to disk at your leisure.
>
>
> The obvious question is how is nonsynchronous write a benefit? Afterall,
> it doesn't free any "real" memory until after the write to disk happens,
> and the only reason to use temp space in the first place is to free real
> memory. The answer to that is (I think) the user processes have a very
> tenuous grasp on the status of system memory, and therefore have to be much
> more conservative about it to avoid over-burdening the system. The kernel,
> is much more knowledgable and thus can play faster and looser. So by using
> "nonsynchronous" writes to move the responsibility from the user process to
> the kernel, you maximize overall throughput.
>
> Xho
>
I think you go wrong where I went wrong, too; as I understand it
now, it's synchronous I/O vs asynchronous (I/O), and
synchronous writes vs delayed writes.
No asynchronous write.
Synchronous writes may be part of asynchronous I/O
(see VC's orthogonal discussion)
--
Regards,
Frank van Bortel
Received on Mon May 17 2004 - 14:47:24 CDT