NetBSD

Sistema operativo tipo Unix, libre y de código abierto

Sistema operativo
NetBSD
NetBSD 9.2 muestra XDM
ReveladorLa Fundación NetBSD, Inc.
Familia de sistemas operativosSimilar a Unix ( BSD )
Estado de funcionamientoActual
Modelo fuenteCódigo abierto
Lanzamiento inicial19 de abril de 1993 ; hace 31 años ( 19 de abril de 1993 )
Último lanzamiento10.0 / 28 de marzo de 2024 ; hace 6 meses [1] ( 28-03-2024 )
Última vista previa10.99.x [2] / Construcciones diarias
Repositorio
  • cvsweb.netbsd.org
Gestor de paquetespaquete src
PlataformasAlfa , ARM , x86 ( IA-32 y x86-64 ), PA-RISC , 68k , MIPS , PowerPC , SH3 , SPARC , RISC-V , VAX
Tipo de kernelMonolítico con módulos cargables dinámicamente , núcleo de grupa
Tierra de usuariosBSD
InfluenciadoLinux vacío
Influenciado por386BSD

Interfaz de usuario predeterminada
Concha de Unix
LicenciaLicencia BSD de 2 cláusulas
Sitio web oficiales:netbsd.org
Lema"Por supuesto que ejecuta NetBSD" [3]

NetBSD es un sistema operativo tipo Unix gratuito y de código abierto basado en la distribución de software Berkeley (BSD). Fue el primer descendiente de BSD de código abierto lanzado oficialmente después de que se bifurcara 386BSD . [4] [5] Sigue desarrollándose activamente y está disponible para muchas plataformas, incluidos servidores, computadoras de escritorio, dispositivos portátiles [5] y sistemas integrados . [6] [7]

El proyecto NetBSD se centra en la claridad del código, el diseño cuidadoso y la portabilidad entre muchas arquitecturas informáticas . Su código fuente está disponible públicamente y tiene licencias permisivas . [8] [9] [10]

Historia

NetBSD se derivó originalmente de la versión 4.3BSD-Reno de la distribución de software Berkeley del Computer Systems Research Group de la Universidad de California, Berkeley , a través de su lanzamiento del código fuente Net/2 y el proyecto 386BSD . [5] El proyecto NetBSD comenzó como resultado de la frustración dentro de la comunidad de desarrolladores de 386BSD con el ritmo y la dirección del desarrollo del sistema operativo. [11] Los cuatro fundadores del proyecto NetBSD, Chris Demetriou, Theo de Raadt , Adam Glass y Charles Hannum, sintieron que un modelo de desarrollo más abierto beneficiaría al proyecto: uno centrado en un código portable, limpio y correcto. Su objetivo era producir un sistema operativo basado en BSD unificado, multiplataforma y de calidad de producción. El nombre "NetBSD" fue elegido en función de la importancia y el crecimiento de las redes como Internet en ese momento, y la naturaleza distribuida y colaborativa de su desarrollo. [12]

El repositorio de código fuente de NetBSD se estableció el 21 de marzo de 1993 y la primera versión oficial, NetBSD 0.8, se realizó el 19 de abril de 1993. [13] Esta se derivó de 386BSD 0.1 más el kit de parches no oficial de la versión 0.2.2, con varios programas de la versión Net/2 que faltaban en 386BSD reintegrados y varias otras mejoras. [13] [14] La primera versión multiplataforma, NetBSD 1.0, se realizó en octubre de 1994 y, al actualizarse con las fuentes de 4.4BSD-Lite, estaba libre de todo el código Net/2 de 4.3BSD legalmente gravado. [15] También en 1994, por razones controvertidas, uno de los fundadores, Theo de Raadt, fue eliminado del proyecto. Más tarde fundó un nuevo proyecto, OpenBSD , a partir de una versión bifurcada de NetBSD 1.0 cerca de finales de 1995. [16] En 1998, NetBSD 1.3 introdujo la colección de paquetes pkgsrc . [17]

Hasta 2004, las versiones de NetBSD 1.x se publicaban a intervalos anuales, con versiones de parches menores entre ellas. A partir de la versión 2.0, NetBSD utiliza el control de versiones semántico y cada versión principal de NetBSD corresponde a un número de versión mayor incrementado, es decir, las versiones principales posteriores a la 2.0 son 3.0, 4.0, etc. Las versiones menores anteriores ahora se dividen en dos categorías: versiones de mantenimiento "estables" xy y versiones xyz que contienen solo correcciones críticas y de seguridad. [18]

NetBSD solía venir con twm como una interfaz gráfica preconfigurada ( administrador de ventanas ); en 2020 (versión 9.1) esto se cambió al más moderno y versátil CTWM . [19]

Características

Inicio de NetBSD/amd64 en modo consola
Mensaje de bienvenida e inicio de sesión en la consola NetBSD/amd64

Portabilidad

Como sugiere el lema del proyecto ( "Por supuesto que ejecuta NetBSD" ), NetBSD ha sido portado a una gran cantidad de arquitecturas de 32 y 64 bits . Estas van desde minicomputadoras VAX hasta PDA Pocket PC . NetBSD también ha sido portado a varias consolas de videojuegos como Sega Dreamcast [20] y Nintendo Wii . [21] A partir de 2019, NetBSD admite 59 plataformas de hardware (en 16 conjuntos de instrucciones diferentes ). El núcleo y el espacio de usuario para estas plataformas se construyen a partir de un árbol de código fuente unificado central administrado por CVS . Actualmente, a diferencia de otros núcleos como μClinux , el núcleo NetBSD requiere la presencia de una MMU en cualquier arquitectura de destino dada.

