2011-04-26 15 views

Respuesta

53

Sí. POSIX es un grupo de estándares que determina una API portátil para sistemas operativos tipo Unix. Mac OSX está basado en Unix (y ha sido certificado como tal), y de acuerdo con esto es compatible con POSIX. POSIX garantiza que ciertas llamadas al sistema estarán disponibles.

Básicamente, Mac cumple con la API requerida para ser compatible con POSIX, lo que lo convierte en un sistema operativo POSIX.

Todas las versiones de Linux no son POSIX-obedientes. Las versiones Kernel anteriores a 2.6 no eran compatibles, y hoy en día Linux no es oficialmente compatible con POSIX porque no se han salido de su camino para obtener la certificación (lo que probablemente nunca sucederá). De todos modos, Linux puede ser tratado como un sistema POSIX para casi todos los intentos y propósitos.

+2

lo que es una API portátil? –

+1

@ z-buffer puede confiar en que ciertas llamadas al sistema estén disponibles, p. 'stat()', 'read()', etc. –

+0

Existen muchas versiones de sistemas Linux. ¿Es por Linux que se creó POSIX? –

2

POSIX es una especificación: http://www.unix.org/what_is_unix/single_unix_specification.html yo sepa, Linux se basa en la especificación, pero no ha certificado aún

+3

Hay algunos problemas divertidos: por ejemplo, no es suficiente que un programa que intenta adherirse a POSIX simplemente especifique '_POSIX_C_SOURCE' con un valor de' 200809L' para que el entorno cumpla - por mi parte tuve problemas con el supuesto La extensión GCC es la función 'realpath', que ** está ** especificada por POSIX, a menos que también haya especificado un' _OPO_SOURCE 'no estándar con un valor de' 700', el programa tenía problemas al compilar. No es un problema (la presencia de esta última bandera no es un espectáculo para POSIX, pero es mucho menos portátil), pero definitivamente es un fastidio. Ver 'hombre 2 realpath'. – amn

Cuestiones relacionadas