Módulo 3: Introducción
Módulo 3: Introducción
Módulo 3: Introducción
SER VIDOR ES
Introducción
3. SER VIDOR ES
Introducción
VIDEO - MÓDULO 3
EaD Kennedy
00:53
El recorrido del módulo será sobre un único capítulo, desarrollando una breve introducción a los
servidores y específicamente al sistema operativo GNU/Linux, los servicios principales y de archivos,
árboles de directorios, administración de memoria, cuentas de usuario y como se entra y sale del
sistema.
Con estos temas podremos tener un conocimiento inicial sobre el mundo de los Servidores basados en
GNU/Linux.
MAPA COMPLETO
Con el siguiente video comenzaremos a introducirnos en los temas que iremos viendo a lo largo del módulo.
04:06
El Futuro Es Apasionante. (2017). Data centers submarinos: la información de Internet, guardada bajo el mar. Recuperado el 3 de
C O NT I NU A R
25
La forma correcta de trabajar con el material brindado es en principio leer los capítulos de la bibliografía
obligatoria y también complementaria. Luego utilizar el material brindado para poder refrescar los
conceptos y poder entenderlos de forma efectiva todos los conceptos desarrollados de la bibliografía.
Muchas veces escuchamos hablar sobre “servidores” pero muy pocas veces sabemos específicamente a
que se refiere.
Un servidor no es nada más y nada menos que una computadora con un sistema operativo. Vale aclarar que
el hardware y sistema operativo que posee, tiene características distintas y más avanzadas que una
computadora hogareña.
Dentro del hardware los servidores tienen al igual que una computadora hogareña disco de
almacenamiento, memoria ram, procesador, fuente de energía, etc. Existen servidores físicos y virtuales.
Los servidores virtuales varían de los físicos, ya que dentro de un servidor físico pueden existir numerosos
servidores virtuales realizando una administración de los recursos del servidor físico.
Dentro del sistema operativo existen los que son hogareños y los que son exclusivos para servidores.
Dentro de los sistemas operativos existen dos grandes grupos que son los de código abierto como
GNU/Linux y los de código cerrado o pagos como Windows o Mac OS.
Los servidores son utilizados por empresas y universidades para ejecutar programas, alojar información y
enviar información, entre sus principales funciones.
Es importante que podamos aplicar los conceptos aprendidos en el módulo. De esta forma podemos
descargar VirtualBox que es una máquina virtual y un sistema operativo Ubuntu que es de la familia de
GNU/Linux para poder seguir ampliando los conocimientos. Vale aclarar que tanto VirtualBox como Ubuntu
son totalmente gratuitos.
08:02
Sistema Geek. (2015). Instalar Ubuntu 14.04 en VirtualBox paso a paso. Recuperado el 1 de febrero de 2019 de YouTube.
C O NT I NU A R
35
Un sistema operativo del tipo UNIX consiste en un núcleo único o también llamado Kernel y algunos otros
programas del tipo de sistema.
El núcleo es el corazón del sistema operativo. Entre las funciones más importantes que tiene podemos
encontrar:
El núcleo proporciona las herramientas básicas con las que se pueden construir los demás servicios.
Esta manera de trabajar el núcleo otorga cierta protección a los usuarios entre sí. Las herramientas del
núcleo se utilizan a través de las llamadas al sistema.
Los programas de sistema se ejecutan “por encima del núcleo”, en lo que se denomina modo usuario. La
diferencia principal existente entre los programas de aplicación y los de sistema, es su finalidad: las
aplicaciones tienen el propósito de realizar tareas útiles a los usuarios, mientras que los programas de
sistema son necesarios para que el sistema funcione (Lars Wirzenius-Joanna Oja-Stephen Stafford & Alex
Weeks,2003).
Dentro del núcleo o Kernel las partes más importantes son las siguientes:
1 Gestor de memoria:
Se encarga de asignar áreas de memoria y de espacio de intercambio a los procesos y partes
del núcleo.
2 Gestor de procesos:
Crea nuevos procesos e implementa la multitarea.
A más bajo nivel, el núcleo contiene un controlador de dispositivo de hardware para cada tipo de hardware
que soporta. Vale la aclaración, existen muchos tipos de hardware diferentes por ende los controladores se
adaptan a ellos y tienen características generales.
Algunos servicios de software provistos por el núcleo tienen propiedades similares, y pueden de esta
manera englobarse dentro de clases (Lars Wirzenius, et al.,2012).
C O NT I NU A R
45
Servicios principales
Init
–
Inite inicia una sesión de Getty por cada terminal que inicio sesión.
Comandos cron y at
–
Cron se encarga con precisión de iniciar comandos, a la fecha y hora adecuada según lo programado.
Redes
–
La mayoría de los servicios básicos como los sistemas de archivos, impresión y copia de seguridad. Son
gestionados a través de la red.
Por cada persona iniciando una sesión por medio de la red existe una conexión de red virtual.
La forma más común de iniciar sesión a través de la red es por medio de los servicios telnet y rlogin.
Uno de los servicios más comunes es el de NFS que permite compartir archivos a través de la red.
Otra manera muy popular de compartir archivos se llama Samba que utiliza un protocolo llamado SMB.
Correo
–
Cada usuario tiene un buzón de correo (posee un archivo con un formato específico) donde se
almacenan los correos.
Impresión
–
Un usuario solo puede utilizar una impresora al mismo tiempo.
Cada impresora tiene colas de impresión donde se acumulan los trabajos enviados por los usuarios.
Un sistema de archivos /home con todos los archivos personales de los usuarios.
Árbol de directorios
Facilitar la administración.
Las partes principales son los sistemas de archivos raíz (/), /usr, /var , y /home. Cada parte tiene un
propósito diferente.
Figura 2. Partes de un árbol de directorios Unix. (Wirzenius-Oja-Stafford-Weeks,2003, p. 15)
El sistema de archivos raíz es específico para cada máquina y tiene los archivos que son
necesarios para comenzar el sistema y dejarlo en un estado en el que se puedan montar los
demás sistemas de archivo.
El sistema de archivos/usr contiene todos los comandos, librerías, páginas de manual, y otros
archivos que no serán modificados durante el funcionamiento normal del sistema.
El sistema de archivos /home contiene los directorios específicos de los usuarios. Ejemplo:
todos los datos reales del sistema (Lars Wirzenius, et al.,2012).
Sistemas de Archivos
Administración de Memoria
Linux tiene la posibilidad de soportar las características de memoria virtual. Esto significa que puede usar
un disco como una extensión de la memoria RAM, de forma tal que el tamaño efectivo de memoria utilizable
crezca considerablemente. La función del Kernel es la de escribir el contenido de un bloque de memoria que
no está siendo utilizado el disco rígido de forma que esta porción de memoria quede libre. Cuando los
bloques originales vuelven a ser requeridos, son leídos y colocados nuevamente en memoria. Esta función
sucede de forma transparente para el usuario.
Los programas ejecutados bajo Linux solo ven una gran cantidad de memoria disponible. Por supuesto que
leer y escribir en el disco es mucho más lento que utilizar la memoria real, puede llegar a ser mil veces más
lento, por lo que los programas se tornan mucho más lento también. La parte del disco que es usado como
memoria virtual se llama área de swap.
Linux puede utilizar un archivo normal en el sistema de archivos como una partición separada del disco
como área de swap. Una partición swap es mucho más rápida, pero es mucho más fácil cambiar el tamaño
del área de swap si este es un archivo (y no hay necesidad de particionar el disco rígido entero, y
posiblemente instalar todo desde cero). Cuando se conoce la cantidad de espacio swap que se necesita, es
más indicado optar por una partición swap.
Vale aclarar que el sistema operativo Linux permite también dentro de sus variedades usar una o varias
particiones de swap y/o archivos de swap al mismo tiempo. Esto quiere decir que, si ocasionalmente se
necesita una cantidad adicional de espacio swap, se puede crear un archivo de swap extra para ese
momento especial, en lugar de mantener una partición con todo ese espacio necesario en forma
permanente (Lars Wirzenius, et al.,2012).
Cuentas de usuarios
Es normal que una computadora sea usada por más de un usuario, usualmente es necesario hacer
diferencias en los perfiles de usuarios. Por ejemplo, para que los archivos privados de un determinado
usuario permanezcan privados, esto quiere decir sin que otros usuarios puedan visualizarlos. Esto es
importante aun si el sistema es usado por una sola persona a la vez, como es con la mayoría de las
computadoras.
El término cuenta se podría definir como todos los archivos, recursos, e información que pertenece a un
usuario.
El núcleo de Linux en sí trata a los usuarios como meros números. Cada usuario es identificado por un único
número entero, el uid (identificación de usuario) esto debido a que un número es más fácil y rápido de
procesarlo que un nombre para un sistema. Una base de datos o tabla asociada a dicho uids, por fuera del
núcleo, asigna un nombre textual, un único nombre de usuario para cada uid.
Para crear un usuario, necesita agregar información sobre el usuario a la base de datos y crear un directorio
"inicio" (directorio principal del usuario) para él. También puede ser necesario educar al usuario, y configurar
un ambiente conveniente para él.
Vale aclarar que cada usuario luego se le van a asignar diferentes privilegios mediante grupos. Varios
usuarios con características y permisos similares pueden conformar un grupo para que los mismos sean
más fáciles de administrar.
La mayoría de las distribuciones de Linux cuentan con programas para crear cuentas. Existen muchos de
La base de datos básica de usuarios en un sistema Unix es un archivo de texto /etc/passwd (llamado el
archivo de contraseñas), que lista todos los nombres de usuarios válidos y su información asociada. El
archivo tiene una línea por usuario, y es dividido de la siguiente forma:
Nombre de usuario.
Respecto a la figura numero 3: La interacción de init, getty, login y el intérprete de comandos.” muestra
cómo se realiza la entrada a través del terminal.
En primer lugar, "init" se asegura que hay un programa "getty" disponible para la conexión del terminal (o
consola).
"getty" escucha el terminal y espera para notificar al usuario que está listo para acceder al sistema
(generalmente eso significa que el usuario debe escribir algo). Cuando se detecta a un usuario,
"getty" escribe un mensaje de bienvenida (almacenado en /etc/issue), pregunta por el nombre de usuario, y
finalmente ejecuta el programa "login".
"login" coge el nombre de usuario como parámetro, y le solicita al usuario su contraseña. Si estos
concuerdan, "login" ejecuta el intérprete de comandos configurado para el usuario; de otra forma
simplemente sale y termina el proceso (quizá después de dar otra oportunidad al usuario para introducir su
nombre de usuario y contraseña). "init" percibe que el proceso ha terminado, y ejecuta un nuevo "getty" para
el terminal (Lars Wirzenius, et.,2012, p. 87).
Bibliografía de referencia
Wirzenius, L.; Oja, J.; Stafford, S.; Weeks, A. y Zurita, R. I. (2003). Guía Para Administradores de
Sistemas GNU/Linux. Version 0.8.
Bibliografía obligatoria
Wirzenius, L.; Oja, J.; Stafford, S.; Weeks, A. y Zurita, R. I. (2003). Guía Para Administradores de
Sistemas GNU/Linux. Version 0.8.
C O NT I NU A R
55