TEORÍA LINUX I
Ejercicio a desarrollar. Hasta 5 puntos
Explica qué son, cómo funcionan y qué elementos conforman los niveles de ejecución de un sistema operativo Linux
Los niveles de ejecución son las diferentes formas de iniciarse que tiene un sistema operativo de la familia UNIX/Linux en cuanto a los servicios que ofrecerá a los usuarios. Existen seis diferentes niveles de ejecución que, en general (y también en OpenSuSE) se corresponden con las siguientes funciones
- Nivel 0 Nivel de parada hardware.
- Nivel 1 Nivel monousuario sin red ni entorno gráfico (mantenimiento.)
- Nivel 2 Nivel multiusuario local, sin red ni entorno gráfico.
- Nivel 3 Nivel multiusuario con red y sin entorno gráfico.
- Nivel 4 Sin uso
- Nivel 5 Nivel multiusuario, con red y con entorno gráfico.
- Nivel 6 Reinicio del sistema
También existe un llamado «Nivel S» en el que se guardan los scripts que deben ejecutarse durante el arranque, antes incluso que los del nivel 1.
Su funcionamiento es el siguiente:
El proceso /sbin/init lee en el archivo de configuración /etc/inittab el nivel de arranque por defecto (en una línea similar a id:x:inittdefault donde x es el nivel por defecto.)
Después procede a ejecutar secuencialmente los scripts de inicio de cada uno de los niveles desde el 1 hasta el configurado en /etc/inittab. En el caso de parada del sistema (o de descenso de nivel) el proceso es similar; /sbin/init procede a recorrer los niveles secuencialmente desde el nivel actual hasta el nivel cero ejecutando los scripts de parada.
Los scripts que son ejecutados en cada uno de los niveles (o unos enlaces simbólicos a los mismos) se guardan en /etc/rc.d. En este directorio existen una serie de subdirectorios llamados rcX.d, donde X=número del nivel. En cada uno de los subdirectorios están los scripts tanto de parada como de arranque de demonios del nivel correspondiente.
El nombre de cada uno de estos scripts comienza por unos dígitos; le sigue una S o una K mayúscula; y a continuación el nombre propiamente dicho del script. Los dígitos se emplean para indicar la secuencia de arranque (o de parada); la S se pone en los scripts que se han de ejecutar para lanzar un determinado demonio en ese nivel; mientras que la K indica que el script se emplea para detener un demonio en el nivel correspondiente.
Explica qué es, las características básicas y qué elementos conforman el sistema de archivos de un sistema operativo Linux
El sistema de archivos de cualquier sistema operativo es la forma en que dicho sistema almacena la información en la memoria permanente. Esta forma determinará a su vez el modo de acceso para leer o modificar esa información.En Linux/UNIX consta de cuatro partes:
- El Bloque de Carga: Este bloque, que es el primero de cada sistema (bloque cero), está reservado para un programa que gestiona el resto del sistema de archivos.
- El Súper Bloque: Es el bloque uno del dispositivo. Este bloque contiene información sobre el sistema de archivos: su tamaño en bloques, el nombre del sistema de archivos, número de bloques reservados para i-nodos, la lista de i-nodos libres y el comienzo de la cadena de bloques libres.
- La tabla de i-nodos: Es semejante a la FAT de Microsoft. Está a continuación del súper bloque y contiene información sobre las características de los archivos. Hay un i-nodo por cada archivo (y directorio) del sistema de archivos; contiene una descripción del directorio o archivo, así como el lugar físico que ocupan sus bloques de datos.
- El área de datos: El resto del espacio del dispositivo se reserva para los bloques de datos. Bloques de datos que contienen los datos actualmente almacenados en los archivos.
La estructura de directorios de la mayoría de distribuciones Linux cumplen con el Estándar de Jerarquía de Sistemas de Archivos que asigna el uso de los directorios principales que deberían existir en cualquier distribución Linux.
Los nombres de archivos en Linux (como en todos los UNIX) distinguen mayúsculas de minúsculas, esto es, son «case sensitive». Los archivos no tienen por qué tener una extensión; si la tienen es a modo orientativo, pero no es en absoluto necesario. Linux sabe qué contiene cada archivo independientemente de cuál sea su extensión. Los ficheros y directorios ocultos en Linux comienzan su nombre por un punto (.) Los nombres de archivos o directorios pueden contener hasta 256 caracteres, prácticamente todos excepto * ? { } [ ] ( ) / $ > < el espacio, tabulador o tecla de retroceso. Los recomendables son las letras mayúsculas y minúsculas, los números, el punto, el guión (-) y el guión bajo (_). Los acentos y la ñ tampoco se recomiendan.
Existen varios tipos de ficheros en un sistema Linux:
- Ficheros convencionales o regulares: Son meros almacenes de información, pueden ser de texto, imágenes, binarios (ejecutables), etc.
- Directorios: No son más que una tabla con números de i-nodos y nombres de ficheros que contienen.
- Ficheros especiales. Pueden ser dispositivo (tipo carácter o bloque) o tuberías (también llamadas pipes). El manejo de estos ficheros depende del dispositivo en particular.
- Enlaces blandos y duros. Los enlaces blandos (symbolic links) son ficheros que contienen un puntero a otro fichero que podría perfectamente estar en un sistema de ficheros distinto. Los enlaces duros (hard links) son en realidad un único fichero que puede ser visto con distintos nombres dentro de un mismo sistema de ficheros.