Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Nov 2001 15:40:06 +0100
From:      "Anthony Atkielski" <anthony@freebie.atkielski.com>
To:        "Mike Meyer" <mwm@mired.org>
Cc:        "Mike Meyer" <mwm@mired.org>, <questions@freebsd.org>
Subject:   Re: As usual, I disagree.
Message-ID:  <03fa01c179ac$e85cdba0$0a00000a@atkielski.com>
References:  <15366.58396.746782.116282@guru.mired.org><036901c17949$335163b0$0a00000a@atkielski.com> <15367.35596.70893.123850@guru.mired.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Mike writes:

> It's even more efficient to only notify
> them of events that they care about, which
> is what X does.

I agree; however, Windows has no provision for such filtering.  All messages are
passed to the Window.  If the program does not wish to take special action for a
message, it can pass it to a default routine, but it must still service the
queue, so it must receive a dispatch.

Keep in mind that the early versions of Windows had no preemptive multitasking;
an application held control of the processor until it decided to voluntarily
relinquish it with a call to the OS.  There wasn't much reason for filtering,
since there was no significant parallelism of execution, anyway.  Windows 9x
started to do a bit of preemption, but it still stalls when applications are
hogging the system.  Windows NT is immune to this, but instead it tends to
thrash when there are many applications in the system, because of (IMO) the need
to fill and service message queues for all open applications with windows.

> So far, you haven't demonstrated that the
> Windows way is any more flexible or functional
> than the X way.

The 100,000 applications provide the flexibility and functionality.

> I don't know that I would call it a covert
> channel.

You can learn or transmit information about other processes about which you
should know nothing by determining or influencing their states.  This provides a
low-bandwidth covert channel, and is thus a (small) security risk.

> As far as I can tell from your description,
> the only difference between Windows and X is
> that in Windows passes every event to every
> client to let the client choose, resulting in
> a boatload of context switches ...

Yes.

> ... whereas in X the clients have specified
> which events they want, and X does the determination
> internally, so you don't get context switches
> for clients that don't care about an event, which is
> a major savings as most clients don't care
> about events in other windows.

Yes.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?03fa01c179ac$e85cdba0$0a00000a>