multiverso Unix Master oficial en Software Libre Miguel Vidal http://gsyc.urjc.es/~mvidal Twitter: @mvidallopez 1 de diciembre de 2011 1 / 49 Miguel Vidal El multiverso Unix
2011 Miguel Vidal This work is licensed under a Creative Commons Attribution 3.0 License http://creativecommons.org/licenses/by/3.0 2 / 49 Miguel Vidal El multiverso Unix
e es Unix La marca Unix Clases de Unix Unix y Berkeley ´ Indice 1 Qu´ e es Unix Qu´ e es Unix La marca Unix Clases de Unix Unix y Berkeley 2 Variantes de Unix Variantes de Unix Universos de Unix 3 Unix libres Los BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X 4 / 49 Miguel Vidal El multiverso Unix
e es Unix La marca Unix Clases de Unix Unix y Berkeley ¿Qu´ e es Unix? (1) Sistema operativo multitarea y multiusuario. Muy portable (C). No hay un solo Unix, sino numerosas ramas. Probablemente cientos de variantes a lo largo de m´ as de 40 a˜ nos de historia. 5 / 49 Miguel Vidal El multiverso Unix
e es Unix La marca Unix Clases de Unix Unix y Berkeley ¿Qu´ e es Unix? (y 2) Se desarrolla al tiempo que Internet y es la base de la tecnolog´ ıa internet (TCP/IP). Los Unices comparten una estructura com´ un, compatibilidad binaria (ELF), POSIX shell, servicios y utilidades como awk, echo, ed, vi y muchas otras. 6 / 49 Miguel Vidal El multiverso Unix
e es Unix La marca Unix Clases de Unix Unix y Berkeley ´ Indice 1 Qu´ e es Unix Qu´ e es Unix La marca Unix Clases de Unix Unix y Berkeley 2 Variantes de Unix Variantes de Unix Universos de Unix 3 Unix libres Los BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X 7 / 49 Miguel Vidal El multiverso Unix
e es Unix La marca Unix Clases de Unix Unix y Berkeley UNIXTM: La marca Unix (1) Oficialmente UNIXTM es una marca registrada, desde 1996 controlada por el consorcio neutral Open Group. Formado por m´ as de 300 organizaciones, entre ellas grandes corporaciones (Oracle, HP, IBM, Fujitsu...) El Open Group concede el uso de la marca a quienes cumplen con la Single UNIX Specification (SUS). El certificado no requiere el c´ odigo fuente, por lo que pueden no tener c´ odigo en com´ un ni ser derivados del Unix original. 8 / 49 Miguel Vidal El multiverso Unix
e es Unix La marca Unix Clases de Unix Unix y Berkeley La marca Unix (2) Para los modelos de desarrollo libres, la especificaci´ on es demasiado cara e insostenible. GNU: GNU’s Not Unix. Unix-like (“tipo Unix”), “*nix” o “Un*x”: SOs que no cumplen la especificaci´ on, para sortear el problema del uso de la marca (aunque no gusta a sus propietarios). FreeBSD tiene una certificaci´ on “C99” (ISO 9899:1999) conforme POSIX, que cumple en gran parte con SUS. Linux usa una especificaci´ on LSB (Linux Standard Base), muy pr´ oximo a POSIX y que m´ as o menos siguen todas las distribuciones. 9 / 49 Miguel Vidal El multiverso Unix
e es Unix La marca Unix Clases de Unix Unix y Berkeley La marca Unix (y 3) El uso de la marca cuesta dinero y solo los Unixes comerciales (y privativos) tienen la certificaci´ on: AIX, HP-UX, SCO, Solaris, Mac OS X, IRIX... Comparten POSIX shell, servicios y utilidades como awk, echo, ed, vi y muchas otras. No tienen por qu´ e proceder del Unix original. 10 / 49 Miguel Vidal El multiverso Unix
e es Unix La marca Unix Clases de Unix Unix y Berkeley ´ Indice 1 Qu´ e es Unix Qu´ e es Unix La marca Unix Clases de Unix Unix y Berkeley 2 Variantes de Unix Variantes de Unix Universos de Unix 3 Unix libres Los BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X 11 / 49 Miguel Vidal El multiverso Unix
e es Unix La marca Unix Clases de Unix Unix y Berkeley Clases de Unix Clasificaci´ on propuesta por Eric Raymond: Unix gen´ etico: descendientes del c´ odigo Unix original de AT&T (muchos Unix comerciales y los actuales BSD). Unix de marca: los que tienen la especificaci´ on SUS (Solaris, AIX, HP-UX, MacOS X...). Solo estos pueden usar legalmente el nombre UNIXTM. Unix funcional: los que se acercan a la especificaci´ on POSIX o se comportan de forma consistente como Unix (como Linux o Minix), pero no poseen la marca ni descienden del c´ odigo del Unix original. 12 / 49 Miguel Vidal El multiverso Unix
e es Unix La marca Unix Clases de Unix Unix y Berkeley ¿Multiverso Unix? Universo: nombre con el que tradicionalmente se conocen las variantes y entornos de Unix. Multiverso: t´ ermino usado por los f´ ısicos para definir los m´ ultiples universos posibles. http://en.wikipedia.org/wiki/Universe_(Unix) 13 / 49 Miguel Vidal El multiverso Unix
e es Unix La marca Unix Clases de Unix Unix y Berkeley ´ Indice 1 Qu´ e es Unix Qu´ e es Unix La marca Unix Clases de Unix Unix y Berkeley 2 Variantes de Unix Variantes de Unix Universos de Unix 3 Unix libres Los BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X 14 / 49 Miguel Vidal El multiverso Unix
e es Unix La marca Unix Clases de Unix Unix y Berkeley Unix y Berkeley CSRG (Computer Systems Research Group) de Berkeley: Importancia de compartir fuentes (cultura Unix “original”). Limitado por la licencia AT&T (poco desde el punto de vista pr´ actico, todos la ten´ ıan). Financiado por DARPA (DoD). Utilizado por mucho software privativo (SunOS, Ultrix, etc.) Primera Internet: Implementaciones de referencia, disponibles para todos: la base de los est´ andares actuales y servicios actuales. La Red como herramienta de cooperaci´ on (news, ftp, e-mail). La comunidad de usuarios proporciona el mejor soporte. 15 / 49 Miguel Vidal El multiverso Unix
e es Unix La marca Unix Clases de Unix Unix y Berkeley CSRG de Berkeley libera BSD Unix CSRG de Berkeley: Liberaron la parte de UNIX (implementaci´ on de TCP/IP) que desarrollaron ellos, no AT&T (Net/1, 1989) Reescribieron el c´ odigo del UNIX original que no era suyo y liberaron el c´ odigo (Net/2, 1991). Los hermanos Jolitz portan el c´ odigo a i386 como 386BSD, liberado por Internet con licencia BSD. R´ apidamente: sistemas completos, similares a SunOS en funcionalidad. Importancia de X Window (MIT): cientos de individuos de decenas de empresas colaborando. 17 / 49 Miguel Vidal El multiverso Unix
e es Unix La marca Unix Clases de Unix Unix y Berkeley La herencia de BSD Desde la distribuci´ on de 386BSD el desarrollo es r´ apido y se consigue un sistema estable. Las distribuciones NetBSD, FreeBSD y OpenBSD surgen a partir de la adaptaci´ on original de 386BSD, basada en 4.4 BSD-Lite del Computer Systems Research Group (CSRG). Tambi´ en el actual MacOS X es en gran parte un derivado de aquel c´ odigo (FreeBSD). Mezcla de bazar y catedral, en paralelo al desarrollo de Linux. 18 / 49 Miguel Vidal El multiverso Unix
de Unix Universos de Unix ´ Indice 1 Qu´ e es Unix Qu´ e es Unix La marca Unix Clases de Unix Unix y Berkeley 2 Variantes de Unix Variantes de Unix Universos de Unix 3 Unix libres Los BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X 20 / 49 Miguel Vidal El multiverso Unix
de Unix Universos de Unix Variantes de Unix (2) Algunos sistemas manten´ ıan las dos versiones en paralelo (con comandos, directorios, p´ aginas man y librer´ ıas distintos). A estas variantes se les llamaba “universos”. Esta divisi´ on era problem´ atica a la hora de portar aplicaciones y mantener los sistemas. Cada universo fue adoptando lo mejor del otro. En 1988, se produce una fusi´ on entre ambas: System R4. Hoy d´ ıa quedan reminiscencias en algunos sistemas, que tienen un directorio separado con los comandos estilo BSD o System V. 22 / 49 Miguel Vidal El multiverso Unix
de Unix Universos de Unix ´ Indice 1 Qu´ e es Unix Qu´ e es Unix La marca Unix Clases de Unix Unix y Berkeley 2 Variantes de Unix Variantes de Unix Universos de Unix 3 Unix libres Los BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X 23 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X ´ Indice 1 Qu´ e es Unix Qu´ e es Unix La marca Unix Clases de Unix Unix y Berkeley 2 Variantes de Unix Variantes de Unix Universos de Unix 3 Unix libres Los BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X 28 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Unixes libres: los BSD Todos derivan del BSD Unix original. Principales proyectos: FreeBSD (1993) NetBSD (1993) OpenBSD: fork de NetBSD (1995) DragonFly BSD (2004) PC-BSD Cada uno tiene, a su vez, numerosas variantes. 29 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Unixes libres: los BSD Todos derivan del BSD Unix original. Principales proyectos: FreeBSD (1993) NetBSD (1993) OpenBSD: fork de NetBSD (1995) DragonFly BSD (2004) PC-BSD Cada uno tiene, a su vez, numerosas variantes. Lista de SOs basados en BSD: http://en.wikipedia.org/wiki/List_of_BSD_operating_systems 29 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Unixes libres: FreeBSD Es el BSD m´ as popular. R´ apido y optimizado para plataformas i386/amd64. R´ apida incorporaci´ on de mejoras. Buenas versiones de escritorio. Su kernel incorpora un sistema de virtualizaci´ on ligera muy apreciado: las jails Ha portado el sistema de ficheros ZFS de OpenSolaris. 30 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Unixes libres: OpenBSD (1) Se concentra en la correcci´ on, seguridad proactiva, portabilidad (17 arquitecturas) y libertad. C´ odigo del sistema base auditado, caracter´ ısticas de seguridad y criptograf´ ıa integradas. PF: el mejor firewall OpenSSH: la mejor shell segura. No intenta estar a la ´ ultima, prioriza la sencillez y la estabilidad. 31 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Unixes libres: OpenBSD (y 2) Comunidad preocupada por la libertad del software: no NDAs, no blobs, la licencia m´ as permisiva de todas (ISC). La calidad de su documentaci´ on es legendaria. Introdujo el uso de CVS y el registro de commits, luego adoptado por todas las comunidades de software libre. Ha logrado que muchos fabricantes de tarjetas de red liberen especificaciones de sus drivers. 32 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Unixes libres: NetBSD Orientado a la portabilidad: se propone funcionar en tantas arquitecturas de hardware como sea posible. Como todos los BSD actuales, deriva del BSD-lite del CSGR de Berkeley. Es el antecesor de OpenBSD. 33 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Unixes libres: DragonFly BSD Derivado de FreeBSD 4.8 (2003). Orientado a la gesti´ on de concurrencia y SMP. H´ ıbrido entre kernel monol´ ıtico y microkernel. Inspirado en ideas de AmigaOS. 34 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X ´ Indice 1 Qu´ e es Unix Qu´ e es Unix La marca Unix Clases de Unix Unix y Berkeley 2 Variantes de Unix Variantes de Unix Universos de Unix 3 Unix libres Los BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X 35 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Ventajas de OpenSolaris/illumos Service Manager Facility (SMF): sistema de gesti´ on de servicios que reemplaza a los scripts init.d (SVR4). ZFS (Zettabyte File System): sistema de ficheros nativo de OpenSolaris que provee administraci´ on simplificada, cifrado transparente, vol´ umenes l´ ogicos, snapshots y copy-on-write, chequeo de integridad, RAID-Z, NAS/SAN y una escalabilidad inmensa. Bajo licencia CDDL, por tanto no compatible con Linux (hay workarounds). DTrace: Herramienta de instrumentaci´ on para depurar problemas y errores en el SO y sus aplicaciones en producci´ on y en tiempo real, sin apenas impacto. 36 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Ventajas de OpenSolaris/illumos (2/2) Solaris Containers (aka Zonas): virtualizaci´ on ligera. Entornos aislados con una sola instancia del SO. Equivalente a las jails de FreeBSD. LDOMs: Paravirtualizaci´ on para arquitectura Sparc (estilo Xen, pero con las ventajas del soporte multi-hilo de las CPUs Sparc). Crossbow: virtualizaci´ on de redes y recursos para virtualizar el stack completo y las NICs alrededor de cualquier servicio KVM: sistema de virtualizaci´ on completa (hardware) portado del kernel Linux. 37 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Unixes libres: derivados de OpenSolaris Principales proyectos: OpenSolaris: c´ odigo base del privativo Solaris 11. illumos: fork libre del c´ odigo de OpenSolaris. Nexenta OS: distro basada en illumos y Ubuntu para servidores (GNU userland). OpenIndiana: distro basada en illumos. SmartOS: distro basada en illumos para servidores. 38 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Derivados de OpenSolaris: SmartOS Distribuci´ on para servidores basada en illumos. Patrocinada por Joyent. Han portado KVM (virtualizaci´ on de Linux) al kernel de illumos (Solaris). 39 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Derivados de OpenSolaris: OpenIndiana Distribuci´ on para escritorio. Auspiciada por la Fundaci´ on illumos. Hereda el sistema de paquetes (IPS) y el esp´ ıritu de OpenIndiana de Sun (sencillo instalador, Gnome, etc.). Tambi´ en hay versi´ on para servidor. 40 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X ´ Indice 1 Qu´ e es Unix Qu´ e es Unix La marca Unix Clases de Unix Unix y Berkeley 2 Variantes de Unix Variantes de Unix Universos de Unix 3 Unix libres Los BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X 41 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Unixes libres: Linux (1) Linux es un kernel escrito desde cero. Es un clon, no un derivado de Unix: pero Dennis Ritchie lo considera un “Unix de facto”. El proyecto lo inicia Linus Torvalds en 1991, y just for fun Incorpora aspectos de las variantes System V y BSD. Contiene mucho software con origen BSD. 42 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Unixes libres: Linux (2) Modelo bazar: desde que liber´ o la primera versi´ on (0.01) se van uniendo cientos de desarrolladores en un esquema innovador (release early, release often). Se adopta la licencia GPLv2. Marzo 1994: versi´ on 1.0 43 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Unixes libres: Linux (y 3) Debian y derivados: Ubuntu, Knoppix Red Hat y derivados: RHEL, CentOS, Fedora Gentoo y derivados: Sabayon Ubuntu y derivados: Xubuntu, Kubuntu, Edubuntu, gnewSense, Chrome OS, distros regionales (Guadalinex, LliureX)... Mandriva, SuSE, Slackware... 44 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Unixes libres: Linux (y 3) Debian y derivados: Ubuntu, Knoppix Red Hat y derivados: RHEL, CentOS, Fedora Gentoo y derivados: Sabayon Ubuntu y derivados: Xubuntu, Kubuntu, Edubuntu, gnewSense, Chrome OS, distros regionales (Guadalinex, LliureX)... Mandriva, SuSE, Slackware... Lista de distribuciones Linux: http://en.wikipedia.org/wiki/List_of_Linux_distributions 44 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Promiscuidad de los Unixes libres Mezclas de proyectos y c´ odigo solo posible con el software libre: Debian kFreeBSD (kernel FreeBSD en Debian) FreeBSD + ZFS Gentoo/*BSD: userland GNU manejado por Portage (el ´ arbol de paquetes) con un kernel {Net,Free,Open}BSD. Nexenta: Kernel Solaris y userland estilo Ubuntu/Debian (paquetes deb, dpkg y apt). SmartOS: KVM + illumos. 45 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X ´ Indice 1 Qu´ e es Unix Qu´ e es Unix La marca Unix Clases de Unix Unix y Berkeley 2 Variantes de Unix Variantes de Unix Universos de Unix 3 Unix libres Los BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X 46 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X El caso de MacOS X En 1997, Apple Computer refunda su sistema operativo a partir de NeXTSTEP. NeXTSTEP es un SO privativo desarrollado por NeXT a finales de los 80 y primeros 90. El n´ ucleo del SO est´ a basado en BSD y en el kernel Mach: pas´ o a llamarse Darwin despu´ es de que Apple lo adquiriera. Darwin es casi todo software libre (Apple Public Source License), pero Mac OS X NO lo es. Darwin y Mac OS X son el sistema Unix m´ as usado en el mercado de los sistemas de escritorio. 47 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X Referencias Marshall Kirk McKusick, “Twenty Years of Berkeley Unix”, en Open Sources: Voices from the Open Source Revolution, O’Reilly, 1999. http://oreilly.com/ openbook/opensources/book/kirkmck.html 48 / 49 Miguel Vidal El multiverso Unix
BSD OpenSolaris/illumos y derivados Linux El caso de MacOS X El multiverso Unix Master oficial en Software Libre Miguel Vidal http://gsyc.urjc.es/~mvidal Twitter: @mvidallopez 1 de diciembre de 2011 49 / 49 Miguel Vidal El multiverso Unix