TEORÍA DE LINUX

BIENVENIDOS A UN MUNDO LIBRE En este Blog está enfocado a personas que desean estar en el mundo de Linux, donde Linux es un sistema operativo para programadores y no programadores. Para iniciar, empiezo por algunos conceptos teóricos, que nos ayuden a entender de qué estamos hablando y sobre todo, intentar entender un poco la estructura de éste sistema operativo

1.1 ¿QUÉ ES LINUX? Linux es el núcleo del sistema operativo libre mas popular y constituye la base del sistema operativo Linux (también llamado GNU/Linux), que ha comenzado a competir con sistemas operativos no libres como Unix y Windows. El sistema operativo GNU/Linx es un sistema que se basa en Unix, es multiusuario y multitarea, el núcleo de Linux fue desarrollado por un estudiante finlandés de informática, Linus Torlvalds de la Universidad de Helsinki en Finlandia, y que publicó su código fuente en 1990. Componentes de Linux: Linux se puede dividir generalmente en cuatro componentes principales: el núcleo(kernel), el shell, el sistema de archivos y las utilidades. ● El núcleo: es el programa medular que ejecuta programas y gestiona dispositivos de hardware tales como los discos y las impresoras ● El shell: proporciona una interfaz para el usuario. Recibe órdenes del usuario y las envía al núcleo para ser ejecutadas. ● El sistema de archivos: organiza la forma en que se almacenan los archivos en dispositivos de almacenamiento, tales como los discos. Los archivos están organizados en directorios. Cada directorio puede contener un número cualquiera de subdirectorios, cada uno de los cuales puede a su vez, contener otros archivos. 1.2 ¿QUÉ ES UNIX? Es un núcleo de un Sistema Operativo de tiempo compartido: un programa que controla los recursos de una computadoras y los asigna entre los usuarios. Permite a los usuarios ejecutar sus programas; controla los dispositivos periféricos (discos, terminales y otros) conectados a la máquina. Unix no sólo abarca el núcleo, sino que incluye también programas esenciales, entre ellos: compiladores, editores, programas para copiado, etc.

El subsistema de archivos controla los archivos. Esto significa que una ves que el usuario compra un CD o bien lo descarga gratuitamente desde Internet. Los procesos interactúan con el subsistema de archivos mediante un especifico conjunto de llamadas al sistema. Diagrama de Bloques del Kernel del Sistema En esta figura muestra tres niveles: usuario. En particular. administra el espacio libre. etc. Las llamadas interactúan con el subsistema de archivos y con el subsistema de control de procesos. es libre de redistribuirlo y modificarlo a su antojo. Las llamadas al sistema y las librerías representan entre los programas de usuario y el Kernel. Esto también incluye derecho a poder instalar Linux en cualquier número de ordenadores o equipos de cómputo que el usuario desee. del modo que ha dispuesto la Free Software Foundation. siempre que. se muestra el subsistema de archivos en la parte izquierda y el subsistemas de control de procesos en la parte derecha. Las llamadas al sistema son parecidas a las funciones en los programas en C y las librerías trabforman estas funciones a la primitivas necesarias para entrar en el sistema operativo.3 DISEÑO DE UNIX Arquitectura del Sistema UNIX/LINUX Los conceptos centrales en el modelo del sistema UNIX son los archivos y los procesos. . los dos mayores componentes del Kernel. se incluya el código fuente.Linus se basa sobre Unix Se basa con una característica: este sistema operativo sería Software Libre. controla el acceso a los archivos.acrónimo de "GNU is Not Unix". Kernel y hardware. asigna espacio a los archivos. mostrando varios módulos y las relaciones entre ellos. En la siguiente figura muestro un diagrama de bloques del kernel. como lo indica la Licencia Pública General GNU . 1. Los programas en lenguaje ensamblador deben invocar a las llamadas al sistema directamente sin las librerías de las llamadas al sistema.

El subsistema de archivos accede a los archivos de datos usando un mecanismo de búffer que regula el flujo de datos entre el Kernel y los dispositivos de almacenamiento secundario. el sistema GNU. fué iniciado por Richard Stallman y fue lanzado en 1984. Entre las distribuciones mas conocidas pueden citarse a: . 1. es un conjunto de aplicaciones reunidas en torno al núcleo del sistema. se destacan por las herramientas para configuración y sistemas de paquetes de software a instalar. El módulo de administración de memoria controla la asignación de memoria. El módulo de planificador o sheduler asigna la CPU a los procesos. Planifica los procesos para ser ejecutados por turno hasta que voluntariamente liberen la CPU mientras esperan un recurso o hasta que el Kernel los saca cuando su tiempo de ejecución supera el tiempo cuantum.4 ¿QUÉ ES EL PROYECTO GNU? El proyecto GNU. son utilizadas ampliamente en la actualidad. el Kernel debe restablecer la ejecución del proceso interrumpido después de servir a la interrupción. Son “sabores” de Linux que en general. También existen micro-distribuciones que pueden almacenarse en uno o dos disquetes.5 ¿QUÉ ES UNA DISTRIBUCIÓN GNU/Linux? Una distribución Linux o GNU/Linux. Las variantes del sistema operativo GNU que utilizan el núcleo llamado Linux. la comunicación entre procesos. El mecanismo de búffer interactúa con los controladores de dispositivos de E/S de tipo de bloque para iniciar las transferencia de datos desde y hacia el Kernel. Así. con el objetivo de crear un sistema operativo libre completo tipo UNIX. Finalmente. administración de memoria principal y la planificación de procesos. aunque a menudo estos sistemas se refieren como “Linux”. Los dispositivos como los discos o terminales pueden interrumpir a la CPU mientras un proceso se está ejecutando. que permiten brindar mejoras para instalar fácilmente un sistema Linux o GNU/Linux. el control de hardware es el responsable de las interrupciones y de las comunicaciones con la máquina. 1. Si en algún momento no hay suficiente memoria física para todos los procesos. el Kernel los mueve entre la memoria principal y la secundaria. El subsistema de procesos es el responsable de la sincronización de los procesos. la manera correcta de llamarlos es sistemas GNU/Linux GNU es un acrónimo recursivo para "GNU No es Unix" y se pronuncia fonéticamente en español. Tanto el subsistema de archivos y el subsistema de procesos interactúan cuando se carga un archivo en memoria para su ejecución.

SuSE Linux Debian/GNU Linux UBUNTU .

todo tiene su reflejo en algún archivo o en algún directorio del sistema de archivos. en GNU/Linux existen dos tipos de directorios: los directorios del sistema y el directorio del usuario. o ejecutable. Es importante conocer ésta estructura para la correcta administración del sistema y la resolución de problemas. Es donde residen la mayoria de los . / Raíz del Sistema.KUBUNTU FEDORA 1. un sistema de archivos es más o menos "la forma de escribir los datos en el disco duro". 2. Desde el punto de vista del usuario.6 EL ÁRBOL DE DIRECTORIOS o SISTEMA DE ARCHIVOS DE GNU/Linux Nuestra distribución GNU/Linux tiene muchos directorios. Estos directorios están organizados en forma de árbol y todos ellos parten del directorio raíz (/). En GNU/Linux. cuyos nombres probablemente no nos resulten familiares. A continuación se muestra la estructura de los directorios mas importantes dentro de un sistema operativo GNU/Linux: 1. Dicho de una manera muy sencilla. /bin Es la abreviación de "binaries".

4. . /etc Contiene una serie de ficheros de configuración del sistema GNU/LINUX. 3.programas esenciales del sistema.