MINIX es un sistema operativo de código abierto, independiente y distribuido libremente basado en UNIX basado en una arquitectura de microkernel. Es un sistema operativo pequeño que ha sido diseñado desde cero para ser utilizado como una herramienta educativa dirigida a portátiles de bajo consumo y sistemas embebidos.
El sistema operativo se distribuye como una imagen ISO de doble arco
El sistema operativo MINIX se distribuye como una imagen ISO de doble arco, que ha sido archivada con el método de compresión bz2 y diseñada para ejecutarse en equipos que admitan conjuntos de instrucciones de 32 bits (x86) y 64 bits (x86_64) Arquitecturas. Mientras que el archivo bz2 tiene aproximadamente 120MB de tamaño, la imagen ISO pesa alrededor de 400MB.
El menú de inicio de la vieja escuela ofrece cuatro opciones diferentes
Tenga en cuenta que la imagen ISO debe escribirse en un disco de CD o en una unidad USB de 512 MB o superior para arrancar desde el BIOS de un PC. Se le pedirá a los usuarios con un menú de arranque que cuenta con cuatro opciones diferentes, la capacidad de iniciar el sistema en vivo con o sin apoyo AHCI, la capacidad de caída en un indicador de shell, y la posibilidad de editar las opciones del menú.
Se ejecuta en modo activo y se puede instalar en una unidad local
Si bien el sistema se ejecutará sin problemas desde el medio de arranque y muchos de sus comandos preinstalados funcionarán correctamente, tendrá que instalarlo en una unidad local para aprovechar al máximo su funcionalidad, incluido el entorno de escritorio gráfico . De forma predeterminada, se eliminará en un indicador de shell en el que debe iniciar sesión con la & ldquo; raíz & rdquo; Nombre de usuario Escriba & ldquo; configure & rdquo; (Sin comillas) para iniciar el script de instalación.
No es un sistema operativo Linux o BSD
Tenga en cuenta que MINIX no debe confundirse con Linux o BSD. Todavía está en un gran desarrollo y no está ni cerca de tan madura como los sistemas operativos similares a UNIX antes mencionados.
¿Qué es nuevo en esta versión:
No está diseñado para los usuarios finales, como un sistema operativo cotidiano.
- El sistema se basa en un pequeño microkernel (12,700 líneas de código)
- El microkernel gestiona las interrupciones y el paso de mensajes y es el único que se ejecuta en modo kernel.
- El resto del sistema operativo se ejecuta como una colección de procesos aislados, protegidos y en modo de usuario
- Cada controlador de dispositivo es un proceso separado del modo de usuario aislado por el hardware de la MMU
- Si un controlador falla, el sistema lo reinicia automáticamente, con las aplicaciones en ejecución ni siquiera notando
- Esto significa que MINIX 3.3.0 se auto-cura
- Userland es en gran medida compatible con NetBSD y ejecuta miles de paquetes de NetBSD
- Combinando un innovador sistema de auto-curación de investigación con NetBSD userland, obtuvimos lo mejor de ambos mundos
- Los compiladores clang / LLVM y gcc están disponibles, así como perl, python, etc.
- MINIX 3.3.0 está disponible para las arquitecturas x86 y ARM Cortex A8, por lo que es ideal para sistemas embebidos
- Se proporcionan herramientas para compilación cruzada MINIX 3 para ARM en Linux
- Los puertos ya están disponibles para BeagleBoard XM, BeagleBone blanco y BeagleBone negro
- Una extensa documentación está disponible en el wiki de MINIX 3
- El código se ha mejorado con respecto a MINIX 3.2.1 de cientos de maneras, dando lugar a un sistema más limpio y fiable
Qué es nuevo en la versión 3.3.0:
- El sistema se basa en un pequeño microkernel (12,700 líneas de código)
- El microkernel gestiona las interrupciones y el paso de mensajes y es el único que se ejecuta en modo kernel.
- El resto del sistema operativo se ejecuta como una colección de procesos aislados, protegidos y en modo de usuario
- Cada controlador de dispositivo es un proceso separado del modo de usuario aislado por el hardware de la MMU
- Si un controlador falla, el sistema lo reinicia automáticamente, con las aplicaciones en ejecución ni siquiera notando
- Esto significa que MINIX 3.3.0 se auto-cura
- Userland es en gran medida compatible con NetBSD y ejecuta miles de paquetes de NetBSD
- Combinando un innovador sistema de auto-curación de investigación con NetBSD userland, obtuvimos lo mejor de ambos mundos
- Los compiladores clang / LLVM y gcc están disponibles, así como perl, python, etc.
- MINIX 3.3.0 está disponible para las arquitecturas x86 y ARM Cortex A8, por lo que es ideal para sistemas embebidos
- Se proporcionan herramientas para compilación cruzada MINIX 3 para ARM en Linux
- Los puertos ya están disponibles para BeagleBoard XM, BeagleBone blanco y BeagleBone negro
- Una extensa documentación está disponible en el wiki de MINIX 3
- El código se ha mejorado con respecto a MINIX 3.2.1 de cientos de maneras, dando lugar a un sistema más limpio y fiable
Novedades en la versión 3.2.1:
- Desarrollo:
- Compatibilidad con ejecutables vinculados dinámicamente, también crea versiones compartidas de bibliotecas de sistemas base
- http://wiki.minix3.org/en/UsersGuide/UsingSharedLibraries.
- Eliminar el uso de los segmentos de Intel por completo, dando un impulso de rendimiento durante el cambio de contexto. Confíe exclusivamente en las tablas de la página. (Más información)
- Se ha añadido soporte para las llamadas al kernel del sistema basado en SYSENTER / SYSCALL, una mejora significativa en el rendimiento. (Más información)
- Nueva importación del sistema de compilación NetBSD completamente actualizada. Build.sh está soportado, lo que permite la construcción cruzada MINIX 3.
- http://wiki.minix3.org/en/DevelopersGuide/Crosscompiling
- Importado o actualizado muchas utilidades y bibliotecas de userland de NetBSD: libc, lorder, join, mtree, tsort, cksum, kill, xinstall, du, libutil, tic, postinstall, flex, zlib, bsdtar, ls, ,,,,,,,, Nbperf, haga, m4, bzip2, libcrypt, printf, passwd, haga, ed, nawk, expr, Pwd.
- Soporte DDEKIT (soporte para teclados USB, ratones y almacenamiento masivo).
- http://wiki.minix3.org/en/DdeKitUsb
- Generalización del controlador TTY.
- Limpieza pequeña y grande representada por MINIXismos retirados como rootdev no simbólico, dev2name, checkhier, badblocks, readall, BIOS_SEG y umap_bios, bios_wini, macros C como _ANSI, _CONST, _VOLATILE, _SIZET, _ARGS, _VOID, PUBLIC, PRIVATE y FORWARD , _PROTOTYPE.
- VM: Munmap generalizado (el tiempo de arranque del ramdisk ahora está liberado, ahorrando memoria).
- La interacción de VFS con los controladores es totalmente asíncrona, haciendo que VFS sea inmune a los controladores no cooperativos. (Más información)
- http://en.wikipedia.org/wiki/Kernel_Normal_Form
- Mejora y generalización del rendimiento de Exec. Reduzca la copia y el kernel, RS, VFS y VM usan el mismo código de análisis ejecutables.
- Más abstracción en VM para soportar futuras mejoras.
- Implementado el soporte dinámico mtab y el comando mount -a
- Generalizó la caché del sistema de archivos. (Más información)
- Cambios:
- Hacer mundo fue reemplazado por make build
- Se ha eliminado la compatibilidad con los binarios a.out
- Controladores, FS:
- E1000 agrega soporte para 82545EM
- Mejoras en la compatibilidad EXT2. (Más información)
- Virtio: virtio-blk, controladores de virtio-net
- Cómo usar: http://wiki.minix3.org/en/UsersGuide/RunningOnQemu
- Compatibilidad con AHCI
- Agregar VBFS: Sistema de archivos de carpetas compartidas de VirtualBox
- rtl8169: agregue soporte para la familia RTL8101E
- Keymaps:
- Mapa de teclado en portugués
- Mapa de teclas de Brasil
- Userland:
- Reescrito sprofalyze en C para un mejor rendimiento.
Qué es nuevo en la versión 3.2.0:
- Características principales:
- Clang es el compilador predeterminado (también se admite GCC)
- Biblioteca NetBSD C
- ELF es el formato ejecutable predeterminado
- Servidor de archivos virtual (VFS) asíncrono y multiproceso
- Soporte SMP experimental
- Soporte FUSE (proyecto GSOC de Evgeniy Ivanov)
- Formato de archivo de contraseña de NetBSD (parte del proyecto GSOC de Vivek Prakash)
- Infraestructura de tipos FS:
- Utilice un archivo / etc / fstab adecuado
- Indicador FS limpio / impuro en MFS
- Integración completa del sistema base ext2: newfs, fsck, se puede instalar en ext2
- Haga el `fsck -p` apropiado en cada arranque para todos los sistemas de ficheros fstab-listados
- Cargador de arranque de NetBSD
- Imágenes de inicio más pequeñas (con gzip)
- ProcFS: sistema de archivos / proc
- Multithreading y soporte NCQ en el controlador AHCI
- Mejoras de depuración
- GDB y soporte básico de volcado (proyecto GSOC de Adriana Szekeres)
- Bloquear el rastreo de dispositivos
- Nuevas utilidades de usuario de NetBSD (parte de ellas como proyecto GSOC de Vivek Prakash)
- ext2 fsck y mkfs, gzip, m4, hombre y herramientas, mkdep, mkdir, mkfifo, mktemp, rm, rmdir, tic, uniq
- libcurses, libcrypt, libprop, libterminfo, libutil
- bzip2, date, indent, mdocml (mandoc), sed, los puertos zoneinfo
- Mayor fiabilidad
- La recuperación transparente de los bloqueos de los controladores de dispositivos se produce en sistemas de archivos
- Reintento transparente cuando se bloquea el dispositivo de bloque en sistemas de archivos
- Nuevo controlador de inyección de fallo del dispositivo de bloque defectuoso
- Los servidores y controladores se ejecutan como usuarios no privilegiados
- Corrige todos los errores (potenciales) encontrados por las advertencias más elaboradas de Clang
- Mejor soporte de virtualización
- Añadido libvassert, para permitir una compatibilidad más fácil para VMware VAssert
- Nuevo controlador de sincronización de tiempo de VirtualBox
- Otras diferencias importantes:
- El proyecto MINIX ahora utiliza git como su sistema de control de versiones
- Problemas conocidos:
- VirtualBox: Minix no se puede instalar sin soporte de aceleración de hardware (VT-x, AMD-V)
- Solución: consulte UsersGuide / RunningMinixOnVirtualBox
- Crear advertencias: Clang tiene diagnósticos mucho mejores que ACK, por lo que clang informa más advertencias en la base de código MINIX. Estas advertencias se están corrigiendo con el tiempo.
- Rendimiento Clang: En MINIX, clang construye más lentamente que GCC. Estamos trabajando en esto. Mientras tanto, tiene la opción de construir MINIX con GCC (CC = gcc).
Qué es nuevo en la versión 3.1.7:
- Programación del espacio de usuario y un servidor de programación
- Soporte adecuado para múltiples tarjetas Ethernet del mismo tipo
- Bugfixes (como solución para ejecutar en KVM reciente)
- Funciones de depuración ("verbose" variable de monitor de inicio, acceso a los registros de depuración DR0-DR7 en kernel)
- El monitor de arranque permite cargar imágenes & gt; 16 MB
- El tamaño de la partición raíz aumentó a 64 MB (y el script de configuración ahora puede ocuparse más o menos con seguridad de las particiones raíz con tamaños no predeterminados)
- Soporte de buildsystem para construir MINIX con GCC
- Reorganización / limpieza del árbol de origen
- Nuevos puertos: Git, GCC actualizado a la versión 4.4.3
- Capa de caché secundaria de FS en VM que usa toda la memoria disponible, reduciendo el tiempo de espera de E / S mucho
Qué es nuevo en la versión 3.1.6:
- Características principales:
- Nuevos controladores: Atheros L2, Intel E1000, Realtek 8169, DEC Tulip
- Soporte de red VirtualPC (Tulipán DEC)
- PipeFS: eliminado el manejo de tuberías desde los controladores del sistema de archivos
- HGFS: soporte para el montaje de carpetas compartidas de VMware como sistema de archivos
- Soporte de FPU
- Marco de eventos del sistema (SEF)
- Apoyo experimental APIC (deshabilitado de forma predeterminada)
- Más puertos: más reciente QEMU, utilidades BSD, puntos de referencia
- Problemas conocidos:
- VirtualBox 3.1 no puede iniciar Minix. Por favor, utilice VirtualBox 3.0 por ahora.
- Qemu / KVM 0.12 no puede iniciar Minix. Por favor, utilice Qemu / KVM 0.11 por ahora.
- VirtualBox: Minix 3.1.6 no se puede instalar sin soporte de aceleración de hardware (VT-x, AMD-V)
Comentarios que no se encuentran