Administración UNIX: Introducción Antonio LaTorre [email protected] Septiembre 2014 [email protected] Administración UNIX: Introducción 1/1 Sistema Operativo • Pieza de software fundamental de la máquina Usuario • “Imtermediario” entre el hardware y las aplicaciones Aplicación • Proporciona abstracción del hardware Sistema Operativo • Gestiona memoria, procesos, dispositivos de entrada/salida... y arbitra el acceso a recursos [email protected] Hardware Fuente: Wikipedia Administración UNIX: Introducción 2/1 UNIX ¿Qué es UNIX? Sistema operativo • Sistema multitarea y multiusuario desarrollado en los AT&T Bell Labs entre 1969 y 1973 • Ken Thompson, Dennis Ritchie, Brian Kernighan y otros • Originalmente escrito en ensamblador (1969) • Posteriormente recodificado prácticamente en su totalidad en C (1970-73) [email protected] Administración UNIX: Introducción 3/1 UNIX ¿Qué es UNIX? Famı́lia de S.S.O.O. • Marca comercial con la que se conoce al conjunto de SS.OO. que derivan del UNIX original • De manera informal, se utiliza UNIX, “Unix-like”, *nix... para referirse a la familia de sistemas operativos que siguen una filosofı́a común, basada en el UNIX original y sus sucesores [email protected] Administración UNIX: Introducción 4/1 Single UNIX Specification (SUS) • Conjunto de estándares que un S.O. debe cumplir para poder llevar el nombre UNIX (marca comercial) • Trabajo original de IEEE y The Open Group, mantenido en la actualidad por Austin Group • Extensión de POSIX: Portable Operating System Interface for uniX Caracterı́sticas 1 Definiciones fundamentales 2 Shell y utilidades 3 Interfaz del sistema [email protected] Administración UNIX: Introducción 5/1 Single UNIX Specification (SUS) ANSI C (1989) [C89, ISO C 90] POSIX.1 (1988, IEEE) [POSIX 1003.1] POSIX.1b (1993) Realtime POSIX.1c (1995) Threads POSIX.1 (1990, ISO) POSIX.2 (1992) Shell & utilities POSIX.1g (2000) Sockets POSIX.1 (1996, ISO) XNS (4, 5, 5.2) POSIX.1d (1999) Additional realtime extensions POSIX.1j (2000) Advanced realtime extensions ISO C 99 (1999) XPG3 (1989) XPG4 (1992) XPG4v2 (1994) [SUS, UNIX 95, Spec 1170] SUSv2 (1997) [UNIX 98, XPG5] POSIX.1-2001 / SUSv3 (2001, Austin CSRG) [UNIX 03] POSIX.1-2008 / SUSv4 (2008, Austin CSRG) Fuente: Wikipedia [email protected] Administración UNIX: Introducción 6/1 Familia UNIX 1 UNIX originales • Descendientes directos del UNIX de Bell Labs y del UNIX de Berkeley (BSD) • La mayorı́a de los UNIX comerciales 2 UNIX de marca • Aquéllos que cumplen con el estándar SUS • La mayorı́a son derivados comerciales del UNIX System V • Ejemplo más conocido: Mac OS X (variante de BSD) 3 UNIX de facto • Sistemas no certificados SUS, pero que comparten la filosofı́a UNIX en gran medida • Muchos son proyectos de código abierto/libre • El más conocido: Linux (GNU/Linux en su nombre completo) [email protected] Administración UNIX: Introducción 7/1 Familia UNIX 1969 Unics 1971 to 1973 UnixTSS 1 to 4 1974 to 1975 UnixTSS 5 to 6 1969 Open Source PWB/Unix Mixed/Shared Source 1971 to 1973 Closed Source 1974 to 1975 1978 BSD 1.0 to 2.0 1979 1978 UnixTSS 7 1979 Unix 32v 1980 1980 BSD 3.0 to 4.1 1981 Xenix 1.0 to 2.3 1982 BSD 4.2 1983 UnixTSS 8 1985 BSD 4.3 1986 1987 UnixTSS (Time Sharing System) 9 to 10 1988 1989 Sun OS 1.2 to 3.0 1991 NEXTSTEP/ OPENSTEP 1.0 to 4.0 1992 FreeBSD 1.0 to 2.2.x 1994 1995 1997 1983 1984 1985 System V R3 HP/UX 1.0 to 1.2 SCO Xenix V386 HP/UX 2.0 to 3.0 System V R4 BSD 4.4 to 4.4 lite2 2000 2001 to 2004 Minix 3.x Linux 2.0 to 2.6.x FreeBSD 3.3 to 8.0 1988 1991 HP/UX 6 to 11 NetBSD 0.8 to 1.0 NetBSD 1.1 to 1.2 SCO Unix 3.2.4 OpenBSD 1.0 to 2.2 AIX 3.x to 6.x 1992 1993 Unixware 1.x to 2.x OpenServer 5.0 to 5.04 1994 1995 Solaris 2.1 to 10 1996 1997 1998 OpenServer 5.0.5 to 5.0.7 Mac OS X Server Mac OS X 10.0 to 10.6 (Darwin) 1987 1990 NetBSD 1.3 Minix 2.x 1986 1989 Sun OS 4 FreeBSD 3.0 to 3.2 1998 2006 to 2010 SCO Xenix W286 SCO Xenix W386 1996 2005 AIX 1.0 BSD 4.3 Tahoe 386BSD Linux 0.95 to 1.2.x 1993 1982 System V R1 to R2 BSD NET/2 Linux 0.0.1 Minix 1.x 1999 SCO Xenix BSD 4.3 Reno 1990 1981 Xenix 3.0 Sun OS 1 to 1.1 1984 System III NetBSD 1.3 to 5.x Unixware 7.x 1999 OpenBSD 2.3 to 4.x 2000 OpenServer 6.x OpenSolaris 2008.05 and later HP/UX 11i to 11i v3 Administración UNIX: Introducción 2005 2006 to 2010 Fuente: Wikipedia [email protected] 2001 to 2004 8/1 GNU/Linux • Comúnmente conocido simplemente como Linux • GNU es el S.O. (GNU is Not Unix) • Linux es el núcleo (kernel) • De la familia UNIX, pero no certificado • Software libre (mayoritarimente GPLv2) • Comenzó en cı́rculos académicos y de investigación • Fruto de la colaboración desinteresada de numerosos desarrolladores por todo el mundo • En la actualidad es uno de los S.O. mas importantes del mundo, con gran aceptación en los ámbitos académico, personal e industrial [email protected] Administración UNIX: Introducción 9/1 Linux • Sistema operativo de la familia UNIX • Libre • Multiplataforma: Portado a cientos de arquitecturas diferentes • • • • Ordenadores personales (Ubuntu, SuSe...) Sistemas distribuidos (Condor, XtreemOS...) Dispositivos móviles (Android) Sistemas empotrados y de propósito especı́fico (Routers, TVs...) • Superordenadores (92.4 % máquinas top500 junio 2012) • Disponible en multitud de distribuciones [email protected] Administración UNIX: Introducción 10/1 Distribución de Linux • Sistema operativo (Linux) + Aplicaciones • Las distros facilitan la instalación de sistemas Linux, porque incluyen software adicional que muchas veces es necesario • Entornos de escritorio (GNOME, KDE...) • Aplicaciones de ofimática (LibreOffice...) • Herramientas de desarrollo (compiladores, depuradores, IDEs...) • Herramientas avanzadas de administración • El objetivo de una distro es recopilar en una única fuente todo el software que es necesario para desplegar sistemas con requisitos especı́ficos • • • • Ordenadores personales (Ubuntu...) Servidores (OpenSuSe server...) Máquinas de uso especı́fico (AVLinux, Musix...) Multi-propósito (Debian, Gentoo...) [email protected] Administración UNIX: Introducción 11/1 Distribución de Linux • Incluye un mecanismo sencillo para instalar y configurar el software que proporciona • Paquetes pre-compilados: Debian (deb), Fedora (rpm), Ubuntu (deb)... • Compilación local: Gentoo • Suele incorporar aplicaciones de alto nivel que facilitan la administración Para las prácticas usaremos Debian 7.0 (Wheezy) [email protected] Administración UNIX: Introducción 12/1