ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Introduccion A Linux


Enviado por   •  25 de Junio de 2014  •  2.923 Palabras (12 Páginas)  •  143 Visitas

Página 1 de 12

Introducción a Linux

Arquitectura

Introducción a Linux/Arquitectura

Introducción

La arquitectura interna de Linux es compleja pero se puede resumir las partes importantes de forma breve y fácil de entender.

Procesos

Linux se organiza en procesos, que son tareas independientes que se ejecutan de forma simultánea mientras el sistema está en funcionamiento. Los procesos cuelgan unos de otros en una dependencia padre/hijo. Inicialmente al arrancar el sistema sólo existe un proceso, llamado init. Init lee los ficheros de configuración de arranque presentes en el directorio /etc y va creando procesos hijos. Estos a su vez tendrán sus propios hijos formando un árbol de descendientes. Los procesos en ejecución se encuentran alojados en la memoria rápida RAM del sistema. Cuando se habla de ejecutar o lanzar o arrancar un proceso, nos estámos refiriendo al proceso de leer un fichero almacenado en el disco duro que contiene las instrucciones del programa, colocando las mismas en la memoria RAM y a continuación empezando a ejecutar las instrucciones del programa ya en RAM.

Usuarios

Linux está diseñado para ser utilizado por varios usuarios simultáneamente. Aun cuando el sistema sólo vaya a ser utilizado por un único usuario, como es el caso corriente hoy en día, en general internamente Linux utilizará varios usuarios 'robots' para organizar mejor y de forma más segura el sistema. Linux siempre tiene un superusuario llamado 'root' ('raíz' traducido). En el siguiente párrafo se explica el por qué crea varios usuarios en vez de uno único.

Cada uno de los procesos pertenece a un usuario y en función del usuario asociado, dicho proceso tendrá unos permisos u otros. Un proceso en ejecución puede cambiar su usuario asociado si tiene los permisos suficientes para hacerlo. En general sólo tendrá permisos para cambiar de usuario cuando el usuario actual asociado al proceso sea 'root'. El proceso inicial Init se ejecuta con el usuario asociado 'root' lo cual le confiere permisos totales sobre la máquina. En general cuando Init ejecute sus procesos hijos lo hará asociandolos a usuarios distintos cuyos permisos se reduzcan a los esenciales para ejecutar la tarea para la cual están diseñado. P.ej, Init puede arrancar un proceso 'servidor de correo' asociado al usuario 'mail'. Este usuario tendrá los permisos justos y necesarios para poder enviar y recibir correo y almacenarlo en el directorio /var/spool/mail. El proceso 'servicio de correo' puede a su vez arrancar procesos hijos pero estos estarán automáticamente asociados a su usuario 'mail', nunca a 'root'. Este simple sistema de permisos provee a Linux de un sistema de seguridad muy sólido.

El entorno gráfico estándar de Linux es un proceso más llamado X. Cuando se arrancan las X todos los programas gráficos (que son a su vez procesos) colgarán de él y se ejecutarán por normal general con los permisos del usuario que se ha logeado con su nombre y password al inicio de la sesión. Las aplicaciones que solemos manejar frecuentemente como el navegador web o el reproductor de video no son más que procesos hijo del proceso X. Si ejecutamos por ejemplo un cliente de correo con un agujero de seguridad y descargamos un correo con virus, dicho virus 'engañará' al cliente de correo para que lo ejecute y entonces tendremos un nuevo proceso 'virus' colgando del cliente de correo y asociado al usuario que inició la sesión. Sin embargo puesto que este usuario no tiene permisos de administración el virus no podrá modificar ficheros claves del sistema, sólamente los ficheros propios del usuario. Al reiniciar el ordenador el virus habrá desaparecido. Esto complica enormemente la creación de virus para Linux. El entorno gráfico X es un proceso más, sin ningún privilegio sobre cualquier otro. Esto significa que podemos prescindir del mismo si no nos hace falta. En general, cuando Linux se utiliza como servidor de Internet es normal no iniciar el entorno gráfico ya que consume mucha memoria y puede ralentizar el sistema. Este ha hecho que Linux se popularice y desplaze a Windows en el entorno profesionales ya que por ejemplo permite contratar servicios de hospedaje virtual a precios mucho más reducidos que sus equivalentes en Windows. También al no depender de un entorno gráfico, puede administrarse remotamente de forma mucho más cómoda mediante líneas de comandos, mientras que Windows requiere transmitir el entorno gráfico a través de Internet (mucho más lento, costoso e inseguro).

Ficheros

Los procesos acceden al hardware y a otros recursos como la conexión de red a internet o los datos almacenados en disco a través de un sistema de ficheros. Todas las entradas y salidas de datos desde/hacia procesos se realiza a través de ficheros. P.ej, para acceder a la tarjeta gráfica de vídeo lo hará leyendo y escribiendo en:

/dev/video/card0

^ ^ ^

│ │ └── Tarjeta 0 (podría haber más de una tarjeta de video en el sistema)

│ │

│ └── Subdirectorio/carpeta video

└── Abreviatura de device (dispositivo)

Mientras que para acceder a un documento de texto almacenado en su disco duro lo hará accediento a una ruta similar a:

/home/usuario1/documento1.odf

^ ^ ^

│ │ └── Documento que queremos leer/editar.

│ │

│ └── Subdirectorio/carpeta usuario1 (puede haber muchos usuarios)

└── Directorio reservado para los ficheros de los usuarios finales

En general un mismo proceso puede acceder simultáneamente a varios ficheros y a su vez un mismo fichero puede ser accedido simultáneamente por varios procesos como se vé en

...

Descargar como (para miembros actualizados)  txt (14.8 Kb)  
Leer 11 páginas más »
Disponible sólo en Clubensayos.com