Download Diplomado en Software Libre
Document related concepts
Transcript
Diplomado en Software Libre Universidad Simón Bolívar Decanato de Extensión Módulo: 1. Introducción al Software Libre Curso: 1.2. Introducción a GNU/Linux (10 horas) Prof. Kenyer Domínguez - kdoming@usb.ve Departamento de Procesos y Sistemas Laboratorio de Investigación Diplomado en Sistemas de Información www.lisi.usb.ve en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Kenyer Domínguez Universidad Simón Bolívar www.usb.ve Curso: 1.2. Introducción a GNU/Linux (10 horas) Email: kdoming@usb.ve CONTENIDO Sesión 1 (2 horas) ✔ Actividad Grupal Sesión 2 (3 horas) ✔ Un poco de historia ✔ Ventajas de GNU/Linux ✔ Estructura de GNU/Linux ✔ Sistema de archivos Sesión 3 (3 horas) ✔ Exposiciones Sesión 4 (2 horas) ✔ QUIZ Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez SESIÓN 1 Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez 20 minutos A nivel grupal: Piense, escriba y comparta. Análisis de Artículos sobre el Proyecto GNU - Anuncio Inicial del Proyecto GNU - Linux y el Proyecto GNU - La comunidad del software libre 20 años después - Evitando compromisos ruinosos (25 aniversario) - Vendiendo Software Libre Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez SESIÓN 2 Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez ¿Qué es un Sistema Operativo? Es un software de bajo nivel que gestiona las interfaces con el hardware, planifica tareas, y reserva espacio de almacenamiento. Un sistema operativo está conformado por dos partes principales: el núcleo y los programas del sistema. - El núcleo gestiona los recursos de la máquina, incluida memoria, espacio en disco y los ciclos del CPU para el resto de los programas. - Los programas del sistema realizan tareas de alto nivel de gestión del equipo. Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez Un poco de historia La tradición del Software Libre data de los días en que UNIX fue presentado en las universidades con coste nominal. Esta tradición murió el día en que UNIX fue comercializado y los fabricantes cerraron el código. Como cada fabricante utilizó UNIX para su propia arquitectura, se convirtió en menos portable y poco útil para propósitos de enseñanza y experimentación. A raiz de esto sugió MINIX. MINIX es un clon del sistema operativo UNIX distribuido junto con su código fuente y desarrollado por el profesor Andrew S. Tanenbaum en 1987. Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez Un poco de historia El núcleo de Linux fue desarrollado por el estudiante finlandés Linus Torvalds quien usó Internet para hacer disponible al resto del mundo el código fuente. Torvalds lanzó la versión 0.01 de Linux en Septiembre de 2001 en Helsinki. Esto fue al principio un emulador terminal, al cual Torvalds solía tener acceso en los grandes servidores UNIX de la universidad. Él escribió el programa expresamente para el hardware que usaba, e independiente de un sistema operativo, porque quiso usar las funciones de su nueva computadora personal con un procesador 80386. Este es aún el estándar de hoy. El sistema operativo que él usó durante el desarrollo fue MINIX, y el compilador inicial fue el GNU C compilador, que aún es la opción principal para compilar Linux hoy Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez ¿Qué es GNU/Linux? GNU/Linux es uno de los términos empleados para referirse al sistema operativo libre similar a Unix que utiliza el núcleo Linux y herramientas de sistema GNU. Su desarrollo es uno de los ejemplos más prominentes de software libre; todo el código fuente puede ser utilizado, modificado y redistribuido libremente por cualquiera bajo los términos de la GPL (Licencia Pública General de GNU) y otras licencias libres. A pesar de que Linux sólo es el núcleo de este sistema operativo una parte significativa de la comunidad, así como muchos medios generales y especializados, prefieren utilizar dicho término. Las variantes de este sistema se denominan distribuciones y su objetivo es ofrecer una edición que cumpla con las necesidades de determinado grupo de usuarios. Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez ¿Cuáles son las ventajas de GNU/Linux? APLICACIONES: Una amplia selección de aplicaciones se encuentra disponible para Linux, tanto gratuitas como comerciales, así como una amplia variedad de herramientas: gráficas, de procesamiento de texto, de red, de seguridad, de administración, servidores Web y muchos otros. Las grandes compañías de software se han percatado recientemente del beneficio de dar soporte a Linux y tienen sus propios programadores cuyo trabajo es diseñar el código del núcleo de Linux o aplicaciones que se ejecutan bajo entornos Gnome o KDE. Linux se desarrolla cada vez más siguiendo los estándares POSIX (Portable Operating System Interface; la X viene de UNIX - Interfaz para Sistemas Operativos migrables basados en UNIX ) lo que garantiza la portabilidad y compatibilidad entre los sistemas. Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez ¿Cuáles son las ventajas de GNU/Linux? PLATAFORMAS Y PERIFÉRICOS: A diferencia de Microsoft Windows, Linux puede ser instalado en casi cualquier plataforma sin altos requerimientos de hardware. Debian por ejemplo garantiza que su versión estable incluye soporte para 12 plataformas, incluyendo aquellas con multiprocesador. Linux permite utilizar un amplio rango de periféricos para los que tiene soporte. La cantidad de periféricos aumenta cada día sin embargo desafortunadamente ciertos periféricos, en concreto, algunas tarjetas gráficas privativas y ciertos sistemas para teléfonos celulares no tienen soporte porque los fabricantes no proporcionan la especificación o el código fuente de los controladores. Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez ¿Cuáles son las ventajas de GNU/Linux? VIRUS: En Linux no hay virus... ¡Falso! Un virus básicamente lo que hace es modificar y/o eliminar archivos, y en algunos casos reproducirse. Si bien es cierto que existen virus y antivirus para Linux, también es cierto que con las medidas de seguridad básicas casi ninguna distribución de Linux permite lectura y modificación de archivos sensibles a usuarios distintos de root, incluso, casi siempre por defecto los archivos creados por los usuarios pueden ser modificados sólo por sus dueños a menos que se diga lo contrario. Además por el mismo hecho de tener acceso al código fuente, un programa malicioso en teoría pudiera ser detectado fácilmente por la comunidad. Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez ¿Cuáles son las ventajas de GNU/Linux? Eficiencia y Efectividad: Linux es multitarea y multiusuario: Esta característica imprescindible está en Unix desde su concepción pero le llevó a Microsoft más de 20 años ofrecerlo en su sistema operativo de consumo. Multiplataforma, multiusuario, multitarea, multiprocesador y virtualización. El manejo de la memoria de Linux evita que los errores de las aplicaciones detengan el núcleo de Linux Linux ya no está restringido a personas con grandes conocimientos de informática: Los desarrolladores de Linux han hecho un gran esfuerzo por dotar al sistema de asistentes de configuración y ayuda, además de un sistema gráfico muy potente. Distribuciones Linux como Red Hat/Fedora tienen aplicaciones de configuración similares a las de Windows Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez ¿Cuál es la estructura de GNU/Linux? Compiladores Utilidades GNU DBMS Utilidades no GNU Aplicaciones Sistema X-Window Herramientas Entorno Gráfico Sistema de archivos Shell Kernel de Linux Hardware Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Archivos Kenyer Domínguez ¿Cuál es la estructura de GNU/Linux? http://www.makelinux.net/kernel_map_intro KERNEL / NÚCLEO: Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez ¿Cuál es la estructura de GNU/Linux? KERNEL / NÚCLEO: El Kernel de Linux está escrito en el lenguaje de programación C, en la variante utilizada por el compilador GCC (que ha introducido un número de extensiones y cambios al C estándar), junto a unas pequeñas secciones de código escritas con el lenguaje Ensamblador. Por el uso de sus extensiones al lenguaje, GCC fue durante mucho tiempo el único compilador capaz de construir correctamente Linux. Sin embargo, Intel afirmó haber modificado su compilador C de forma de poder compilarlo correctamente. Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez ¿Cuál es la estructura de GNU/Linux? KERNEL / NÚCLEO: La versión del núcleo Linux actualmente consta de cuatro números. A.B.C.D ej.: 2.6.24.24 * El número A denota la versión del núcleo. Es el que cambia con menor frecuencia y solo lo hace cuando se produce un gran cambio en el código o en el concepto del núcleo. Históricamente sólo ha sido modificado dos veces: en 1994 (versión 1.0) y en 1996 (versión 2.0). * El número B denota la subversión del núcleo. Antes de la serie de Linux 2.6.x, los números pares indicaban la versión “estable” lanzada. Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez ¿Cuál es la estructura de GNU/Linux? KERNEL / NÚCLEO: * El número C indica una revisión mayor en el núcleo. En la forma anterior de versiones con tres números, esto fue cambiado cuando se implementaron en el núcleo los parches de seguridad, bug-fixes, nuevas características o drivers. Con la nueva política, sólo es cambiado cuando se introducen nuevos drivers o características; cambios menores se reflejan en el número D. * Bug-fixes y parches de seguridad son actualmente manejados por el cuarto número dejando los cambios mayores para el número C. Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez ¿Cuál es la estructura de GNU/Linux? SHELL Y ENTORNO GRÁFICO: El shell proporciona una interfaz entre el núcleo y el usuario. Se puede describir como un intérprete: interpreta las órdenes que introduce el usuario y las envía al núcleo. La interfaz del shell es muy sencilla. Normalmente consiste en un inductor desde el que se teclea una orden y después se pulsa enter. En cierta forma, se está tecleando una orden en una línea. A menudo, esta línea se conoce como la línea de comandos. Como una alternativa a la interfaz de la línea de órdenes, Linux proporciona una interfaz gráfica de usuario (GUI) llamada X-Window, que cuenta con varios administradores de ventanas que puede utilizar. Un administrador de ventana trabaja de forma muy parecida a los GUI de Windows y del Mac, posee ventanas iconos y menús, todos ellos gestionados por medio del ratón Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez ¿Qué es una herramienta? Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez ¿Qué es una herramienta de software? Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez ¿Cuál es la estructura de GNU/Linux? SISTEMA DE ARCHIVOS: El sistema de archivos UNIX está caracterizado por: Una estructura jerárquica. Un tratamiento consistente de la información de los archivos. Protección de los archivos. Este estándar del sistema de archivos Linux sigue el mismo principio básico que la mayoría de los sistemas de archivos UNIX siguen. Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez ¿Cuál es la estructura de GNU/Linux? SISTEMA DE ARCHIVOS: El Directorio Raíz por defecto bin Binarios de comandos escenciales boot Archivos estáticos de cargador de arranque (boot-loader) dev Archivos de dispositivos etc Configuración del sistema local-máquina home Directorios home de los usuarios lib Librerías compartidas mnt Punto de montaje de particiones temporales root Directorio hogar del usuario root sbin Binarios del sistema esenciales tmp Archivos temporales usr Segunda jerarquía mayor var Información variable Más detalles sobre el estándar: http://lucas.hispalinux.es/Estandares/fsstnd12.html Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez Repasemos lo aprendido ¿Qué es un Sistema Operativo? POSIX MINIX DBMS Ventajas de Linux Capas de Linux Shell GUI Eficiencia vs efectividad ¿Qué significan los números A.B.C.D del Kernel de Linux? Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez SESIÓN 3 Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez EXPOSICIONES - Controversia por la denominación GNU/Linux - Pautas para distribuciones de Sistemas 100% Libres - Mitos y Realidades: Linux y los virus - Licencia Pública General (GPL) v.3 30 minutos cada una más 15 minutos de preguntas y respuestas Diplomado en Software Libre Módulo: 1. Introducción al Software Libre Profesor: Curso: Email: kdoming@usb.ve 1.2. Introducción a GNU/Linux (10 horas) Kenyer Domínguez