Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Los dos primeros campos (número de dispositivo y de bloque) se utilizan como identificativo del buffer.
El campo status incluye varios campos que indican el estado actual del buffer:
Si está libre u ocupado (utilizado por un proceso);
Si los contenidos son válidos o no,
Si el buffer es de escritura retardada;
Si se produce una lectura o escritura;
Si hay procesos en espera para utilizar el buffer.
La asignación de estos campos se hace con un LRU de bloques de disco al buffer.
El primer puntero señala el área de datos, que es la zona de memoria donde están los datos del bloque
del disco.
Los punteros 2º y 3º apuntan al buffer posterior y anterior en la cola hash.
Los punteros 4º y 5º indican los buffers posterior y anterior en la free list.
En el buffer cache se distinguen dos estructuras de datos:
Free List (única): es una lista circular doblemente enlazada, siendo los elementos de esta lista buffer
headers. Tiene un buffer especial al principio de la lista, usado para marcar el principio y el final de la lista.
Colas Hash (múltiples). Son una serie de colas circulares doblemente enlazadas, con un buffer especial
que indica principio y final de la cola. La diferencia con la free list radica en que la cola hash está
organizada en una tabla hash según el número de bloque y el número de dispositivo lógico, siendo así
más rápida la búsqueda.
6.1.2 Ambientes para el manejo de buffers
man
Proporciona información sobre los comandos u otros programas del entorno Linux (manual
pages). En el caso particular de los comandos de la shell de Linux, dado que estos suelen tener
una gran cantidad de modificadores, lo usual es conocer solo algunas funcionalidades de los
comandos más conocidos y recurrir a las manual pages del comando cuando se desee más
información.
ls
Lista el contenido de un directorio. Si lo usamos sin argumentos, lista el contenido del directorio
actual o corriente.
more
Filtro que permite desplegar en una terminal el contenido de un archivo de texto de a una pantalla
a la vez.
cd
mkdir
rmdir
Elimina entradas de directorios vacíos. Para eliminar un directorio y todo su contenido, ver el
comando rm más adelante.
passwd
Cambia la contraseña del usuario. Las contraseñas deben cumplir las condiciones que se indican
en el mismo o en las carteleras.
rm
cp
Copiar archivos o directorios. Para copiar un directorio se debe agregar el modificador "-r".
mv
Mueve archivos o directorios. La sintaxis de este comado es similar a la del cp, solo que no es
necesario utilizar el modificador "-r".
Este comando es útil a la hora de renombrar archivos o directorios (moviéndolo con el nombre
con el que se lo quiere renombrar) dado que la mayoria de las shell de Linux no poseen un
comando especifico para esto.
du
Reporta el espacio de disco utilizado por archivos y directorios (du = disk usage).
eject
Extrae el CD-ROM.
mount y umount
Estos dos comandos son necesarios para montar el disquete y el cd-rom y desmontar el disquete.
exit
Un Shell Script es un script para la shell de comandos (terminal). Para crear un script basta con
un editar un fichero nuevo y en el nombre poner .sh Ejemplo: HolaMundo.sh
Una vez creado, empezamos a editarlo. Se puede utilizar un editor de textos gráfico como
gedit o un editor en terminal como vim, nano o emacs.
En la primera línea del script se debe indicar que shell que vas a usar ( /bin/bash/ , /usr/
bin/perl , etc ) Aunque da igual la que uses lo importante es el contenido:
#! /bin/bash
Para introducir comentarios se debe poner #. Por cada linea que deseéis poner un comentario,
lo primero que debe tener es #. Es importante añadir comentarios comentando la utilidad del
script o las variables que se crean.
Antes de poder ejecutarlo, debemos darle permisos de ejecución. (+x) por ello, haremos uso
del comando chmod y damos permisos de ejecución, si se desea, se pueden dar a todos los
usuarios y grupos.
./nombredelscript.sh
sh nombredelscript.sh
3- CÓDIGO DE UN SCRIPT
Ya tenemos el script creado, le hemos puesto la cabecera y le hemos cambiado los permisos,
ya solo falta meter el código.
Lo primero es saber cómo dar valor a una variable. Es tan sencillo como poner:
nombre_variable=valor
Si deseas guardar la salida de un programa solo tienes que ponerlo entre tildes invertidas:
nombre_variable=`comando`
Tambien hay un comando que lee por teclado las variables ( read ). Para ponerlo es:
ejemplo:
Tiene un montón de opciones pero estas son las más importantes y usadas:
-p “frase” : Te muestra por pantalla una frase para tu saber que debes introducir
$nombre_variable