Está en la página 1de 15

Universidad Mariano Gálvez De Guatemala

Facultad De Ingeniería En Sistemas


Sede Chiquimulilla Santa Rosa
Ingeniero Josué David Cojom Guarcas
Sistemas Operativos II

Medios De Almacenamiento Temporarios En Linux.

1790-19-13011 Lester Josué Garcia Valladares

15 De Abril De 2022
Introducción
Como bien sabemos, Linux es uno de los sistemas operativos mas robustos que existen
actualmente y que viene en distintos sabores, pues bien, en este documento nos
enfocaremos en los buffers y Spooling pues bien ambos son medios de almacenamiento
que manejan información temporalmente, un ejemplo claro de ellos es los buffers que
existen en la memoria RAM de nuestro ordenador, debido a que esta solo se encarga de
procesar temporalmente algún programa en ejecución. Así mismo desarrollaremos el tema
con respecto a los sistemas de archivos virtuales en Linux, para que sirven y que tipo de
información es el que manejan.
Buffering de datos.

Buffering:

En la rama informática definimos la palabra buffer como la región de un determinado


medio de almacenamiento que está diseñada para manejar temporalmente la información
mientras se transfiere entre ordenadores. El objetivo principal de esta operación es reducir
las diferentes velocidades de procesamiento de las dos unidades.

Generalmente, el buffer reside en la memoria central (RAM) que, al poder garantizar una
velocidad de ejecución superior a la de un disco duro magnético, asegurará tiempos de
respuesta mucho más eficientes. Si queremos entrar en los detalles, el buffering se gestiona
mediante los siguientes algoritmos FIFO («El primero en entrar, el primero en salir»).
Esto garantizará el uso de tiempos diferentes para la escritura y la lectura de información
dentro de la memoria central.

Que es el Buffering

El almacenamiento en búfer es el proceso de almacenar datos en un área de memoria


temporalmente mientras se procesan otros datos restantes.

Un ejemplo es el siguiente.

Supongamos una situación de almacenamiento en búfer en línea, como la transmisión de


música y video. Permite al usuario ver o escuchar el contenido multimedia descargando
una parte del archivo y reproduciéndolo mientras continúa descargando el resto del video.
Si la conexión a Internet es rápida, el búfer se requiere solo unos segundos antes de
reproducir el medio. Si la conexión a Internet no es lo suficientemente rápida, entonces es
necesario usar el búfer durante algún tiempo. En general, el almacenamiento en búfer
ayuda a manejar la falta de coincidencia de velocidad entre productores y consumidores de
flujos de datos.

Que es spooling

Soportes de bobinado para Operaciones Periféricas Simultáneas en línea. Es el


mecanismo de poner datos de varios trabajos de entrada-salida (IO) en un búfer. En otras
palabras, utiliza un búfer para retener trabajos para un dispositivo hasta que esté listo para
aceptar el trabajo. Un búfer es un área en la memoria principal que contiene datos durante
las transferencias de datos de entrada y salida. En cola de impresión, es posible leer la
entrada de un trabajo mientras se imprime la salida de otro trabajo.

Por ejemplo, suponga una instancia de lectura de datos del lector de tarjetas e impresión.
Primero, hay un dispositivo como un disco entre el dispositivo de alta velocidad, que es el
lector de tarjetas, y el dispositivo de baja velocidad, que es la impresora. No hay
comunicación directa entre estos dos dispositivos. El lector de tarjetas envía datos y la
impresora recibe datos a través del disco. El disco funciona como el búfer de spooling. Es la
estación de espera para colocar datos mientras el dispositivo más lento se pone al día..

En general, la cola de impresión admite múltiples ventajas. Aumenta el rendimiento del


sistema. Permite que la CPU y los dispositivos IO funcionen de manera eficiente. Además,
soporta multiprogramación.
Diferencia entre Sporting y Buffering

La diferencia principal entre spooling y buffering es que la cola de impresión es el método


para almacenar datos temporalmente en un área de memoria, de modo que un dispositivo
o programa puede usarlos, mientras que el almacenamiento en búfer es el método para
almacenar datos temporalmente en un área de memoria mientras se procesan otros datos
restantes.

Definición

La cola de impresión es una forma especializada de multiprogramación con el fin de copiar


