Re: How do disk writes work these days?
Re: How do disk writes work these days?
- Subject: Re: How do disk writes work these days?
- From: "Justin C. Walker" <email@hidden>
- Date: Fri, 26 Jul 2002 14:48:44 -0700
On Wednesday, July 24, 2002, at 11:47 AM, Timothy A. Seufert wrote:
"Justin C. Walker" <email@hidden> wrote:
On Tuesday, July 23, 2002, at 07:18 AM, Wade Tregaskis wrote:
[for background, I don't have any experience coding at the kernel
level; I lurk on this list hoping to learn :)]
This is probably a numbingly boring question, but what happens when
the
kernel gets handed data to write to disk, from say a userland app? I
ask because I've begun covering this from a users point of view in my
uni course, and they seem to indicate that the method, now as it was
30
years ago, is to block any disk write's and yield time to other
processes.
I don't recall any unix system in the past 30 years that did that.
Disk
writes are scheduled by the I/O subsystem, and the driver handles
talking with the device to get the data there. All of this is
generally asynchronous with respect to process activity.
I think Wade meant "block [the calling process on] any disk writes and
yield time to other processes". Which is in fact what happens, both
now and 30 years ago.
Just got back into town...
I don't believe this is the case; writes have pretty much always been
asynchronous, so that unless there is some serious blockage (e.g., out
of buffers), the process can merrily go on its way after making the call
(return happens after the data has been read; there are "edge cases",
involving lots of data, where this doesn't happen, of course).
Regards,
Justin
--
Justin C. Walker, Curmudgeon-At-Large *
Institute for General Semantics | It's not whether you win or
lose...
| It's whether *I* win or lose.
*--------------------------------------*-------------------------------*
_______________________________________________
darwin-kernel mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/darwin-kernel
Do not post admin requests to the list. They will be ignored.