TEORÍA DE LINUX
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.
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.
Linus se basa sobre Unix
Se basa con una característica: este sistema operativo sería Software Libre. Esto significa que una ves que el usuario compra un CD o bien lo descarga gratuitamente desde Internet, es libre de redistribuirlo y modificarlo a su antojo, siempre que, como lo indica la Licencia Pública General GNU - acrónimo de "GNU is Not Unix", del modo que ha dispuesto la Free Software Foundation, se incluya el código fuente. Esto también incluye derecho a poder instalar Linux en cualquier número de ordenadores o equipos de cómputo que el usuario desee.
1.3 DISEÑO DE UNIX
Arquitectura del Sistema UNIX/LINUX
En esta figura muestra tres niveles: usuario, Kernel y hardware. Las llamadas al sistema y las librerías representan entre los programas de usuario y el Kernel. 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. Los programas en lenguaje ensamblador deben invocar a las llamadas al sistema directamente sin las librerías de las llamadas al sistema.
Las llamadas interactúan con el subsistema de archivos y con el subsistema de control de procesos. El subsistema de archivos controla los archivos, asigna espacio a los archivos, administra el espacio libre, controla el acceso a los archivos, etc. Los procesos interactúan con el subsistema de archivos mediante un especifico conjunto de 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 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.
El subsistema de procesos es el responsable de la sincronización de los procesos, la comunicación entre procesos, administración de memoria principal y la planificación de procesos. Tanto el subsistema de archivos y el subsistema de procesos interactúan cuando se carga un archivo en memoria para su ejecución.
El módulo de administración de memoria controla la asignación de memoria. 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 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.
Finalmente, el control de hardware es el responsable de las interrupciones y de las comunicaciones con la máquina. Los dispositivos como los discos o terminales pueden interrumpir a la CPU mientras un proceso se está ejecutando. Así, el Kernel debe restablecer la ejecución del proceso interrumpido después de servir a la interrupción.
1.4 ¿QUÉ ES EL PROYECTO GNU?
El proyecto GNU, fué iniciado por Richard Stallman y fue lanzado en 1984, con el objetivo de crear un sistema operativo libre completo tipo UNIX, el sistema GNU.
Las variantes del sistema operativo GNU que utilizan el núcleo llamado Linux, son utilizadas ampliamente en la actualidad; aunque a menudo estos sistemas se refieren como “Linux”, 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.
1.5 ¿QUÉ ES UNA DISTRIBUCIÓN GNU/Linux?
1.6 EL ÁRBOL DE DIRECTORIOS o SISTEMA DE ARCHIVOS DE GNU/Linux
Nuestra distribución GNU/Linux tiene muchos directorios, cuyos nombres probablemente no nos resulten familiares. Estos directorios están organizados en forma de árbol y todos ellos parten del directorio raíz (/).
En GNU/Linux, todo tiene su reflejo en algún archivo o en algún directorio del sistema de archivos.
Desde el punto de vista del usuario, en GNU/Linux existen dos tipos de directorios: los directorios del sistema y el directorio del usuario.
Dicho de una manera muy sencilla, un sistema de archivos es más o menos "la forma de escribir los datos en el disco duro". Es importante conocer ésta estructura para la correcta administración del sistema y la resolución de problemas.
A continuación se muestra la estructura de los directorios mas importantes dentro de un sistema operativo GNU/Linux:
1. / Raíz del Sistema.
2. /bin Es la abreviación de "binaries", o ejecutable. Es donde residen la mayoria de los programas esenciales del sistema.
3. /etc Contiene una serie de ficheros de configuración del sistema GNU/LINUX.
4.
Una distribución Linux o GNU/Linux, es un conjunto de aplicaciones reunidas en torno al núcleo del sistema, que permiten brindar mejoras para instalar fácilmente un sistema Linux o GNU/Linux. Son “sabores” de Linux que en general, se destacan por las herramientas para configuración y sistemas de paquetes de software a instalar.
También existen micro-distribuciones que pueden almacenarse en uno o dos disquetes. Entre las distribuciones mas conocidas pueden citarse a:
También existen micro-distribuciones que pueden almacenarse en uno o dos disquetes. Entre las distribuciones mas conocidas pueden citarse a:
1.6 EL ÁRBOL DE DIRECTORIOS o SISTEMA DE ARCHIVOS DE GNU/Linux
Nuestra distribución GNU/Linux tiene muchos directorios, cuyos nombres probablemente no nos resulten familiares. Estos directorios están organizados en forma de árbol y todos ellos parten del directorio raíz (/).
En GNU/Linux, todo tiene su reflejo en algún archivo o en algún directorio del sistema de archivos.
Desde el punto de vista del usuario, en GNU/Linux existen dos tipos de directorios: los directorios del sistema y el directorio del usuario.
Dicho de una manera muy sencilla, un sistema de archivos es más o menos "la forma de escribir los datos en el disco duro". Es importante conocer ésta estructura para la correcta administración del sistema y la resolución de problemas.
A continuación se muestra la estructura de los directorios mas importantes dentro de un sistema operativo GNU/Linux:
1. / Raíz del Sistema.
2. /bin Es la abreviación de "binaries", o ejecutable. Es donde residen la mayoria de los programas esenciales del sistema.
3. /etc Contiene una serie de ficheros de configuración del sistema GNU/LINUX.
4.
No hay comentarios.:
Publicar un comentario