Practicas FFCC II

Páginas: 5 (1011 palabras) Publicado: 2 de febrero de 2014
Practica II: El Sistema de Archivos de Linux

1. Para cada uno de los campos de la estructura stat, indicar en un par de líneas y con vuestras palabras el significado exacto que tienen y que información proporcionan.

La estructura stat tiene los siguientes campos:

struct stat
{
dev_t st_dev;
ino_t st_ino;
mode_t st_mode;
nlink_t st_nlink;
uid_tst_uid;
gid_t st_gid;
dev_t st_rdev;
off_t st_size;
unsigned long st_blksize;
unsigned long st_blocks;
time_t st_atime;
time_t st_mtime;
time_t st_ctime;
}

dev_t st_dev: Número del dispositivo que contiene al inodo del directorio. Describe el dispositivo en el cual el archivo reside.
st_ino: Número de inodo. Un inodo es una estructura de datos de lossistemas de archivos que contiene los permisos, las fechas, la ubicación,... de un archivo regular, directorio, ...
st_mode: Mediante este campo podemos obtener el tipo de archivo con el que estamos trabajando, haciendo una máscara con una constante especificada en la librería de sys/stat.h.
st_nlink: Número de enlaces del fichero
st_uid: Identificador del usuario del archivo que estamosestudiando.
st_gid: Identificador del grupo del archivo.
st_rdev: Describe el dispositivo que el inodo representa.
st_size: Nos da el tamaño del archivo (si es un archivo regular o un enlace simbólico) en octetos.
st_blocks: Indica el número de los bloques asignados al archivo, 512 unidades del octeto. Este número de bloques puede ser más pequeño si el archivo tiene agujeros.
st_blocksize: Nos dapreferentemente el tamaño de de un sistema de ficheros de E/S.
st_atime: Cambia cada vez que accedemos al archivo, dándonos la hora y la fecha de su modificación.
st_mtime: Se cambia por modificaciones del archivo, por otra parte, este campo, en un directorio cambia con la creación o destrucción de archivos en dicho directorio.
st_ctime: Cambia al escribir o fijar información al inodo.
2. ¿Porqué para saber el tipo del archivo hay que ejecutar la operación AND sobre la constante S_IFMT y el campo st_mode de la estructura stat?

Ejecutando la operación AND sobre S_IFMT, conseguimos una secuencia binaria, que más tarde mediante combinaciones de if-else averiguamos de que tipo de archivo se trata.

Practica III: Procesos

1. Explica detalladamente que ocurre cuando un proceso pasaa ejecutar un comando.

Un proceso pasa a ejecutarse cuando lo indica el planificador.
Para ejecutar un proceso se usa el servicio exec y sus variantes. Cambia el proceso ejecutado por un proceso. Se realiza en dos fases:

-Vacía el proceso de casi todo su contenido: Se conservan algunas informaciones, el entorno del proceso (el S.O lo incluye en la nueva pila), y algunos datos relativosal BCP (identificador de procesos, identificador de usuarios,...).

-Carga el nuevo programa que ejecutará el proceso: Se asigna al proceso un nuevo espacio de memoria, se carga el código y los datos, se crea una pila inicial con el entorno y los valores pasados al programa y se rellena la BCP con los valores iniciales de los registros.


2. Pinta la jerarquía de procesos que se crea alejecutar el programa.
Para la siguiente ejecución:
./ejecutaOrdenes pwd ls dir

Hemos obtenido:



Padre
Pid= 5727


Hijo Hijo Hijo
Pid=5725 Pid=5726 Pid=5727









3. ¿Cómo habría que modificar el programa para que cada proceso ejecutara un comando y creara un hijo que ejecutara elsiguiente comando de la lista?


El código que deberíamos implementar es el siguiente:

If(pid==0){
pid=fork();
if(pid!=0){
execvp(arg[0],arg);
}
}




Practica IV: Hebras
1. ¿Es necesario declarar variables compartidas?

Si, ya que la única información que comparten las hebras son las variables globales, por tanto la información que queramos compartir debemos declararla de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • INFORME II, PRACTICA II
  • Practica Ii
  • practica II
  • PRACTICA II
  • Practica Ii
  • Practica ii
  • Practica Ii
  • Practica II

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS