Un sistema operativo mínimo compatible con POSIX


8

Para fines educativos, me gustaría comenzar con una base compatible con POSIX, que incluye un shell, utilidades básicas y un compilador ANSI C, luego ver qué tipo de entornos puedo construir al juntar paquetes.

Sin embargo, la mayoría de los sistemas operativos mínimos POSIX que he encontrado parecen estar integrados y / o patentados. ¿Existe algún sistema de código abierto que pueda ejecutar fácilmente en Virtualbox?

He buscado un poco sobre cómo construir un entorno de este tipo desde cero , pero parece que es mucho trabajo simplemente obtener un entorno de arranque / utilizable, y mucho menos uno que cumpla con POSIX. Podría intentar mis manos en la construcción de un sistema operativo POSIX algún día, pero primero me gustaría ser un poco más experto en informática de antemano.

Nota:

Creo que he escuchado en alguna parte que Linux no es completamente compatible con POSIX, pero mientras pueda compilar y construir algunas de las herramientas de código abierto más comunes y esenciales (como wget y w3m), estaría muy feliz, ya sea que lo haga o no. usó el kernel de Linux. Lo mismo ocurre con los otros componentes básicos que imagino que podrían venir con el sistema operativo (por ejemplo, glibc)


Cuando ve un problema con "propietario", no veo dónde está el problema, ya que ser propietario no impide la conformidad POSIX. ¿Querías decir "comercial"?
Hibou57

Respuestas:


10

POSIX no especifica un sistema operativo completo, por lo que cualquier sistema operativo compatible con POSIX tendrá comandos que no están en POSIX (como init, mkfs, passwd, ...). Pero diferentes sistemas operativos tienen diferentes extensiones, y las herramientas GNU (que se encuentran en sistemas Linux no integrados) tienen mucho.

BusyBox es un conjunto de herramientas de línea de comandos destinadas a sistemas Linux integrados. Contiene la mayoría de las utilidades y opciones exigidas por POSIX (no está completo, pero se acerca). Puede crear un sistema Linux en ejecución con un gestor de arranque, un kernel de Linux, BusyBox y Dropbear si desea iniciar sesión a través de SSH. Agregue Gcc si desea desarrollar en el sistema mínimo.

Si prefiere comenzar desde una distribución completa pero pequeña, mire MINIX 3 . Este es un pequeño sistema unix destinado a sistemas embebidos y para la enseñanza.

Si desea un sistema más fácilmente extensible, mire OpenBSD . OpenBSD se centra en la seguridad y conserva las características, pero el sistema central incluye componentes principales como Perl y Apache.


Creo que TCC está más cerca de ANSI C / ISO C99 que GCC, lo que lo convertiría en una mejor opción para un compilador de C en un entorno POSIX estricto evitando características no conformes.
Hibou57
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.