[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Reflection and /proc
Scott Lurndal writes:
> In article <7bfoj4$a29oi@fido.engr.sgi.com>, you write:
>> Sure, we need standardized interfaces. No argument there!
>> We can also have Linux-specific interfaces. More is better.
>
> More is not better. Quality over quantity.
One need not choose between quality and quantity.
On 64-bit hardware, Linux could support:
lseek with no size restrictions (the right API, obviously)
llseek for SunOS 4 and libc 5 compatibility
lseek64 for standards compliance
>>> This is just as bad as microsoft locking applications into NT.
>>
>> ...and Apple and Sun and SGI (yes, you!) and...
>
> No vendor that must show a profit will ever add things willy-nilly
> with no purpose other than "it is cool". A business cannot survive
> with such an attitude.
How about "we have a big customer that wants this" or "we can get
an important software vendor to port if we add this"?
> New features are always carefully thought out, clearly designed
> and appropriate for specific needs. About half those which are
> proposed end up rejected.
I don't believe that for a moment. I'm sure politics play a huge
role here... but you'd better not talk about that.
>>> In a perfect world,
>>> the same API would work on all operating systems.
>>
>> Option 1: clone the Linux API as needed (FreeBSD and SCO do this)
>
> Option 1: clone the WIN32 api (WINE does this)
> Option 2: port WINE to your proprietary platform.
It is perfectly normal for Microsoft to give us such a choice.
I don't see anything unusual about it.
>> Option 2: port Linux to your hardware (workstation vendors do this)
>
> The point of any operating system should be application capture. Any
> proposed extension to the operating system must be justifiable in terms
> of application capture, or potentially ease of administration.
To capture applications, make porting _to_ the OS very easy.
(porting away is someone else's problem)
>>> Now, all commercial unices have proprietary extensions
>>
>> Linux should not be any different.
>
> Right. But don't make them arbitrary and align them with
> existing interfaces and standards where they exist.
> No matter whose existing interfaces or standards.
Clone everybody, no matter who. When I wrote ps, I gave it an Irix
personality. Note the screwy "SZ:RSS" column below.
$ PS_PERSONALITY=irix ps -l
F S UID PID PPID C PRI NI P SZ:RSS WCHAN TTY TIME CMD
100 S 500 1009 1008 0 72 0 * 387:928 wait4 ttyp3 00:00:00 bash
000 R 500 1489 1009 20 72 0 0 517:664 - ttyp3 00:00:00 ps
I also reserved the -M for MAC info, just like Irix has.
(I would be very interested in examples of such output.)
>> So SEMMSL is a constant, and we ought to provide it while we can.
>> Should a time come when it is no longer a constant, we do this:
>>
>> #define SEMMSL (sysconf(WHATEVER))
>
> Disagree. Do it right the first time.
As the above? That would be OK, but not quite as compatible.
It would let today's binaries work well into the future though,
so I would be happy with it.
>>> First of all, a feature has to be worth supporting, and providing
>>> the seq and key values in the ipc_perm structure is _not_ worth
>>> supporting; neither of them is of any use to an application.
>>
>> Obviously they _are_ of use, because some apps broke.
>
> Name the apps.
Check www.dejanews.com yourself. There were several apps that broke.
Start with comp.os.linux.development (dead group) and the two new
groups in comp.os.linux.development.* .
-
Linux-future: thinking about the future of the Linux kernel
Archive: http://humbolt.nl.linux.org/lists/
Wish list: http://users.ox.ac.uk/~mert0236/linux-future.html