Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Feb 2012 13:30:09 +0100
From:      Jerome Herman <jherman@dichotomia.fr>
To:        freebsd-questions@freebsd.org
Subject:   Re: posix compliance
Message-ID:  <4F4CC8D1.4070000@dichotomia.fr>
In-Reply-To: <20120228113213.GA56638@mech-cluster241.men.bris.ac.uk>
References:  <20120228091746.GA48977@mech-cluster241.men.bris.ac.uk> <4F4CB09B.7010806@herveybayaustralia.com.au> <20120228110323.GA56536@mech-cluster241.men.bris.ac.uk> <20120228062537.31ac74c0@scorpio> <20120228113213.GA56638@mech-cluster241.men.bris.ac.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
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...



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F4CC8D1.4070000>