La portabilidad de NetBSD se ve facilitada por el uso de interfaces de capa de abstracción de hardware para el acceso a hardware de bajo nivel, como entrada/salida de bus o DMA . Mediante esta capa de portabilidad, los controladores de dispositivos se pueden dividir en componentes "independientes de la máquina" y "dependientes de la máquina". Esto hace que un único controlador sea fácilmente utilizable en varias plataformas al ocultar los detalles de acceso al hardware y reduce el trabajo de portarlo a un nuevo sistema. [22]

Esto permite que un controlador de dispositivo específico para una tarjeta PCI funcione sin modificaciones, ya sea en una ranura PCI en una IA-32 , Alpha , PowerPC , SPARC u otra arquitectura con un bus PCI. Además, un solo controlador para un dispositivo específico puede funcionar a través de varios buses diferentes, como ISA , PCI o PC Card .

Esta independencia de plataforma facilita el desarrollo de sistemas integrados , particularmente desde NetBSD 1.6, cuando toda la cadena de herramientas de compiladores , ensambladores , enlazadores y otras herramientas admiten completamente la compilación cruzada .

En 2005, como demostración de la portabilidad y la idoneidad de NetBSD para aplicaciones integradas, Technologic Systems, un proveedor de hardware para sistemas integrados, diseñó y demostró una tostadora de cocina impulsada por NetBSD . [23]

Wasabi Systems ofrecía puertos comerciales para plataformas integradas y los respaldaba, incluidas plataformas como AMD Geode LX800, procesadores Freescale PowerQUICC , Marvell Orion, la familia AMCC 405 de procesadores PowerPC y las series Intel XScale IOP e IXP.

Marco de construcción portátil

El marco de compilación cruzada NetBSD (también conocido como "build.sh" [24] ) permite a un desarrollador construir un sistema NetBSD completo para una arquitectura a partir de un sistema más potente de una arquitectura diferente ( compilación cruzada ), incluso en un sistema operativo diferente (el marco es compatible con la mayoría de los sistemas compatibles con POSIX ). Varios sistemas integrados que utilizan NetBSD no han requerido desarrollo de software adicional más allá de la cadena de herramientas y el rehosting del objetivo. [25]

La colección de paquetes pkgsrc

NetBSD incluye pkgsrc (abreviatura de "fuente del paquete"), un marco para crear y administrar paquetes de software de aplicaciones de terceros . La colección pkgsrc consta de más de 20 000 paquetes a octubre de 2019. [actualizar][ 26] La creación e instalación de paquetes como Lumina , KDE , GNOME , Apache HTTP Server o Perl se realiza mediante el uso de un sistema de makefiles . Este puede obtener automáticamente el código fuente, descomprimir, parchear, configurar, crear e instalar el paquete de modo que pueda eliminarse nuevamente más tarde. Una alternativa a la compilación desde la fuente es utilizar un paquete binario precompilado. En cualquier caso, el sistema de paquetes instalará automáticamente cualquier requisito previo o dependencia, sin necesidad de intervención manual.

pkgsrc no solo es compatible con NetBSD, sino también con otras variantes de BSD como FreeBSD y Darwin / macOS , y otros sistemas operativos similares a Unix como Linux , Solaris , IRIX y otros, así como Interix . pkgsrc fue adoptado previamente como el sistema oficial de gestión de paquetes para DragonFly BSD . [27]

Multiprocesamiento simétrico

NetBSD ha soportado SMP desde el lanzamiento de NetBSD 2.0 en 2004, [28] que inicialmente se implementó utilizando el enfoque de bloqueo gigante . Durante el ciclo de desarrollo del lanzamiento de NetBSD 5, se realizó un trabajo importante para mejorar el soporte de SMP; la mayoría de los subsistemas del núcleo se modificaron para utilizar el enfoque de bloqueo de grano fino . Se implementaron nuevas primitivas de sincronización y las activaciones del programador se reemplazaron con un modelo de subprocesamiento 1:1 en febrero de 2007. [29] Se implementó un programador de subprocesos M2 escalable, aunque el antiguo programador 4.4BSD sigue siendo el predeterminado pero se modificó para escalar con SMP. Se implementaron interrupciones de software enhebradas para mejorar la sincronización. El sistema de memoria virtual , el asignador de memoria y el manejo de trampas se hicieron seguros para MP. El marco del sistema de archivos, incluido el VFS y los principales sistemas de archivos, se modificaron para que sean seguros para MP. Desde abril de 2008, los únicos subsistemas que se ejecutan con un bloqueo gigante son los protocolos de red y la mayoría de los controladores de dispositivos .

Seguridad

