Download Sistemas Operativos. Software Libre
Document related concepts
Transcript
Sistemas Operativos. Software Libre Introducción (I) ● Computadora: sistema electrónico que es capaz de realizar una serie de operaciones sobre unos datos de entrada y producir un conjunto de datos de salida Entrada Salida Programa Introducción (II) ● Componentes de una computadora: Hardware: partes físicas de la máquina. Piezas que podemos tocar Software: parte lógica. Contiene las instrucciones que definen el funcionamiento de la computadora ● Tipos de software: Software de aplicación: programas que indican a la computadora qué hacer para resolver problemas concretos Sistemas operativos: programas que controlan los componentes de la computadora para que los usuarios y las aplicaciones puedan utilizarlos Sistema operativo (I) Software que controla directamente el hardware de la computadora ● Compone una ABSTRACCIÓN del hardware de la computadora, que la hace más fácil de utilizar (por ejemplo, las carpetas) ● Proporciona SERVICIOS a las aplicaciones que se ejecutan en la computadora (acceso a memoria, impresión, acceso a disco, …) ● Favorece la OPTIMIZACIÓN del aprovechamiento de los recursos disponibles ● Hardware Sistema Operativo Aplicaciones Usuario Sistema operativo (II) ● Papel importante en la gestión de la SEGURIDAD del sistema ● Protección de archivos Cuentas de usuario Acceso a recursos por parte de usuarios y programas Hay sistemas operativos para usos específicos, y otros de uso genérico. Se pueden clasificar en base a distintos criterios: Monousuario / multiusuario Monotarea / multitarea Monoproceso / multiproceso De tiempo real (Sí/No) Distribuidos (Sí/No) Evolución de los Sistemas operativos (I) ● Primeras computadoras: ● Dedicadas a un uso concreto Sin sistema operativo Conforme se va añadiendo complejidad y aumentando la capacidad, se hacen necesarias capas de software que permitan a los programadores y los usuarios “olvidarse” de la complejidad de la máquina ● Años 60: primer S.O. suficientemente genérico (OS/360 de IBM) ● 1969: UNIX (multitarea, multiusuario) Evolución de los Sistemas operativos (II) ● ● Años 70 y 80: microordenadores (Spectrum, Commodore, Amstrad, MSX, ...). S.O.s casi exclusivos del modelo 1981: IBM lanza el Personal Computer. Con él, dos hitos: ● Una plataforma de hardware estándar El sistema operativo PC-DOS, desarrollado por Microsoft Al estandarizar el hardware, se facilitó la compatibilidad, y se posibilitó que un solo S.O. sirviera para muchos modelos distintos de computadora 1983: Apple Lisa, primera computadora comercializada cuyo S.O. incluía interfaz gráfica (inspirada en el Xerox Alto). Proyecto GNU Evolución de los Sistemas operativos (III) ● 1984: Apple Macintosh (MacOS). Inicio del desarrollo del S.O. GNU ● 1985: Commodore Amiga (S.O. propio) y Windows 1.0 para PC ● Los microcomputadores fueron desapareciendo a finales de los 80, en beneficio de la plataforma PC ● 1992: primera versión de GNU/Linux. Windows 3.1 ● 1995: Windows 95 ● 1999: MacOS X ● 2001: Windows XP ● 2002: proyecto LinEx ● 2004: Guadalinex v. 1.0 Proyecto GNU. Software Libre (I) ● ● Hasta 1983, todo el software era PRIVATIVO/NO LIBRE 1983: Richard Stallman inicia el proyecto GNU ● Objetivo: desarrollar un S.O. + aplicaciones que cualquiera pueda usar con libertad Libertades del software 0.- Libertad para utilizar el software con cualquier propósito 1.- Libertad para estudiar cómo funciona el programa y poderlo modificar para adaptarlo a las propias necesidades 2.- Libertad para distribuir copias para ayudar al prójimo 3.- Libertad para mejorar el programa y difundir las modificaciones para beneficio de la comunidad “LIBRE” NO QUIERE DECIR “GRATIS” Proyecto GNU. Software Libre (II) ● En 1991, el S.O. GNU no estaba terminado; necesitaba un kernel terminado y estable. En ese año, Linus Torvalds estaba escribiendo su propio S.O.: Linux ● GNU + kernel Linux = GNU/Linux ● 1992: primera versión de GNU/Linux ● Desde entonces, han aparecido cientos de distribuciones GNU/Linux ● Distribución GNU/Linux: sistema GNU/Linux + recopilación de aplicaciones software listas para funcionar sobre él RedHat, openSUSE, Ubuntu, Mandriva, CentOS, Debian, Elementary, Mint, … En España: gnuLinEx, Guadalinex, Asturix, Molinux, Lliurex, ... Software Libre – Software de código abierto ● ● ● ● ● Un movimiento relacionado con el Software Libre es el movimiento Open Source (código abierto), nacido en 1998 Hacer el código fuente disponible para cualquiera, y que cualquiera pueda mejorarlo, venderlo, ejecutarlo... Casi todo el software libre ha sido desarrollado con un modelo Open Source El movimiento Software Libre tiene una vertiente social que no tiene el Open Source Índices de software libre y de código abierto (también para Windows) http://www.freealts.com http://cdlibre.org Ventajas de usar software libre y de código abierto ● ● Mayor seguridad, puesto que se puede auditar el software en cualquier momento (se dispone del código fuente) Mayor número de desarrolladores implica más rapidez en la detección y corrección de errores en el software ● Posibilidad de personalizar el software ● Los virus prácticamente no existen ● ● ● Uso de estándares abiertos para formatos de fichero, lo que permite que a menudo haya más de una opción para trabajar Apoyo de comunidades de usuarios para resolver problemas Mayor control sobre lo que realmente está pasando en la computadora Inconvenientes del software libre y de código abierto ● ● ● ● ● A veces no hay una alternativa para un software privativo Muchos desarrolladores trabajan altruistamente. Pueden dejar proyectos a medias En ocasiones (cada vez menos) se necesitan conocimientos algo avanzados para poder aprovechar al máximo las capacidades del software A veces los esfuerzos se reparten demasiado entre distintos proyectos que pretenden resolver el mismo problema A veces falla la compatibilidad con algún hardware, porque los fabricantes no colaboran con la comunidad de desarrolladores Conceptos sobre Sistemas Operativos (I) ● ● ● ● ● ● Usuario: sujeto que utiliza un sistema informático Grupo de usuarios: usuarios que comparten los mismos privilegios (acceso a recursos) Administrador del sistema / superusuario / root: usuario que tiene control total sobre el sistema Partición de disco duro: división de un disco duro de una computadora Sistema de ficheros: estructura en una partición de disco duro para almacenar los datos Formatear una partición de disco: crear un sistema de ficheros para poder utilizar la partición Conceptos sobre Sistemas Operativos (II) ● Cada Sistema Operativo tiene su sistema de ficheros favorito ● ● ● Windows → NTFS, FAT32 GNU/Linux → EXT4, EXT3, ReiserFS MacOS X → HFS+ GNU/Linux y MacOS son los que más sistemas de ficheros soportan Directorio: agrupación jerárquica de archivos y/o otros directorios. En los S.O.s con interfaces gráficas, se suelen presentar como carpetas Archivo/fichero: bloque de bytes que almacena información para su uso. Pueden ser simplemente datos (ejemplo: un fichero JPG contiene una imagen) o programas (ejemplo: el fichero winword.exe es el Microsoft Word) Conceptos sobre Sistemas Operativos (III) ● Los S.O.s mantienen una serie de permisos sobre cada fichero y directorio: ● ● Ejecución Lectura Escritura Dependiendo del S.O. y del sistema de ficheros, el control sobre los permisos es mayor o menor. También puede haber un propietario y un grupo de usuarios asociado a un fichero Si el sistema de ficheros lo soporta, se pueden definir cuotas de disco (límites de espacio) para usuarios y/o grupos Conceptos sobre Sistemas Operativos (IV) ● ● ● ● Proceso: una ejecución de un programa. En sistemas multitarea, puede haber más de un proceso del mismo programa (ej: dos navegadores web abiertos a la vez) Los S.O.s multitarea proporcionan herramientas para ver qué procesos están en marcha, y así poder parar o priorizar procesos según se necesite Interfaz: medio a través del cual se comunican dos entidades Entre un ordenador y un usuario: textuales, gráficas, sonoras, … Windows y MacOS tienen una sola interfaz gráfica. GNU/Linux tiene muchas posibilidades (GNOME, KDE, LXDE, fvwm, …). Cada una define un aspecto de las ventanas, los botones, el comportamiento ante los clicks de ratón, las aplicaciones de configuración del sistema, … Memoria virtual / swapping: cuando el S.O. se queda sin memoria para los procesos, utiliza parte del disco duro como extensión de la memoria