datos entre diferentes dispositivos. En contraste, el almacenamiento en búfer es el proceso
de almacenar datos temporalmente en un área de memoria mientras se procesan otros
datos restantes.

Base

En Spooling, las operaciones de E / S de un trabajo se superponen con la ejecución de otro


trabajo. En el almacenamiento en búfer, las operaciones de E / S de un trabajo se
superponen con la ejecución del mismo trabajo. Por lo tanto, esta es la principal diferencia
entre spooling y buffering.

tamaño

Otra diferencia entre spooling y buffering es el tamaño. La cola de impresión utiliza un


búfer enorme, mientras que el búfer utiliza un área de memoria limitada.

Eficiencia

Por otra parte, la cola es más eficiente que el almacenamiento en búfer.

Uso

Además, la puesta en cola ayuda a intercambiar datos entre diferentes dispositivos que
tienen varias tasas de acceso a datos. El almacenamiento en búfer ayuda a adaptarse a la
falta de coincidencia de velocidad entre productores y consumidores de flujos de datos. Por
lo tanto, esta es otra diferencia entre spooling y buffering.

Conclusión
La diferencia entre spooling y buffering es que spooling es el método de almacenamiento
de datos temporalmente en un área de memoria, de modo que un dispositivo o un
programa puede usarlo, mientras que el buffering es el método de almacenamiento de
datos temporalmente en un área de memoria mientras se procesan otros datos restantes.
En general, tanto el spooling como el buffering ayudan a aumentar el rendimiento del
sistema.

El sistema de archivos virtual

Linux, a diferencia de Windows, usa solo un árbol de directorios para todos los


discos/particiones, y se llama Virtual FileSystem (VFS), o sistema de archivos virtual.

Esto es así porque el virtual filesystem de Linux se usa para muchas cosas más que para
almacenar archivos. Es decir, el virtual filesystem permite acceder a los archivos de los
discos que estén montados, pero también permite acceder a dispositivos, y archivos
virtuales que literalmente no existen en ningún disco, pero son modelados como archivos.

Así, un solo sistema de archivos virtual, con un solo directorio raíz, sirve para acceder a los
archivos almacenados en cualquier partición, puesto que el mecanismo de acceso está
basado en el montaje de los sistemas de archivos «reales» en directorios o «puntos de
montaje» dentro del sistema de archivos raíz.
Fundamentos técnicos del virtual filesystem

Una de las razones por la que GNU/Linux permite acceder a cada sistema de archivos


real como un subdirectorio del sistema de archivos virtual, es para homogeneizar la forma
en la que se accede a ciertas estructuras de datos dentro del sistema operativo.

De esta manera la interfaz que se utiliza para acceder a archivos reales de disco también
puede ser utilizada con cualquier otro tipo de archivo virtual, y éste mecanismo le da una
flexibilidad enorme al sistema operativo, y simplifica la forma en que las aplicaciones
pueden acceder a los datos de discos y del sistema operativo, y simplifica también las
técnicas de desarrollo de aplicaciones.

En sistemas Windows existe una unidad de disco por cada disco/partición, con sus


archivos, y un panel de control para administrar muchos dispositivos y algunas
características del sistema.

En Linux mediante el sistema de archivos virtual también se pueden


administrar dispositivos, e incluso administrar el estado de ejecución de cada uno de
los procesos que están corriendo, porque mucha de la información de los procesos en
ejecución también se ve como una serie de archivos en disco, pero se encuentran en
memoria o, alternativamente, en el espacio de almacenamiento de intercambio (swap). En
Windows ver el estado de los procesos de esta forma es imposible.

¿Qué Son Los Inodos?

Un inodo es una estructura de datos que almacena información sobre un fichero de


nuestro sistema de archivos.

Un inodo no tiene nombre y se identifica mediante un número entero único. Cada inodo
únicamente puede contener datos de un solo fichero del sistema de archivos. Por lo tanto,
si tenemos 4 archivos y 4 directorios estaremos usando 8 inodos.

¿Qué tipo de información almacenan los inodos de los archivos y directorios?

Un inodo contiene la totalidad de metadatos de un fichero de nuestro sistema de archivos.

Los metadatos almacenados en un inodo son los siguientes:

1. Número de inodo. El número de inodo es un número entero único que sirve para
identificar un inodo.

2. Tamaño del fichero, así como el número de bloques que ocupa el fichero en el