NetBSD proporciona varias características en el área de seguridad. [30] El marco de autorización del núcleo [31] (o Kauth) es un subsistema que administra todas las solicitudes de autorización dentro del núcleo y se usa como política de seguridad para todo el sistema. Permite que los módulos externos se conecten al proceso de autorización. NetBSD también incorpora características de mitigación de vulnerabilidades, ASLR , [32] KASLR, mprotect() restringido y Segvguard del proyecto PaX , y extensiones del compilador GCC Stack Smashing Protection (SSP, o también conocido como ProPolice, habilitado por defecto desde NetBSD 6.0). Verified Executables (o Veriexec) es un subsistema de integridad de archivos dentro del núcleo en NetBSD. Permite al usuario establecer huellas digitales (hashes) de archivos y realizar una serie de acciones diferentes si los archivos no coinciden con sus huellas digitales. Por ejemplo, se puede permitir que Perl ejecute solo scripts que coincidan con sus huellas digitales. [33] El controlador de dispositivo criptográfico (CGD) permite utilizar discos o particiones (incluidos CD y DVD) para almacenamiento cifrado. [34]

Virtualización

El monitor de máquinas virtuales Xen ha sido compatible con NetBSD desde la versión 3.0. El uso de Xen requiere un entorno de arranque especial previo al núcleo que carga un núcleo especializado en Xen como "sistema operativo anfitrión" (Dom0). Se puede ejecutar en paralelo cualquier cantidad de computadoras virtualizadas "sistemas operativos invitados" (DomU), con o sin soporte específico para Xen/DomU, con los recursos de hardware adecuados.

La necesidad de un gestor de arranque de terceros, como GRUB, se eliminó con el gestor de arranque compatible con Xen de NetBSD 5. [35] NetBSD 6 como Dom0 ha sido evaluado de forma comparable a Linux, con un mejor rendimiento que Linux en algunas pruebas. [36]

A partir de NetBSD 9.0, la virtualización acelerada se proporciona a través del hipervisor nativo NVMM (NetBSD Virtual Machine Monitor). [37] Proporciona una API de virtualización, libnvmm, que puede ser aprovechada por emuladores como QEMU . Una propiedad única de NVMM es que el núcleo nunca accede a la memoria de la máquina virtual invitada, solo la crea. [38] El Administrador de ejecución acelerada por hardware (HAXM) de Intel proporciona una solución alternativa para la aceleración en QEMU solo para CPU Intel, similar al KVM de Linux . [39]

NetBSD 5.0 ​​introdujo el núcleo rump , una arquitectura para ejecutar controladores en el espacio de usuario mediante la emulación de llamadas en el espacio del núcleo. Esta arquitectura anykernel permite añadir compatibilidad con controladores NetBSD a otras arquitecturas de núcleo, desde exonúcleos hasta núcleos monolíticos . [40]

Almacenamiento

NetBSD incluye muchas características empresariales como iSCSI , un sistema de archivos con registro en diario , gestión de volúmenes lógicos y el sistema de archivos ZFS .

La interfaz bio(4) para la gestión de volúmenes RAID independiente del proveedor a través de bioctl está disponible en NetBSD desde 2007. [41]

El sistema de archivos de diario WAPBL , una extensión del sistema de archivos BSD FFS, fue aportado por Wasabi Systems en 2008. [42]

El Gestor de volúmenes lógicos de NetBSD se basa en una reimplementación de BSD de un controlador de mapeo de dispositivos y una adaptación de las herramientas del Gestor de volúmenes lógicos de Linux . Fue escrito principalmente durante el Google Summer of Code 2008. [43]

El sistema de archivos ZFS desarrollado por Sun Microsystems se importó al sistema base NetBSD en 2009.

El sistema de archivos de memoria Flash CHFS se importó a NetBSD en noviembre de 2011. CHFS es un sistema de archivos desarrollado en el Departamento de Ingeniería de Software de la Universidad de Szeged , Hungría , y es el primer sistema de archivos de código abierto específico para Flash escrito para NetBSD.

Compatibilidad con otros sistemas operativos

A nivel de código fuente, NetBSD es casi totalmente compatible con el estándar POSIX .1 (IEEE 1003.1-1990) y mayormente compatible con POSIX.2 (IEEE 1003.2-1992).

NetBSD proporciona compatibilidad binaria a nivel de llamada del sistema en las arquitecturas de procesador adecuadas con sus versiones anteriores, pero también con varios otros sistemas operativos derivados de UNIX y similares a UNIX, incluido Linux y otros derivados de 4.3BSD como SunOS 4. Esto permite a los usuarios de NetBSD ejecutar muchas aplicaciones que solo se distribuyen en forma binaria para otros sistemas operativos, generalmente sin una pérdida significativa de rendimiento. [44]

En NetBSD también se admiten una variedad de formatos de sistemas de archivos de disco "extranjeros" , incluidos ZFS , FAT , NTFS , Linux ext2fs , Apple HFS y OS X UFS , RISC OS FileCore/ADFS, AmigaOS Fast File System , IRIX EFS , Version 7 Unix File System y muchos más a través de PUFFS .

Scripting del kernel

La creación de scripts en el espacio del núcleo con el lenguaje de programación Lua se agregó en NetBSD 7.0. [45] El lenguaje Lua (es decir, su intérprete y bibliotecas estándar) se portó inicialmente al núcleo NetBSD durante Google Summer of Code 2010 y ha experimentado varias mejoras desde entonces. Hay dos diferencias principales entre Lua del espacio de usuario y del núcleo: el Lua del núcleo no admite números de punto flotante ; como tal, solo están disponibles los números enteros de Lua. Tampoco tiene soporte completo para las bibliotecas del espacio de usuario que dependen del sistema operativo (por ejemplo, io y os ).

