From: Jamie Lokier <jamie@shareable.org>
To: asdfd esadd <retu834@yahoo.com>
Cc: Kenn Humborg <kenn@linux.ie>,
Valdis.Kletnieks@vt.edu, linux-kernel@vger.kernel.org
Subject: Re: 2.7 thoughts: common well-architected object model
Date: Sun, 12 Oct 2003 12:59:00 +0100 [thread overview]
Message-ID: <20031012115900.GC13427@mail.shareable.org> (raw)
In-Reply-To: <20031011183405.38980.qmail@web13007.mail.yahoo.com>
asdfd esadd wrote:
> There is a connex, fork() might be a bad example,
>
> it's simple - yes but 20 years have passed as Solaris
> is finding:
>
> pid_t fork(void); vs.
>
> the next step in the evolution CreateProcess
>
> [extraordinarily long-winded way of saying the same thing as
> if ((pid = fork()) == 0) { set_things(); go(); } ]
Dear asdfd,
How can you possibly think the CreateProcess monstrosity superior to
fork in any way? You seem to have picked the canonical example of
just what is awful about the Win32 AI and why it's so much work to use.
I cannot think of a single example where CreateProcess is simpler to
use - and it's worse than that: it comes with a bunch of assumptions
and limitations, exactly the kind of thing that presumably you expect
"a component model" to _not_ have.
What do you do when you want to create a process with a property that
_isn't_ listed in the arguments to CreateProcess? Yes: you have to
set those in the child process, just like with fork().
So what's the point in having some of the properties listed in
CreateProcess? Answer: none. Not from an API cleanliness point of
view anyway.
> System.Object
> System.MarshalByRefObject
> System.ComponentModel.Component
> System.Diagnostics.Process
> [C#]
> public class Process : Component
> [C++]
> public __gc class Process : public Component
This begins to make more sense. You do understand that unix has this
class too, but it's called pid_t, not Process?
> * unified well architected core component model
> which is extensible from OS services to application
> objects
Yeah, but CreateProcess _isn't_ well architected. It's among the
worst of excreta in Win32.
> * the object model should be defined from the kernel
> layer for process/events/devices etc. up and not
> started at the application layer
Unfortunately you just state this, without giving any reasons for it.
If this were implemented in userspace (i.e. the Mono project),
can you give a single reason why it needs to be extended into the kernel?
-- Jamie
next prev parent reply other threads:[~2003-10-12 11:59 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-11 4:45 2.7 thoughts: common well-architected object model asdfd esadd
2003-10-11 14:30 ` Valdis.Kletnieks
2003-10-11 16:06 ` asdfd esadd
2003-10-11 16:48 ` Valdis.Kletnieks
2003-10-11 17:13 ` asdfd esadd
2003-10-11 17:38 ` Valdis.Kletnieks
2003-10-11 17:56 ` asdfd esadd
2003-10-11 18:20 ` Mark Hahn
2003-10-11 18:13 ` Zwane Mwaikambo
2003-10-11 23:33 ` J.A. Magallon
2003-10-11 17:00 ` Scott Robert Ladd
2003-10-11 17:57 ` Kenn Humborg
2003-10-11 18:34 ` asdfd esadd
2003-10-11 18:46 ` Valdis.Kletnieks
2003-10-11 19:01 ` Kenn Humborg
2003-10-11 19:11 ` retu
2003-10-11 19:25 ` viro
2003-10-12 11:59 ` Jamie Lokier [this message]
2003-10-12 16:04 ` retu
2003-10-12 16:44 ` Valdis.Kletnieks
2003-10-12 16:51 ` retu
2003-10-12 17:50 ` viro
2003-10-12 21:52 ` Jamie Lokier
2003-10-12 20:21 ` Rik van Riel
2003-10-13 20:21 ` James Antill
2003-10-14 5:01 ` retu
2003-10-14 6:00 ` Nick Piggin
2003-10-14 5:31 ` retu
2003-10-14 6:05 ` Tim Hockin
2003-10-14 6:46 ` viro
[not found] <Ft4B.3ML.3@gated-at.bofh.it>
[not found] ` <FutO.5TB.29@gated-at.bofh.it>
2003-10-11 17:03 ` Ihar 'Philips' Filipau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20031012115900.GC13427@mail.shareable.org \
--to=jamie@shareable.org \
--cc=Valdis.Kletnieks@vt.edu \
--cc=kenn@linux.ie \
--cc=linux-kernel@vger.kernel.org \
--cc=retu834@yahoo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox