Ingeniera en sistemas
SHELL Y SCRIPTS
OBJETIVO:
El objetivo de las prácticas iniciales es familiarizar al estudiante con la gestión de recursos del sistema operativo Linux.
Antes de empezar la práctica
1) TRABAJE EN MODO TEXTO
2) CONTESTE LAS PREGUNTAS EN ESTE DOCUMENTO
TABLA DE DESCRIPTORES DE FICHERO
El sistema operativo mantiene en el BCP (bloque de control de proceso) de cadaproceso una tabla con los descriptores de los ficheros abiertos por el proceso.
La tabla de descriptores de fichero se puede observar a través del directorio /proc//fd/ donde debe ser el pid del proceso del que se quiere ver su tabla fd. Con un comando ls sobre dicho directorio se puede mostrar la tabla de descriptores de fichero.
En la secuencia siguiente se han utilizado dos shell. Elprimero sirve para crear un proceso y el segundo para visualizar la tabla de descriptores de fichero.
Shell 1: Ejecute el editor vi sobre un fichero que no exista previamente en el directorio en el que se está trabajando, por ejemplo: prueba_vi.txt
pupilo@laurel:~$ vi /home/ProgrPrac/prueba_vi.txt
Shell 2: Ejecute los comandos ps –u < su_cuenta >, poniendo en vez de el nombre de su cuenta.pupilo@laurel:~$ ps -u pupilo
PID TTY TIME CMD
29625 ? 00:00:00 sshd
29626 pts/0 00:00:00 bash
29638 ? 00:00:00 sshd
29639 pts/1 00:00:00 bash
29666 pts/0 00:00:00 vim
29669 pts/1 00:00:00 ps
|p_2006_1 PID de su proceso vi o vim: ||Respuesta: 2631 |
Observe el PID del proceso vi y ejecute el comando ls -l /proc//fd/, poniendo en vez de el valor del pid del proceso vi.
pupilo@laurel:~$ ls -l /proc/29666/fd/
total 4
lrwx------ 1 pupilo tutorial 64 Jul 25 06:42 0 -> /dev/pts/0
lrwx------ 1pupilo tutorial 64 Jul 25 06:42 1 -> /dev/pts/0
lrwx------ 1 pupilo tutorial 64 Jul 25 06:40 2 -> /dev/pts/0
lrwx------ 1 pupilo tutorial 64 Jul 25 06:42 3 -> /home/laurel/tutorial/pupilo/ProgrPrac/.prueba_vi.txt.swp
En la secuencia anterior se ha utilizado el comando ps con la opción –u que permite obtener todos los procesos de un usuario (si no se incluye dicha opción se obtienensolamente los procesos asociados al shell desde el que se ejecuta el comando). Del resultado producido por ls -l /proc/29666/fd/ se observará que la salida estándar (número 0 de la tabla fd), la entrada estándar (número 1 de la tabla fd) y el error estándar (número 2 de la tabla fd) están asignados al dispositivo /dev/pts/0 que no es más que la ventana ssh en la que se está ejecutando el proceso vi.
Enel caso de que el fichero que hayamos abierto mediante el editor vi, existiera previamente, al comprobar los descriptores de fichero existentes para dicho proceso, podríamos comprobar como el fichero .fichero.swp está asociado al número 4 de la tabla fd.
Observe los descriptores de fichero presentes en su proceso vi y rellene los datos siguientes:
|p_2006_2 Dispositivo al que está asociadoel descriptor de número 1. |
|Respuesta: /dev/pts/1 |
|p_2006_3 Número total de descriptores de fichero.|
|Respuesta: 4 |
Cierre el editor vi.
REDIRECCIÓN
Los caracteres y >> se emplean en el shell para redirigir la entrada y salida estándar de los comandos.
En este ejercicio utilizaremos el comando sort para redireccionar su salida...
Regístrate para leer el documento completo.