Sensores

NetBSD ha incluido un marco de monitoreo de hardware nativo desde 1999/2000. En 2003, sirvió como inspiración detrás del marco sysctl hw.sensors de OpenBSD cuando algunos controladores NetBSD se estaban trasladando a OpenBSD. [46]

En marzo de 2019 [actualizar], NetBSD contaba con cerca de 85 controladores de dispositivos que exportaban datos a través de la API del marco envsys. Desde la revisión de 2007, la serialización de datos entre el núcleo y el espacio de usuario se realiza a través de listas de propiedades XML con la ayuda de proplib(3) de NetBSD .

Usos

NetBSD se utilizó en el Proyecto SAMS-II de la NASA para medir el entorno de microgravedad en la Estación Espacial Internacional y para investigaciones de TCP para su uso en redes de satélite . [47]

El diseño limpio de NetBSD, su alto rendimiento, su escalabilidad y su compatibilidad con muchas arquitecturas han llevado a su uso en dispositivos y servidores integrados, especialmente en aplicaciones de redes. [48]

Un sistema operativo comercial en tiempo real , QNX , utiliza una pila de red basada en código NetBSD, [49] [50] y proporciona varios controladores portados desde NetBSD. [48]

Dell Force10 utiliza NetBSD como el sistema operativo subyacente que impulsa FTOS (el sistema operativo Force10), que se utiliza en enrutadores/conmutadores de alta escalabilidad. [51] Force10 también hizo una donación a la Fundación NetBSD en 2007 para ayudar a promover la investigación y la comunidad de desarrollo abierto. [52]

Wasabi Systems ofrece un producto comercial Wasabi Certified BSD basado en NetBSD con funciones y extensiones empresariales patentadas, que se centran en aplicaciones integradas, de servidor y de almacenamiento. [53]

NetBSD se utilizó en el Proyecto SAMS-II de la NASA para medir el entorno de microgravedad en la Estación Espacial Internacional , [54] [55] y para investigaciones de TCP para su uso en redes satelitales . [56] [57]

En 2004, SUNET utilizó NetBSD para establecer el récord de velocidad terrestre de Internet2 . Se eligió NetBSD "debido a la escalabilidad del código TCP". [58]

NetBSD también se utiliza en los productos AirPort Extreme y Time Capsule de Apple , [59] [60] en lugar del propio OS X de Apple (cuya mayor parte del código de usuario de nivel Unix se deriva del código FreeBSD pero parte se deriva del código NetBSD [61] [62] ).

El sistema operativo del teléfono inteligente T-Mobile Sidekick LX 2009 se basa en NetBSD. [63]

El sistema operativo Minix utiliza principalmente un entorno de usuario NetBSD, así como su infraestructura de paquetes pkgsrc desde la versión 3.2. [64]

Partes de macOS fueron tomadas originalmente de NetBSD, como algunas herramientas de línea de comandos del espacio de usuario. [65] [66] [67]

Licencias

Todo el núcleo de NetBSD y la mayor parte del código fuente del espacio de usuario principal se publica bajo los términos de la Licencia BSD (variantes de dos, tres y cuatro cláusulas). Esto básicamente permite a todos usar, modificar, redistribuir o vender el código como deseen, siempre que no eliminen el aviso de copyright y el texto de la licencia (las variantes de cuatro cláusulas también incluyen términos relacionados con el material publicitario). De este modo, el desarrollo de productos basados ​​en NetBSD es posible sin tener que hacer públicas las modificaciones del código fuente. Por el contrario, la GPL , que no se aplica a NetBSD, estipula que los cambios en el código fuente de un producto deben publicarse al destinatario del producto cuando se publiquen los productos derivados de esos cambios.

El 20 de junio de 2008, la Fundación NetBSD anunció una transición a la licencia BSD de dos cláusulas, citando preocupaciones con el apoyo de UCB a la cláusula 3 y la aplicabilidad industrial de la cláusula 4. [68]

NetBSD también incluye las herramientas de desarrollo de GNU y otros paquetes, que están cubiertos por la GPL y otras licencias de código abierto. Al igual que con otros proyectos BSD , NetBSD separa aquellos en su árbol de código fuente base para facilitar la eliminación del código que se encuentra bajo licencias más restrictivas. [69] En cuanto a los paquetes, las licencias de software instaladas se pueden controlar modificando la lista de licencias permitidas en el archivo de configuración pkgsrc ( mk.conf).

Lanzamientos

La siguiente tabla enumera las principales versiones de NetBSD y sus características más destacadas en orden cronológico inverso. No se incluyen las versiones menores ni las versiones de parches.

