Arquitectura SISTEMA OPERATIVO GNU/LINUX
Profesor: Ing. Luis Eduardo Sepúlveda Rodríguez . M.Sc
Arquitectura por capas
Arquitectura por capas
Hardware
Arquitectura por capas
Kernel ¿Qué es el Kernel? ◦ Núcleo de un sistema operativo.
Funciones más importantes: ◦ Administración de la memoria ◦ Administración de los procesos ◦ Control de acceso a los periféricos
Kernel Linux es el kernel desarrollado por Linus Torvalds. El desarrollo del Kernel Linux ha sido posible gracias a la colaboraci贸n de millones de programadores en todo el mundo ha evolucionado.
Kernel Linux es monolítico Latecnología microkernel que se consideraba más apropiada para ese tipo de productos. Los controladores de los dispositivos pueden ser configurados como módulos .
Kernel Linux ha sido criticado por no tener controladores para toda los posibles componentes de hardware. El aumento significativo en cantidad de usuarios y desarrolladores, sumado al interĂŠs de los fabricantes ha permitido mejorar notablemente el soporte de hardware.
Arquitectura por capas
Sistema de archivos Todo sistema operativo necesita almacenar una gran cantidad de archivos: ◦ ◦ ◦ ◦ ◦ ◦
Archivos de configuración del sistema Archivos log Archivos de los usuarios Aplicaciones Controladores ...
Sistema de archivos Un sistema de archivos es el programa que se encarga de realizar las operaciones relacionadas con el almacenamiento y manipulaci贸n de los archivos. Linux puede funcionar con diferentes sistemas de archivos. Por lo general utiliza ext2, ext3, ext4, reiserFS, etc.
Sistema de archivos La evoluci贸n de los sistemas de archivos ha permitido mayor eficiencia, as铆 como en procesos de recuperaci贸n.
Sistema de archivos En Unix todo es un archivo. Cuando se va a utilizar un dispositivo de almacenamiento, se debe asociar con (montar en) un directorio existente.
Sistema de archivos A diferencia de Windows, la estructura lógica del sistema de archivos carece del concepto de unidades que se identifican con letras y están asociadas a un dispositivo de almacenamiento o una partición en el disco. Cada disco físico o lógico ocupa un lugar en el árbol de directorios del sistema de archivos.
Sistema de archivos La estructura de archivos y directorios (carpetas) de Linux es similar a la de los sistemas UNIX.
Sistema de archivos En Linux, así como en UNIX, el símbolo que se utiliza para separar los directorios es /, a diferencia de Windows que es \. Linux diferencia las letras mayúsculas de las letras minúsculas, como sucede en el lenguaje de programación Java.
Sistema de archivos Los nombres de los archivos no necesitan una extensi贸n para identificar de qu茅 se trata La longitud del nombre de un archivo puede ser lo suficientemente extensa para poder utilizar nombres significativos que ayuden a identificar el contenido.
Sistema de archivos En lo posible, debe evitar el uso de ciertos símbolos como el espacio en blanco, ñ, á, é, í, ó, ú, ', `, ´, los cuales a pesar de ser aceptados por algunos sistemas operativos, pueden ocasionar dificultades asociadas con la compatibilidad. Otros símbolos como @, *, /, ?, >, <, |, tienen un significado especial en el sistema GNU/Linux y no pueden ser utilizados como nombres de archivo.
Directorios del sistema /
Es el directorio raíz.
/etc
Contiene los archivos de configuración de la mayoría de los programas.
/home
Contiene los archivos personales de los usuarios.
/bin
Contiene los comandos básicos y otros programas.
/dev
Contiene archivos que representan los dispositivos.
Directorios del sistema /tmp
Contiene archivos temporales.
/usr
Contiene programas y librerías instalados con la distribución.
/usr/local
Contiene programas y librerías instalados por el administrador.
/sbin
Contiene comandos administrativos.
/lib
Contiene librerías varias y módulos del kernel.
Directorios del sistema /var
/boot /root
Contiene archivos log, bases de datos, contenidos del servidor Web, copias de seguridad. Contiene archivos necesarios para el arranque del sistema, asĂ como el kernel. Contiene archivos del administrador del sistema.
Arquitectura por capas
Intérprete de órdenes – Shell Es el programa que lee e interpreta las órdenes que teclea el usuario. Los transmite al sistema y muestra el resultado. Cuando el shell está listo para recibir órdenes del usuario, presenta un indicador llamado prompt.
Intérprete de órdenes – Shell El shell es una interfase para acceder a los comandos. Existen varios intérpretes de órdenes:
l
sh
l
tcsh
l
bash
l
ksh
l
csh
l
zsh
l
...
Intérprete de órdenes – Shell Por lo general, los usuarios utilizan el bash shell, aunque cada uno puede elegir el que desee y tenerlo predeterminado para que se lance automáticamente al iniciar una sesión.
Intérprete de órdenes – Shell El shell es considerado un lenguaje de programación, debido a que ofrece manejo de variables, estructuras de control y repetición que le permiten al administrador del sistema automatizar procesos que faciliten su trabajo o aumentar la productividad.
Arquitectura por capas
Sistema de ventanas GNU/Linux puede ser manejado en modo texto a través de comandos o en forma gráfica mediante el uso del ratón. El sistema de ventanas es una aplicación que ofrece las funciones básicas (primitivas) para el manejo de ventanas como maximizar, minimizar, cambiar el tamaño, cambiar la posición, etc.
X Window Es una arquitectura de ventanas que permite disponer de un entorno grรกfico a las estaciones de trabajo. X Window es independiente de la plataforma y puede ser instalada en cualquier sistema tipo UNIX.
X Window X Window funciona como una aplicación cliente – servidor. La arquitectura cliente – servidor de X Window da flexibilidad de ubicación y de sistema operativo.
X Window El servidor recoge los eventos que producen los dispositivos de entrada como teclado y rat贸n, procesa los eventos y env铆a al cliente las instrucciones para que muestre los resultados en el dispositivo de salida (la pantalla) independiente de su apariencia.
Arquitectura por capas
Gestor de ventanas Es un servidor especial de X Window que se encarga de administrar las ventanas. Las aplicaciones son independientes del gestor de ventanas, por lo que puede haber variedad para elegir.
Gestor de ventanas Ofrece unas APIs para facilitar la interacci贸n de las aplicaciones con el sistema de ventanas.
Arquitectura por capas
Entornos de escritorio Son ambientes integrados de aplicaciones de escritorio y herramientas de administraci贸n del sistema. Los entornos de escritorio m谩s populares son KDE (the K Desktop Environment) y GNOME (GNU Object Model Environment).
Entornos de escritorio Son la vista que se ofrece al usuario final. Estรกn pensados para acercarse a usuarios no expertos. No son un producto terminado, estรกn en continua evoluciรณn.
KDE Es un proyecto de desarrollo de software libre para la creaci贸n de entornos de escritorio amigables para diversos sistemas operativos. Similar a los escritorios de Windows.
KDE En su mayorĂa, el nombre de las aplicaciones de KDE inicia con K como Konkeror, un navegador Web y de archivos; Kopete, un programa cliente para mensajerĂa instantĂĄnea; Konsole, un emulador de terminal, etc.
KDE
KDE
GNOME Es un sistema de escritorio intuitivo y atractivo. Fรกcil de entender para el usuario final. Proporciona ademรกs un entorno de desarrollo para crear nuevas aplicaciones. Nautilus es la aplicaciรณn para explorar los archivos.
GNOME
GNOME
KDE vs GNOME ÂżCuĂĄl escoger? Depende del gusto del usuario. Una frase famosa: KDE es como la ciudad, GNOME es como el campo. KDE es completamente configurable, mientras GNOME es muy agradable y sencillo.
COMPIZ Es un proyecto que aprovecha las características de las tarjetas aceleradoras gráficas para hacer más vistosa la presentación que ve el usuario.
COMPIZ