posix compliance
Jerome Herman
jherman at dichotomia.fr
Tue Feb 28 12:30:30 UTC 2012
On 28/02/2012 12:32, Anton Shterenlikht wrote:
> On Tue, Feb 28, 2012 at 06:25:37AM -0500, Jerry wrote:
>> On Tue, 28 Feb 2012 11:03:23 +0000
>> Anton Shterenlikht articulated:
>>
>>> On Tue, Feb 28, 2012 at 08:46:51PM +1000, Da Rock wrote:
>>>> On 02/28/12 19:17, Anton Shterenlikht wrote:
>>>>> I'm putting together a small presentation
>>>>> about FreeBSD for our IT support staff.
>>>>>
>>>>> Is fbsd POSIX compliant? Fully? Partially?
>>>>>
>>>>> The info here is a bit out of date:
>>>>>
>>>>> http://www.freebsd.org/projects/c99/index.html
>>>> Looking at the doc its not that out of date. Just check the 9.x
>>>> column.
>>> Oh.. I see. I only looked in the top table.
>>>
>>> Still, I don't get an idea from the table of
>>> how close FreeBSD is to full POSIX compliance.
>>> I guess that's the aim, isn't it?
>> The answer is rather simple. In your presentation you would simple
>> indicate that FreeBSD is not fully compliant. You then have the option
>> of making copies of all the pages referenced in the above URL and
>> including them in the presentation packet you are supplying to the group
>> or simply referring them to the above URL. Figuring out which is more
>> impressive I'll leave up to you.
> sorry to be a pain.
>
> Are we talking 10%, 50%, 90% complete?
>
> Does the above page include all tasks
> that need to be completed? In other words,
> if all tasks on the above page are ticked,
> does this aumtomatically give 100% compliance,
> or is it not that simple?
>
It is not that simple, POSIX is more a set of norms than a norm by
itself. There are Posix aspects that are not in FreeBSD and probably
never will be, other aspects that do exist in FreeBSD but you should
definitly not use them as they are painfull to use or flawed or both
(Posix capabilities for exemple). Also there are systems that do support
a fair part of Posix, but which are just a pain to use in a Posix
compatible environment, basically requiring you to code quite a lot of
tools to have a Posix environment. Basically Windows Server supports
quite a good deal of Posix norms, and it works well for small projects
or simple programs, but if you want to create a Posix compliant
distributed datastore you are in for a hell of a ride. Linux is becoming
basically the same, in that more and more core system tools have
dependencies on Linux specific API. (And I won't talk about MacOS X)
A good way of making a presentation would be to first look at what
aspects of Posix you need and try to find out where these aspect are
best supported.
Now a simple and true enough answer would be to say that FreeBSD has one
of the broader _and most usable_ Posix support, second only to Solaris.
(Way better than AIX and on par with HP-UX in my humble opinion). It is
mostly true in the sense that FreeBSD does support quite a lot of Posix
norms including the latest ones. It is false int the sense that AIX,
HP-UX IRIX and quite alot of others have a 100% certified compliance for
some (quite old now) Posix norms. CF :
http://en.wikipedia.org/wiki/POSIX
http://en.wikipedia.org/wiki/Single_UNIX_Specification#BSD_descendants
At one point FreeBSD was very close to be fully Posix compliant with
norm 1.e, then norm 1.e was more or less thrown out the windows, and
posix norming system pretty much imploded at this time.
So basically it is quite hard to answer without first knowing exactly
why you need Posix compliance. It is also worth noting that porting an
application from one fully compliant OS to another is not always easier
than porting from that OS to a non compliant one. Quite a lot of
problems can arise in slightly different interpretations of the norm,
and quite a lot of assumption that are correct under one system will
require carefull tweaking and lib binding in another.
Another thing that is worth noting is that Posix norming system is
dying, I do not know of one system that has compliance above UNIX03, a
norm written in 2001...
More information about the freebsd-questions
mailing list