Leyenda:Versión antigua, sin mantenimientoVersión antigua, aún mantenidaVersión estable actualÚltima versión preliminarLanzamiento futuro
Lanzamientos importantesFecha de lanzamientoCaracterísticas y cambios notables
Versión estable actual: 10.0 [70]28 de marzo de 2024
Versión antigua, pero aún mantenida:9.0 [72] [73]14 de febrero de 2020
  • Compatibilidad con máquinas AArch64 (ARMv8-A de 64 bits), incluidas SBSA /SBBR, big.LITTLE , compatibilidad con binarios de 32 bits y hasta 256 CPU
  • Soporte mejorado para ARMv7-A , incluido el gestor de arranque UEFI , big.LITTLE, configuración del modo kernel para Allwinner y otros SoC, y soporte para árbol de dispositivos
  • Direct Rendering Manager (DRM) actualizado a Linux 4.4, compatibilidad con gráficos Intel hasta Kaby Lake inclusive
  • Virtualización acelerada por hardware para QEMU a través de NVMM (NetBSD Virtual Machine Monitor)
  • Mejoras en el firewall NPF , ZFS actualizado , controladores nuevos y rediseñados
  • Compatibilidad con varios nuevos sanitizadores de código de kernel y de espacio de usuario, y ASLR de kernel . Pila de red auditada.
  • Eliminación de varios componentes antiguos y sin mantenimiento, como Intel 386 y soporte ISDN
Versión antigua, ya no se mantiene:8.0 [74]17 de julio de 2018
Versión antigua, ya no se mantiene:7.0 [75] [76]8 de octubre de 2015
Versión antigua, ya no se mantiene:6.0 [77]17 de octubre de 2012
Versión antigua, ya no se mantiene:5.0 [79] [80] [81]29 de abril de 2009
Versión antigua, ya no se mantiene:4.019 de diciembre de 2007
Versión antigua, ya no se mantiene:3.023 de diciembre de 2005
Versión antigua, ya no se mantiene:2.09 de diciembre de 2004
Versión antigua, ya no se mantiene:1.614 de septiembre de 2002
  • Se introdujo Unified Buffer Cache (UBC), que unifica el sistema de archivos y los cachés de memoria virtual de los datos de archivos.
  • Soporte de copia cero para rutas de transmisión TCP y UDP.
  • Se admiten diez nuevas plataformas.
  • Nueva implementación de infraestructura de construcción cruzada ( build.sh ).
  • Se agregó soporte para configuraciones regionales LC_CTYPE multibyte . [86] [87]
Versión antigua, ya no se mantiene:1.56 de diciembre de 2000
Versión antigua, ya no se mantiene:1.412 de mayo de 1999
Versión antigua, ya no se mantiene:1.39 de marzo de 1998
Versión antigua, ya no se mantiene:1.24 de octubre de 1996
Versión antigua, ya no se mantiene:1.126 de noviembre de 1995
  • Se agregaron puertos para los sistemas DEC Alpha , Atari TT / Falcon030 y MVME68k .
  • Se agregó la función de emulación binaria.
  • Se introduce el subsistema de audio genérico. [92]
Versión antigua, ya no se mantiene:1.026 de octubre de 1994
Versión antigua, ya no se mantiene:0.920 de agosto de 1993
  • Contiene muchas mejoras y correcciones de errores.
  • Esta todavía era una versión exclusiva para plataforma de PC , aunque en ese momento ya se estaba trabajando para agregar soporte para otras arquitecturas.
  • Soporte para módulos de kernel cargables (LKM). [94]
Versión antigua, ya no se mantiene:0,820 de abril de 1993
  • El primer lanzamiento oficial, derivado de 386BSD 0.1 más el kit de parches no oficial de la versión 0.2.2, con varios programas de la versión Net/2 que faltaban en 386BSD reintegrados y varias otras mejoras. [95]

El logotipo de la "bandera" de NetBSD, diseñado por Grant Bissett, se introdujo en 2004 y es una abstracción del logotipo anterior, [96] que fue diseñado por Shawn Mueller en 1994. La versión de Mueller se basó en la famosa fotografía de la Segunda Guerra Mundial Izando la bandera en Iwo Jima . [97]

La Fundación NetBSD

La Fundación NetBSD es la entidad legal propietaria de la propiedad intelectual y las marcas comerciales asociadas con NetBSD, [98] y el 22 de enero de 2004 se convirtió en una organización sin fines de lucro exenta de impuestos 501(c)3 . Los miembros de la fundación son desarrolladores que tienen acceso a las confirmaciones de CVS. [99] La Fundación NetBSD tiene una Junta Directiva, elegida por votación de los miembros por dos años. [100]

Hospedaje

El alojamiento del proyecto lo proporcionan principalmente la Universidad de Columbia y la Universidad Western Washington , y está encabezado por una CDN proporcionada por Fastly . Los servidores espejo del proyecto están repartidos por todo el mundo y son proporcionados por voluntarios y simpatizantes del proyecto.

Pautas de confirmación

El proyecto define pautas para realizar commits en su árbol de fuentes CVS . El 4 de abril de 2004 se publicó su primera versión, la 1.1. [101] Las 10 pautas de esta versión se pueden resumir de la siguiente manera: [102] [103]

  1. Confirme únicamente el código con el que esté familiarizado;
  2. No envíe código contaminado al repositorio, es decir, si el código no es suyo, verifique su licencia;
  3. Cuanto más intrusivos sean sus cambios, mayor será el nivel de aprobación previa requerida;
  4. Confirme únicamente el código que haya probado;
  5. Los grupos se comprometen juntos a ser parte de la misma solución;
  6. Cada confirmación debe ser un parche/corrección/adición/etc. independiente;
  7. No mezcle parches de funcionalidad o corrección de errores con actualizaciones de espacios en blanco o diseño;
  8. Documente claramente sus cambios en el registro de confirmaciones;
  9. Dar el crédito correspondiente si su confirmación contiene código;
  10. No revierta las confirmaciones de otros desarrolladores, intente llegar a un acuerdo.

