system calls

Arne "W?rner" <[email protected]> Thu, 11 Nov 2004 10:14:46 -0800 (PST)
Newsgroups gmane.os.freebsd.devel.realtime
Message-ID <[email protected]>
Hiho!

I just read in the BUGS section of the man page of rtprio(1), that system calls
are never preemted.

Does that mean, that a "read(fd,buffer,10000000)" blocks all other processes,
until 10^7 bytes are read even if fd points to a file on a very slow and huge
floppy disc?

Does that mean, that no process can run, after the kernel ordered a hard disc
to move its heads until the data is transfer from disc to memory (sometimes it
feels like :) )?

Unfortunately I am quite sure, that I would not find out the truth by
experimentation or by looking at source code. Sorry...

If at least one answer is "yes", then I think, that it would be much better for
the performance, if processes could run, while the kernel manages lengthy
io-ops (I still remember, that there was a picture about 4 process states:
running, waiting, dead, blocked; and while the blocked processes are blocking,
the waiting processes are competiting for the CPU/-s).

Thanks.

Bye
Arne



		
__________________________________ 
Do you Yahoo!? 
Check out the new Yahoo! Front Page. 
www.yahoo.com 
 

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-realtime
To unsubscribe, send any mail to "[email protected]"