disco duro.
3. El dispositivo de almacenamiento en que está almacenado el fichero. (Device
ID)

4. Número de enlaces. Por lo tanto, si hay 2 archivos que apuntan a un mismo


inodo tendremos 2 enlaces. Si tenemos un directorio que contiene 15 archivos
tendremos 15 enlaces.

5. El identificador de usuario (UID o User ID). Por lo tanto, los inodos especifican el
propietario de un fichero.

6. El identificador de grupo (GID o Group ID). De este modo, un inodo contiene el


grupo a que pertenece un fichero.

7. Marcas de tiempo como por ejemplo la fecha en que se ha creado el archivo, la


fecha del último acceso, etc.

8. Tabla de direccionamiento donde se detallan los bloques del disco duro en que


está almacenado el fichero.

¿Qué tipo de información almacenan las dentries?

Las dentries tienen la función de definir la estructura de un directorio. Las dentries,


conjuntamente con los inodos, serán los encargados de representar un fichero en la
memoria.

Las dentries de un directorio se almacenan en una tabla. Esta tabla contiene la totalidad de
nombres de los ficheros que están dentro del directorio y los asocia con su correspondiente
número de inodo. Por lo tanto, una dentry es un nombre que apunta hacia un inodo.

Ficheros dentro del directorio Documentes Inodo

. 10000

.. 5000

Carta.odt 10043
CV.odt 10025

Directorio 1 13412

Imaginemos que el directorio Documentos contiene 2 archivos y un directorio. El inodo


que representa al directorio Documentos será el siguiente:

El contenido de la tabla es simple de comprender. Únicamente es necesario comentar las


entradas que tienen un punto y dos puntos.

La entrada con un punto (.) hace referencia al directorio Documentos. Por lo tanto la


información del directorio Documentos está almacenada en el inodo 10000.

La entrada con 2 puntos (..) hace referencia al inodo del directorio que contiene el
directorio Documentos. Por lo tanto si la carpeta Documentos está dentro de /home/user,
el inodo 5000 hace referencia al directorio user.

Para comprender mejor todo lo que hemos comentado hasta el momento imaginemos la
siguiente estructura:

Las características de esta estructura son las siguientes:


1. Usa 6 inodos. El primer inodo para el directorio raíz, el segundo para el directorio
home, el tercero para el directorio joan, el cuarto para el directorio angel, el quinto
para el fichero carta.odt y el sexto para el directorio fotos.

2. Usa 5 dentries. La primera enlaza carta.odt con joan, la segunda enlaza fotos con
joan, la tercera enlaza joan con home, la cuarta enlaza angel con home y finalmente
la última enlaza home con el directorio raíz.

¿Qué Espacio Ocupa Un Inodo?

Si quieren consultar el espacio que ocupa un inodo de su sistema de archivos tan solo
tienen que realizar lo siguiente.

Inicialmente ejecutan el siguiente comando para ver las particiones del sistema de
archivos:

sudo fdisk -l

En mi caso el resultado obtenido es el siguiente:


De las 8 particiones miraré el tamaño de los inodos en las
particiones /dev/sda5 y /dev/sda7. Para ello ejecutaré los siguientes comandos:

Como pueden ver, los inodos de la partición (/dev/sda5) tienen un tamaño de 256 bytes.
Esto es así porque los sistemas de archivos ext4 acostumbran a tener este tamaño
predeterminado.
Por otro lado los inodos de la partición (/dev/sda7) tienen un tamaño de 128 bytes.
También se trata de un tamaño habitual en sistemas de archivos ext2.

Por lo tanto si los inodos de mi partición /home tienen 256 bytes y los bloques de mi disco
duro son de 4096 bytes, cada bloque de mi disco duro podrá almacenar 16 inodos.
.

Conclusión

Los temas que se desarrollaron en el cuerpo de la investigación fueron con el objetivo de


comprender mejor el funcionamiento de los sistemas operativos Linux en general, debido a
que comprender un sistema es algo complejo, pero esto nos da una orientación y de igual
manera nos insta a indagar mas para conocer mejor el sistema.
E-Grafía

https://ik4.es/buffering-que-es-y-como-funciona/

https://es.sawakinome.com/articles/technology/what-is-the-difference-between-
spooling-and-buffering.html

http://electropediadigital.blogspot.com/2012/10/sistemas-de-archivos-virtuales.html

También podría gustarte