En mayo de 2024, la segunda directriz se amplió para establecer que el código generado por un " modelo de lenguaje grande o tecnología similar" no debe comprometerse sin la aprobación previa por escrito del núcleo. [104] [105]

Véase también

Referencias

  1. ^ "Anuncio de NetBSD 10.0 (28 de marzo de 2024)".
  2. ^ Versiones de ingeniería de lanzamiento diario
  3. ^ Delony, David (17 de agosto de 2021). "NetBSD explicado: el sistema Unix que puede ejecutarse en cualquier cosa". Makeuseof . Consultado el 16 de enero de 2023 .
  4. ^ "Veinte años de Berkeley Unix: de propiedad de AT&T a libre distribución". Códigos abiertos: voces de la revolución del código abierto. O'Reilly Media . Enero de 1999. ISBN 1-56592-582-3.
  5. ^ abc "Acerca de NetBSD" . Consultado el 7 de junio de 2014 . NetBSD es una bifurcación de la rama 386/BSD del sistema operativo Berkeley Software Distribution (o BSD).
  6. ^ "Conozca NetBSD: Un sistema operativo que viaja". ibm.org.
  7. ^ Ganssle, Jack G; Noergaard, Tammy; Eady, Fred; Edwards, Lewin; Katz, David J (14 de septiembre de 2007). Hardware integrado. Newnes. ISBN 978-0-7506-8584-9.págs. 291–292.
  8. ^ "Acerca de NetBSD". The NetBSD Foundation, Inc. Los objetivos del proyecto NetBSD . Consultado el 26 de septiembre de 2023 .
  9. ^ "Lista de características de NetBSD". The NetBSD Foundation, Inc. Archivado desde el original el 6 de agosto de 2011. Consultado el 7 de junio de 2014. NetBSD se centra en un diseño limpio y soluciones bien diseñadas .
  10. ^ Love, Robert (2005). "Capítulo 19". Desarrollo del núcleo de Linux (2.ª ed.). Sams Publishing. ISBN 0-672-32720-1. Consultado el 7 de junio de 2014. Algunos ejemplos de sistemas operativos altamente portables son Minix, NetBSD y muchos sistemas de investigación.
  11. ^ "La historia del proyecto NetBSD". netbsd.org . The NetBSD Foundation . Consultado el 29 de noviembre de 2009 .
  12. ^ "NOTAS DE INSTALACIÓN para NetBSD 0.8". NetBSD . 20 de abril de 1993. Archivado desde el original el 17 de enero de 2020 . Consultado el 20 de octubre de 2020 .
  13. ^ de Chris G. Demetriou (19 de abril de 1993). "¿Entonces dice que quiere una versión provisional de 386bsd?". Grupo de noticias : comp.os.386bsd.announce. Usenet:  [email protected] . Consultado el 12 de mayo de 2010 .
  14. ^ "Información sobre NetBSD 0.8".
  15. ^ "Información sobre NetBSD 1.0".
  16. ^ De Raadt, Theo (29 de marzo de 2009). "Archivo de la conversación por correo que condujo a la marcha de Theo de Raadt" . Consultado el 15 de enero de 2010 .
  17. ^ "Plataformas soportadas por pkgsrc". netbsd.org . The NetBSD Foundation . Consultado el 10 de enero de 2010 .
  18. ^ "Glosario y gráficos de versiones de NetBSD". The NetBSD Project. 13 de enero de 2010. Consultado el 15 de enero de 2010 .
  19. ^ Plura, Michael (26 de octubre de 2020). "NetBSD 9.1 con más ZFS y" nuevo "fenstermanager CTWM". heise en línea (en alemán) . Consultado el 30 de mayo de 2024 .
  20. ^ "Acerca de NetBSD/Dreamcast". Blog de NetBSD . Consultado el 25 de febrero de 2024 .
  21. ^ ab McNeill, Jared (21 de enero de 2024). «NetBSD/evbppc 10.99.10 en la Nintendo Wii». YouTube . Consultado el 25 de febrero de 2024 .
  22. ^ "Portabilidad y plataformas de hardware soportadas". netbsd.org . The NetBSD Foundation . Consultado el 29 de noviembre de 2009 .
  23. ^ "Technologic Systems diseña una tostadora controlada por NetBSD" (nota de prensa). Agosto de 2005. Consultado el 11 de junio de 2007 .
  24. ^ The NetBSD Foundation (10 de enero de 2010). «Capítulo 31. Compilación cruzada de NetBSD con build.sh». The NetBSD Guide . Consultado el 15 de enero de 2010 .
  25. ^ "BSD o Linux: ¿Cuál Unix es mejor para aplicaciones embebidas?" (PDF) . Wasabi Systems Inc. 2003. Archivado desde el original (PDF) el 30 de diciembre de 2006 . Consultado el 11 de junio de 2007 .
  26. ^ Klausner, Thomas (3 de octubre de 2019). "La versión pkgsrc-2019Q3". tech-pkg (Lista de correo).
  27. ^ Dillon, Matthew (31 de agosto de 2005). «PKGSRC será oficialmente compatible a partir de la próxima versión». Usuarios de DragonFly (lista de correo). Archivado desde el original el 20 de enero de 2008. Consultado el 15 de enero de 2010 .
  28. ^ "Notas de la versión de NetBSD 2.0".
  29. ^ "Cambios significativos de NetBSD 4.0 a 5.0". 23 de diciembre de 2009. Consultado el 15 de enero de 2010 .
  30. ^ "Página del manual de seguridad de NetBSD(8)".
  31. ^ "kaut(9)". Páginas del manual de NetBSD . 10 de agosto de 2009 . Consultado el 15 de enero de 2010 .
  32. ^ "Página del manual de NetBSD paxctl(8)".
  33. ^ "Capítulo 19. Subsistema NetBSD Veriexec".
  34. ^ "Capítulo 14. El controlador del dispositivo criptográfico (CGD)".
  35. ^ "boot(8)". Páginas del manual de NetBSD . 4 de septiembre de 2009 . Consultado el 15 de enero de 2010 .
  36. ^ Matthew, Cherry G.; Monné, Roger Pau (agosto de 2012). «(Free and Net) BSD Xen Roadmap» ( Hoja de ruta de Xen para BSD (libre y en red)) . Consultado el 29 de diciembre de 2012 .
  37. ^ "Monitor de máquina virtual NetBSD". m00nbsd.net .
  38. ^ "Re: ¿Cuál es la diferencia entre nvmm-netbsd y kvm-linux?". marc.info .
  39. ^ "El desafío de la virtualización asistida por hardware". Blog de NetBSD .
  40. ^ "Los granos Anykernel y Rump Kernels".
  41. ^ ab "bioctl(8) – Interfaz de administración RAID". Referencia cruzada BSD . NetBSD.
  42. ^ Burge, Simon (2 de marzo de 2008). "Parches para soporte de registro en diario". [email protected] (lista de correo) . Consultado el 15 de enero de 2010 .
  43. ^ Hamsik, Adam (29 de agosto de 2008). "HEADS UP NetBSD lvm support". [email protected] (lista de correo) . Consultado el 15 de enero de 2010 .
  44. ^ "Emulación binaria de NetBSD". 13 de enero de 2010. Consultado el 15 de enero de 2010 .
  45. ^ "Sistemas operativos programables con Lua" (PDF) .
  46. ^ Constantine A. Murenin (21 de mayo de 2010). "6. Evolución del marco de trabajo; 7.1. NetBSD envsys / sysmon". Sensores de hardware OpenBSD: monitoreo ambiental y control de ventiladores ( tesis de maestría ). Universidad de Waterloo : UWSpace. hdl : 10012/5234. ID del documento: ab71498b6b1a60ff817b29d56997a418.
  47. ^ "Investigación realizada con NetBSD". netbsd.org . Consultado el 11 de mayo de 2022 .
  48. ^ ab "Foundry27: Project Networking – Driver wiki page". QNX Software Systems . Consultado el 27 de diciembre de 2011 .
  49. ^ "Guía de términos de licencia de código abierto de terceros". QNX Software Systems . Consultado el 27 de diciembre de 2011 .
  50. ^ "Core Networking 6.4: la pila de redes de próxima generación de Neutrino y Foundry27". QNX Software Systems .(se requiere registro)
  51. ^ "Force10 Networks utiliza NetBSD para incorporar escalabilidad de software en el sistema operativo". Dell (nota de prensa). 13 de febrero de 2007. Archivado desde el original el 15 de noviembre de 2011. Consultado el 27 de diciembre de 2011 .
  52. ^ "Force10 Networks presenta un sistema operativo unificado en toda su cartera de productos para reducir el coste total de propiedad y operación de redes". Dell (nota de prensa). 28 de enero de 2008. Archivado desde el original el 15 de noviembre de 2011. Consultado el 27 de diciembre de 2011 .
  53. ^ "Wasabi Systems" . Consultado el 16 de febrero de 2018 .
  54. ^ Duc, Hiep Nguyen (21 de junio de 2016). "Introducción a NetBSD por Siju Oommen George - BSD MAG". BSD MAG . Consultado el 9 de noviembre de 2017 .
  55. ^ Rivett, Mary (12 de abril de 1997). "Re: NetBSD/i386 y computadoras de placa única". port-i386 (Lista de correo).
  56. ^ Duc, Hiep Nguyen (21 de junio de 2016). "Introducción a NetBSD por Siju Oommen George - BSD MAG". BSD MAG . Consultado el 9 de noviembre de 2017 .
  57. ^ Kruse, Hans; Allman, Mark; Griner, Jim y Tran, Diepchi (5 de marzo de 1998). «Tasas de transferencia de páginas HTTP a través de enlaces satelitales geoestacionarios» (PDF) . Archivado desde el original (PDF) el 20 de julio de 2009. Consultado el 27 de diciembre de 2011 .
  58. ^ Josefsson, Börje (14 de abril de 2004). "Récord de velocidad terrestre de SUNET Internet2: 69,073 Pbmps". SUNET . Consultado el 27 de diciembre de 2011 .
  59. ^ "¿Cómo desbloquear una Time Capsule de Apple?". superuser.com . Consultado el 27 de diciembre de 2009 .
  60. ^ Fleishman, Glenn (16 de febrero de 2007). "AirPort Extreme: Apple rompe los 90 Mbps". wifinetnews.com . Consultado el 28 de diciembre de 2009 .
  61. ^ "Mitos sobre FreeBSD" . Consultado el 7 de junio de 2014 . Los dos sistemas operativos comparten una gran cantidad de código; por ejemplo, la mayoría de las utilidades de espacio de usuario y la biblioteca C en OS X se derivan de versiones de FreeBSD.
  62. ^ "Descripción general de OS X". Apple Inc. 11 de junio de 2012.
  63. ^ "Sidekick LX 2009/Blade ejecutará NetBSD". hiptop3.com . 30 de enero de 2009. Archivado desde el original el 17 de marzo de 2009 . Consultado el 5 de febrero de 2009 .
  64. ^ "Minix obtiene una infusión de código NetBSD". pcworld.com . 29 de febrero de 2012 . Consultado el 4 de julio de 2012 .
  65. ^ "chmod.c". opensource.apple.com .
  66. ^ "du.c". opensource.apple.com .
  67. ^ "mv.c". opensource.apple.com .
  68. ^ "Licencia y redistribución de NetBSD" (nota de prensa). Junio ​​de 2008. Consultado el 20 de junio de 2008 .
  69. ^ "Descripción de la distribución". Sección de licencias: Free Penguin . Consultado el 7 de junio de 2014 . NetBSD separa las que se encuentran en su árbol de código fuente base, para facilitar la eliminación de código con licencias más restrictivas.
  70. ^ "Anuncio de NetBSD 10.0 (28 de marzo de 2024)".
  71. ^ Husemann, Martin (7 de febrero de 2024). «¡NetBSD 10.0 RC4 disponible!». Blog de NetBSD . Consultado el 25 de febrero de 2024 .
  72. ^ "Anuncio de NetBSD 9.0 (14 de febrero de 2020)".
  73. ^ "Blog de NetBSD".
  74. ^ "Anuncio de NetBSD 8.0". NetBSD . 17 de julio de 2017.
  75. ^ "Anuncio de NetBSD 7.0".
  76. ^ DistroWatch Weekly, número 638, 30 de noviembre de 2015
  77. ^ ab "Anuncio de NetBSD 6.0".
  78. ^ "aibs – ASUSTeK AI Booster ACPI ATK0110 sensor de voltaje, temperatura y ventilador".
  79. ^ abc "Anuncio de NetBSD 5.0".
  80. ^ Distribuciones [LWN.net]
  81. ^ DistroWatch Weekly, número 386, 3 de enero de 2011
  82. ^ Sonnenberger, Jörg (19 de enero de 2012). «Estado de NetBSD y LLVM». Archivado desde el original el 9 de abril de 2014. Consultado el 26 de marzo de 2015 .
  83. ^ "Anuncio de NetBSD 4.0".
  84. ^ "Anuncio de NetBSD 3.0".
  85. ^ "Anuncio de NetBSD 2.0".
  86. ^ "Anuncio de NetBSD 1.6".
  87. ^ Revisión del sistema operativo: NetBSD 1.6.2 en SPARC64, OSNews
  88. ^ "Anuncio de NetBSD 1.5".
  89. ^ "Anuncio de lanzamiento de NetBSD 1.4".
  90. ^ "Información sobre NetBSD 1.3".
  91. ^ "Información sobre NetBSD 1.2".
  92. ^ "Información sobre NetBSD 1.1".
  93. ^ "Anuncio del lanzamiento de NetBSD 1.0".
  94. ^ "NetBSD 0.9 disponible para FTP anónimo..."
  95. ^ "Notas de instalación para NetBSD 0.8".
  96. ^ Antiguo logotipo de NetBSD
  97. ^ "Concurso de diseño de logotipos de NetBSD".
  98. ^ La Fundación NetBSD, Inc.
  99. ^ "NetBSD Developers". 7 de enero de 2010. Consultado el 15 de enero de 2010 .
  100. ^ "Estatutos de la Fundación NetBSD, Constitución de la Fundación NetBSD". p. Sección 5.4 . Consultado el 7 de junio de 2014. Cada director ejercerá su cargo durante dos años .
  101. ^ "Registro CVS para las pautas de confirmación". Archivado desde el original el 20 de mayo de 2024.
  102. ^ "Directrices de confirmación de NetBSD v1.3". Archivado desde el original el 6 de mayo de 2004. Consultado el 20 de mayo de 2024 .
  103. ^ "Vista CVS de las pautas de confirmación de NetBSD v1.1" . Consultado el 20 de mayo de 2024 .
  104. ^ Harper, Christopher (18 de mayo de 2024). «Las distribuciones de Linux prohíben el código generado por IA «contaminado»: NetBSD y Gentoo lideran la iniciativa de prohibir el código escrito por IA». Tom's Hardware . Consultado el 20 de mayo de 2024 .
  105. ^ "Directrices de confirmación de NetBSD v1.95". Archivado desde el original el 19 de mayo de 2024. Consultado el 20 de mayo de 2024 .
  • Negus, Christopher; Caen, Francois (abril de 2008). BSD UNIX Toolbox: 1000+ Commands for FreeBSD, OpenBSD and NetBSD (primera edición). Wiley . p. 309. ISBN 978-0-470-38725-2.
  • Lavigne, Dru (24 de mayo de 2004). BSD Hacks (Primera edición). O'Reilly Media . p. 448. ISBN 0-596-00679-9.
  • Sitio web oficial
Obtenido de "https://es.wikipedia.org/w/index.php?title=NetBSD&oldid=1251378917"