Re: Kernel newbie questions
From: Nick Landsberg (hukolau_at_NOSPAM.att.net)
Date: 03/06/04
- Next message: Nick Landsberg: "Re: vi .swp recovery file corrupted: "unable to read block 1...", original file zero length"
- Previous message: Baard Ove Kopperud: "Getting *everything* in a tar-file"
- In reply to: Jeroen Geilman: "Re: Kernel newbie questions"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Sat, 06 Mar 2004 01:28:31 GMT
Jeroen Geilman wrote:
[SNIP]
>
>> Some early implementations of TCP/IP ran as user processes.
>> They ran so slowly that they were moved into the kernel because
>> of that.
>
>
> Ah - this would be the reason the entire TCP/IP stack is in the kernel,
> then ?
> And also probably why the Windows TCP/IP "stacks" (I use the word
> loosely) suck so badly...
>
>
In a word, yes!
In many words ...
You do not want to have time-critical functions, such
as millisecond timeout values, relegated to user space
because the timing is NOT guaranteed due to the
vaguaries of the user-proc scheduler. (It IS deterministic,
so they say, but the normal human brain cannot comprehend
the determinism.)
In a Unix/Linux world, it appears to be non-deterministic, and
there are packets that may go unprocessed because a user level
TCP "stack" (and it ain't, and I'm glad you used the term
loosely), may not get scheduled in time to service the request.
Once you move it into the kernel, you can schedule the servicing
to be at the next clock tick.
In a Windows world, I have no definite idea of what happens, just
observations. For example, when you are using "Outlook" on a dial
up to access your email, you are effectively locked out from
doing anyting else on your machine while outlook is running,
even over a 56KB connection. One may presume that outlook
is setting it's priority such that other processes, other than
the window manager are effectivly locked out. My belief
is that NT (and 2000) have a fixed priority scheduler, and my
observations are consistent with a process being able
to increase its own priority at the expense of other processes.
Yes ... it sucks.
Nick
-- Ñ "It is impossible to make anything foolproof because fools are so ingenious" - A. Bloch
- Next message: Nick Landsberg: "Re: vi .swp recovery file corrupted: "unable to read block 1...", original file zero length"
- Previous message: Baard Ove Kopperud: "Getting *everything* in a tar-file"
- In reply to: Jeroen Geilman: "Re: Kernel newbie questions"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|