Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Operativos, ejercicios de INODOS
Autor Mensaje
CarooLina Sin conexión
Colaborador

********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3.743
Agradecimientos dados: 1.496
Agradecimientos: 1.683 en 547 posts
Registro en: Sep 2010
Mensaje: #1
Operativos, ejercicios de INODOS Ejercicios Sistemas Operativos
Buenas, estoy bastante perdida con inodos y con las explicaciones del campus arme algunas ideas de las cosas que fui leyendo.

=>Primer Ejercicio
Basandome en este Link , el primer comentario dice:

Parece que tenemos
Organizacion de inodos con un bloque de 2KB, punteros de 6 bytes, 5 punteros directos, 1 puntero indirecto simple, 1 puntero indirecto doble. Piden cuantos accesos hay que hacer para escribir un archivo de 37658907 Bytes (ojo no busque el final, solo use la info del posteo. Lo de arriba lo arme yo)

Archivo: 37658907B / 2048B = 18389 bloques a escribir
Punteros por bloque: 2KB / 6B = 341 punteros por bloque
DUDA 1: esta ultima cuenta da 341,333.. hago como en los bloques, redondeo a 342 o dejo 341? (ahora uso 341 pero si esta mal lo corrijo)

Con 5 directos, 18389 -5 = 18384 restantes
Con el puntero indirecto simple: 18384 - 341 = 18043 restantes
Me alcanza con el puntero indirecto doble y tengo que averiguar cuantos bloques de indireccion intermedios tenes que leer.? (esto también lo saque de otro post) y para eso hago: 18043/341= 53

hasta ahi podriamos decir que entendi, pero lo que mas mas me cuesta es esto:

DUDA 2:
La cantidad de accesos son: 18389 (son los de dato) + 1 (de la tabla de indirecto simple) + 1 (de la tabla de indirecto doble) + 53 = 18444
Lo que me cuesta es elegir esos "1" sobretodo para el doble y triple.
Si yo lo hago graficamente ese " 1 (de la tabla de indirecto doble) + 53" representa esto:
   
No entiendo sino como verlo para poder hacerlo yo sola, este es "simple" pero con los triples es todavia mas dficil, ahi van

=>Segundo Ejercicio
De aca lo saque, Link!
Enunciado
   
Respecto al B y al igual que el pibe, solo inodos.. fat todavia no.

Cito:
punteros por bloque: 4kb / (64/8) = 512

Veo cuantos bloques necesito para el archivo de 2 Gb: 2 Gb / 4 Kb = 524288 bloques

verifico cada indireccion:

12 * (512)^0 * 4096 = 48 Kb
1 * (512)^1 * 4096 = 2 Mb
1 * (512)^2 * 4096 = 1 Gb
1 * (512)^3 * 4096 = 512 Gb

Con esta info se que para el archivo de 2 Gb necesito todos los directos, todos los ind simples, todos los ind dobles y algunos ind triples. Voy a averiguar cuanto es ese "algunos" triples.
524288 - 12 - 512 - 512^2 = 261620

Esos 261620 tengo que ver como se distribuyen en los triples
Que el lo hizo asi:

261620 / (512^2) = 0,9 necesito menos de 1 triple
261620 / (512) = 510 completos + 1 incompleto
261620 - (512*510) = 500
Sumatoria: 12 + 512 + 512 ^2 + (510*512) + 500 = 524288

Ahora veo la cantidad de accesos a disco:
- 524288 de datos
- 1 de ind simple
- 1 + 512 de ind doble
- 1 + 1 + 511 de ind triple
Resultado: 525315 accesos a disco

DUDA 3:
Graficamente el "1 + 512 de ind doble" esta bien visto asi ?
   
Graficamente el "1 + 1 + 511 de ind triple" ?
   

=>Tercer Ejercicio
Aca es el mismo caso que el anterior, pero lo que yo invente es el numero si yo esta vez tendría que leer "612668 bloques" ya se que cae en indirecto triple y me quedan 612668 -12 -512 -512^2= 350000 restantes

con 350000/ (512^2) = 1.33 uso uno completo y una parte de otro
350000/ (512)= 684 bloques. Que representan 512 de uno (el que esta completo ) y 172 del otro (el incompleto)

Yo graficamente esto lo veo como:
   

Y por lo que puse yo sumaria los accesos como:
612668 de datos
1 de ind simple
1 + 512 de ind doble
1 + 1 + 1 + 172 de ind triple
Total: 613.357

Esto estaria bien? O le tendria que sumar 512 tambien? Yo pense que se entienden con ese "1" de mas que puse.

Mi idea es asociar graficamente asi puedo poner bien los accesos por que me están costando mucho, espero que se entienda. Gracias por el tiempo =)

love
31-01-2015 21:22
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] CarooLina recibio 1 Gracias por este post
Mr.GG (12-07-2017)
Desert69 Sin conexión
Presidente del CEIT
Sin estado :( / "Anarquia...
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.477
Agradecimientos dados: 230
Agradecimientos: 345 en 206 posts
Registro en: Jun 2008
Mensaje: #2
RE: Operativos, ejercicios de INODOS
(31-01-2015 21:22)CarooLina escribió:  Buenas, estoy bastante perdida con inodos y con las explicaciones del campus arme algunas ideas de las cosas que fui leyendo.

=>Primer Ejercicio
Basandome en este Link , el primer comentario dice:

Parece que tenemos
Organizacion de inodos con un bloque de 2KB, punteros de 6 bytes, 5 punteros directos, 1 puntero indirecto simple, 1 puntero indirecto doble. Piden cuantos accesos hay que hacer para escribir un archivo de 37658907 Bytes (ojo no busque el final, solo use la info del posteo. Lo de arriba lo arme yo)

Yo no miré nada más que tu post, así que voy a tomar como premisa que todos estos datos que das son ciertos.

(31-01-2015 21:22)CarooLina escribió:  Archivo: 37658907B / 2048B = 18389 bloques a escribir
Punteros por bloque: 2KB / 6B = 341 punteros por bloque
DUDA 1: esta ultima cuenta da 341,333.. hago como en los bloques, redondeo a 342 o dejo 341? (ahora uso 341 pero si esta mal lo corrijo)

En este caso la pregunta es "¿cuántos punteros entran en un bloque?". Si la matemática dice 341,333 significa que entran 341, y el 342 no llega a entrar completo. Y como "un tercio de puntero" es una paparruchada, entonces sí, entran 341.

(31-01-2015 21:22)CarooLina escribió:  Con 5 directos, 18389 -5 = 18384 restantes
Con el puntero indirecto simple: 18384 - 341 = 18043 restantes
Me alcanza con el puntero indirecto doble y tengo que averiguar cuantos bloques de indireccion intermedios tenes que leer.? (esto también lo saque de otro post) y para eso hago: 18043/341= 53

La pregunta es "¿Cuántos accesos a disco tenés que hacer para escribir el archivo?". En general se asume que el inodo está en memoria (si eso no fuera cierto en este ejercicio, tenés que sumar las lecturas que hagan falta para conseguir el inodo a las cuentas que vamos a hacer ahora).

Teniendo el inodo en memoria, la cantidad de accesos es 1 por cada bloque de datos + 1 por cada bloque de punteros que tengas que escribir para guardar las direcciones de los bloques de datos. En el caso de los primeros 5 punteros directos, sólo tenés que escribir los bloques de datos: 5 accesos. Para el puntero indirecto, escribís los 341 bloques de datos que vas a apuntar con este bloque, y luego una escritura de todo el bloque de punteros: 342 accesos más. Después tenés el puntero indirecto doble: una escritura va a ser para escribir el bloque apuntado desde el inodo, más una escritura por cada bloque de datos que caiga acá (18043 accesos), más una escritura por cada bloque de punteros "de segundo nivel" (es decir, de los apuntados por el bloque apuntado desde el inodo). En este caso, el bloque apuntado por el inodo te puede apuntar otros 341 bloques, pero por tus cuentas con sólo 53 alcanza (o eso entendí que calculaste), entonces son 53 accesos más.

El total da 5 + 342 + 1 + 18043 + 53 = 18444 accesos a disco.


Quizá haya una forma más "rápida" de calcular esto (pensar sólo en los bloques de puntero, y sumarselos a la cantidad de bloques de datos), pero yo prefiero ir despacio, paso por paso, y no olvidarme de nada.

(31-01-2015 21:22)CarooLina escribió:  hasta ahi podriamos decir que entendi, pero lo que mas mas me cuesta es esto:

DUDA 2:
La cantidad de accesos son: 18389 (son los de dato) + 1 (de la tabla de indirecto simple) + 1 (de la tabla de indirecto doble) + 53 = 18444
Lo que me cuesta es elegir esos "1" sobretodo para el doble y triple.
Si yo lo hago graficamente ese " 1 (de la tabla de indirecto doble) + 53" representa esto:

No entiendo sino como verlo para poder hacerlo yo sola, este es "simple" pero con los triples es todavia mas dficil, ahi van

Está bárbaro el gráfico. Y el de los triples también.

Dibujátelo siempre, porque de ese modo no te olvidás. Es más fácil (¡y útil!) dibujarlo, pensarlo y deducirlo en el momento que tratar de aprenderlo de memoria.

(31-01-2015 21:22)CarooLina escribió:  =>Segundo Ejercicio
De aca lo saque, Link!
Enunciado

Respecto al B y al igual que el pibe, solo inodos.. fat todavia no.

Cito:
punteros por bloque: 4kb / (64/8) = 512

Veo cuantos bloques necesito para el archivo de 2 Gb: 2 Gb / 4 Kb = 524288 bloques

verifico cada indireccion:

12 * (512)^0 * 4096 = 48 Kb
1 * (512)^1 * 4096 = 2 Mb
1 * (512)^2 * 4096 = 1 Gb
1 * (512)^3 * 4096 = 512 Gb

Con esta info se que para el archivo de 2 Gb necesito todos los directos, todos los ind simples, todos los ind dobles y algunos ind triples. Voy a averiguar cuanto es ese "algunos" triples.
524288 - 12 - 512 - 512^2 = 261620

Esos 261620 tengo que ver como se distribuyen en los triples
Que el lo hizo asi:

261620 / (512^2) = 0,9 necesito menos de 1 triple
261620 / (512) = 510 completos + 1 incompleto
261620 - (512*510) = 500
Sumatoria: 12 + 512 + 512 ^2 + (510*512) + 500 = 524288

Ahora veo la cantidad de accesos a disco:
- 524288 de datos
- 1 de ind simple
- 1 + 512 de ind doble
- 1 + 1 + 511 de ind triple
Resultado: 525315 accesos a disco

DUDA 3:
Graficamente el "1 + 512 de ind doble" esta bien visto asi ?

Graficamente el "1 + 1 + 511 de ind triple" ?

Está perfecto, y la respuesta a la pregunta del gráfico es "sí, sos grosa".

No te olvides, igual, que mover cross-filesystem implica crear el archivo en el lugar nuevo y eliminar el archivo viejo. Como la FAT está en memoria, sólo tenés que marcar como libres todas las entradas de la FAT, y entonces "no tenés accesos a disco" extra. Pero no te olvides de esa parte, porque si la FAT no estuviera en memoria hay que sumar las escrituras para marcar los clusters como libres. En la b creo que se refiere un poco a esto (a modificar la FAT, y creo que también había una especie de índice de clusters libres o algo así).


(31-01-2015 21:22)CarooLina escribió:  =>Tercer Ejercicio
Aca es el mismo caso que el anterior, pero lo que yo invente es el numero si yo esta vez tendría que leer "612668 bloques" ya se que cae en indirecto triple y me quedan 612668 -12 -512 -512^2= 350000 restantes

con 350000/ (512^2) = 1.33 uso uno completo y una parte de otro
350000/ (512)= 684 bloques. Que representan 512 de uno (el que esta completo ) y 172 del otro (el incompleto)

Yo graficamente esto lo veo como:


Y por lo que puse yo sumaria los accesos como:
612668 de datos
1 de ind simple
1 + 512 de ind doble
1 + 1 + 1 + 172 de ind triple
Total: 613.357

Esto estaria bien? O le tendria que sumar 512 tambien? Yo pense que se entienden con ese "1" de mas que puse.

Mi idea es asociar graficamente asi puedo poner bien los accesos por que me están costando mucho, espero que se entienda. Gracias por el tiempo =)

No, acá te faltan esos 512 extras que vos decís.

Ayudate pensando las cosas con 2 o 3 punteros por bloque, si eso te simplifica: para poder escribir un bloque de datos en un indirecto triple tenés que escribir el bloque "de primer nivel" (el apuntado desde el inodo), el "de segundo nivel" (el apuntado desde el primer nivel), el "de tercer nivel" (el apuntado desde el segundo), y finalmente el bloque de datos (el apuntado por el tercero).
En este caso, y tal como está en tu gráfico, tenés que leer 1 bloque de primer nivel, 2 bloques de segundo nivel, 512 bloques de tercer nivel (apuntados por el primer bloque de segundo nivel) + 172 bloques de tercer nivel (apuntados por el segundo bloque de segundo nivel) = 684 bloques de tercer nivel, y los bloques de datos que ya habías metido al principio en la cuenta.

612668 + 1 + 1 + 512 + 1 + 2 + 512 + 172 = 613869 accesos.


Espero haber aclarado un poco. Venís re bien, igual - falta afirmarse un poquito, nomás, pero venís joya.

Me voy a dormir cantando Carooooliiiinaaaaa bien duro como Juanse. Seguí preguntando todo lo que haiga falta =)

[Imagen: a2.php]
[Imagen: 971aa6599664453c05cb3e42d58bbc0eo.jpg]
01-02-2015 03:39
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Desert69 recibio 4 Gracias por este post
CarooLina (02-02-2015), gonnza (27-05-2015), Feer (27-05-2015), Mr.GG (12-07-2017)
CarooLina Sin conexión
Colaborador

********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3.743
Agradecimientos dados: 1.496
Agradecimientos: 1.683 en 547 posts
Registro en: Sep 2010
Mensaje: #3
RE: Operativos, ejercicios de INODOS
Estuve tres dias tratando de armar una idea coherente =)
esta buenísima la explicación!! =) muchas gracias por el tiempo

love
02-02-2015 16:30
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Gonza87 Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 41
Agradecimientos dados: 8
Agradecimientos: 17 en 12 posts
Registro en: Dec 2008
Mensaje: #4
RE: Operativos, ejercicios de INODOS
Cita:No, acá te faltan esos 512 extras que vos decís.

Ayudate pensando las cosas con 2 o 3 punteros por bloque, si eso te simplifica: para poder escribir un bloque de datos en un indirecto triple tenés que escribir el bloque "de primer nivel" (el apuntado desde el inodo), el "de segundo nivel" (el apuntado desde el primer nivel), el "de tercer nivel" (el apuntado desde el segundo), y finalmente el bloque de datos (el apuntado por el tercero).
En este caso, y tal como está en tu gráfico, tenés que leer 1 bloque de primer nivel, 2 bloques de segundo nivel, 512 bloques de tercer nivel (apuntados por el primer bloque de segundo nivel) + 172 bloques de tercer nivel (apuntados por el segundo bloque de segundo nivel) = 684 bloques de tercer nivel, y los bloques de datos que ya habías metido al principio en la cuenta.

612668 + 1 + 1 + 512 + 1 + 2 + 512 + 172 = 613869 accesos.

Consulta, porque no estoy seguro de haberlo entendido. El primero de los 512 de la ecuación está de más o de donde sale?

La suma de los bloques de datos no debiese dar el total de bloques?

Entiendo que si el total de bloques es 612668 la nodos debiesen ser:
612668 = 12 + 512 + 512*512 + 512 * (512 + 172) [da un poco de más porque hay 1 incompleto]

Gracias!
(Este mensaje fue modificado por última vez en: 27-05-2015 09:10 por Gonza87.)
27-05-2015 09:07
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Desert69 Sin conexión
Presidente del CEIT
Sin estado :( / "Anarquia...
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.477
Agradecimientos dados: 230
Agradecimientos: 345 en 206 posts
Registro en: Jun 2008
Mensaje: #5
RE: Operativos, ejercicios de INODOS

Off-topic:
Es muy temprano para tener todas las neuronas prendidas, y estoy leyendo esto sin acordarme lo que había escrito, así que en cuanto dudes de lo que pongo, desconfiá y re-preguntá.



El ejercicio que inventó Caro es el de un archivo con 612668 bloques de datos. Entonces, si en algún momento tenemos más bloques de datos que esos (o menos), algo hicimos mal.

Pero cuando almacenamos un archivo en un FS de tipo ext no usamos únicamente bloques de datos: hay algunos bloques que los usamos, no para guardar los datos del archivo, si no para guardar los punteros a los bloques de datos.

Los niveles de indirección en los bloques son eso: en lugar de para guardar los bytes que componen mi archivo, tomo un bloque de datos y lo uso para guardar punteros a otros bloques (que podré usar para guardar los bytes de mi archivo, o para guardar más punteros a bloques, según el nivel de indirección en que esté).

Entonces, en este caso el inodo tiene 12 punteros directos (o sea, de indirección 0), 1 puntero indirecto simple (indirección 1), 1 puntero indirecto doble (indirección 2), y 1 puntero indirecto triple (indirección 3).

Así que hay que ver cómo direccionamos cada uno de esos 612668 bloques de datos.

Los primeros 12 bloques los vamos a direccionar directamente desde el inodo, usando los punteros directos, por lo que direccionamos 12 bloques usando 0 bloques de punteros. Nos quedan sólo 612656 bloques por direccionar.

Después tenemos un puntero indirecto simple.

Si tenemos bloques de 4KiB (4096 bytes) y punteros de 64 bits (8 bytes), en cada bloque que usemos para punteros podemos guardar 4096 bytes / 8 bytes/puntero = 512 punteros.

Entonces, un puntero indirecto simple apunta a un bloque de punteros que apuntan a bloques de datos (un único nivel de indirección). O sea, el puntero indirecto simple apunta a un bloque de 512 punteros, que cada uno apunta a un bloque de datos: direccionamos 512 bloques de datos usando 1 bloque de punteros. Vamos usando 1 bloque extra para punteros y nos quedan 612144 bloques de datos para direccionar.

Sigue un indirecto doble. O sea, el inodo apunta a un bloque de 512 punteros, y cada uno de ellos apunta, no a un bloque de datos, si no a otro bloque con 512 punteros a bloques de datos cada uno. El bloque apunta a 512 bloques, que direccionan 512 bloques de datos cada uno: 512 punteros * 512 bloques = 262144 bloques de datos direccionados con el bloque de punteros apuntado desde el inodo + los 512 bloques de punteros apuntados desde ese bloque anterior. Direccionamos 262144 bloques de datos usando 513 bloques de punteros. Vamos usando 513 + 1 = 514 bloques extra para punteros, y nos falta direccionar 612144 - 262144 = 350000 bloques de datos.

Y nos queda el indirecto triple. Parecido a lo que hicimos antes: el inodo apunta un bloque de punteros, que apunta a 512 bloques de punteros, que cada uno apunta a 512 bloques también de punteros, que cada uno apunta a 512 bloques de datos. Si sacamos la cuenta "full" como veníamos haciendo, tenemos 512 * 512 * 512 = 134.217.728, que son algunos bloques más de los que necesitamos (sólo nos faltaban 350.000). Entonces no vamos a usar 512*512 bloques de punteros (es decir, usar toooodos los punteros que podemos llegar a tener en este nivel), si no que nomás vamos a usar los que necesitamos.

Pero, ¿cuántos necesitamos?

Buen, lo mínimo que podemos hacer es apuntar a un bloque de datos, y para eso necesitamos desde el inodo apuntar a un bloque de punteros, que apunte a un segundo bloque de punteros, que apunte a un tercer bloque de punteros, y ése sí apunte a un bloque de datos. Sería como quedarse únicamente con la rama de arriba del dibujito este de Caro:

[Imagen: attachment.php?aid=10272]

Pero con eso apuntaríamos un único bloque de datos, y necesitamos más que eso. Llenando ese último bloque de punteros, apuntamos a 512 bloques de datos. Sigue faltándonos. Si agregamos otro bloque de punteros (apuntado desde el de segundo nivel), pasaríamos a tener 4 bloques de punteros (uno de primer nivel, uno de segundo, y dos de tercero), y apuntaríamos a 2*512 = 1024 bloques de datos.

Podemos seguir así hasta llenar los 512 bloques de punteros que podemos referenciar desde el único bloque de segundo nivel que tenemos por ahora. En ese caso tendríamos un bloque de punteros de primer nivel, uno de segundo, y 512 bloques de punteros de tercer nivel. Y como cada uno de esos 512 bloques de tercer nivel apunta a 512 bloques de datos, estamos usando 512+1+1 = 514 bloques de punteros para direccionar 512*512 = 262144 bloques de datos. Necesitábamos 350000, así que necesitamos seguir agregando bloques.

Así que agregamos otro bloque de segundo nivel, que apunte a un nuevo bloque de tercer nivel, que apunta a 512 de datos. Entonces tenemos un bloque de primer nivel, dos de segundo, y 512+1 de tercer nivel: 516 bloques de punteros para 513*512 = 262656 bloques de datos. Siguen faltando 87344 bloques de datos.

En vez de seguir probando "a ojo", hacemos algunas estimaciones: si llenamos este bloque de segundo nivel, tendríamos 1024 bloques de tercer nivel, que apuntan a 512 bloques de datos cada uno: 1024*512 = 524288 bloques de datos. Nosotros necesitamos sólo 350000, así que con este bloque de segundo nivel nos va a alcanzar. Así que nuestra configuración final va a ser 1 bloque de punteros de primer nivel, 2 bloques de punteros de segundo nivel, y (512 + los que necesitemos ahora) bloques de tercer nivel.

350000 bloques que nos faltaban, direccionados de a 512 por bloque de tercer nivel, significa que necesitamos 683.59375 ---> 684 bloques de tercer nivel. 512 de esos se apuntan desde el primer bloque de segundo nivel, y quedan 172 direccionados desde el segundo bloque de segundo nivel.

En resumen (y me hice una re ensalada), necesitamos 1 bloque de punteros de primer nivel, 2 de segundo nivel, y 684 de tercer nivel. Eso da 687 bloques de punteros + los 612668 bloques de datos, y en total usamos 613355 bloques para guardar todo el archivo.



En vez de "ir sumando" bloques de segundo nivel, si sabés que cada bloque de tercer nivel direcciona 512 bloques de datos, directamente te conviene arrancar por ahí: 350.000/512 = 684 bloques de tercer nivel para direccionar todo eso. Y como cada bloque de segundo nivel direcciona 512 bloques de tercer nivel, entonces necesitás 2 bloques de segundo nivel para direccionar 684 de tercer nivel. Y esos dos bloques los direccionás con 1 bloque de primer nivel, y voilá.


Ya ni me acuerdo la pregunta, así que espero haberla respondido =)

O sea que en el post anterior le mentí a Caro :O

[Imagen: a2.php]
[Imagen: 971aa6599664453c05cb3e42d58bbc0eo.jpg]
(Este mensaje fue modificado por última vez en: 27-05-2015 12:05 por Desert69.)
27-05-2015 12:02
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Desert69 recibio 3 Gracias por este post
Gonza87 (27-05-2015), CarooLina (27-05-2015), sebas37_06 (30-06-2017)
Gonza87 Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 41
Agradecimientos dados: 8
Agradecimientos: 17 en 12 posts
Registro en: Dec 2008
Mensaje: #6
RE: Operativos, ejercicios de INODOS
(27-05-2015 12:02)Desert69 escribió:  Ya ni me acuerdo la pregunta, así que espero haberla respondido =)

Eso sin dudas y estoy casi seguro de haberlo entendido, o al menos estoy más cerca.
Muchísimas gracias!!
27-05-2015 15:41
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
CarooLina Sin conexión
Colaborador

********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3.743
Agradecimientos dados: 1.496
Agradecimientos: 1.683 en 547 posts
Registro en: Sep 2010
Mensaje: #7
RE: Operativos, ejercicios de INODOS
Hola Desert69
Recien puedo sentarme a ver que modificaste.
Lo unico que no entiendo es porque no tuviste en cuenta los otros 514 bloques de punteros (1 de ind simple y los 1+512 del indirecto doble)

El puso
Cita:El primero de los 512 de la ecuación está de más o de donde sale?
La suma de los bloques de datos no debiese dar el total de bloques?

Lo de la suma la verdad no lo sabia ni me lo imaginaba.

love
07-06-2015 21:53
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Desert69 Sin conexión
Presidente del CEIT
Sin estado :( / "Anarquia...
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.477
Agradecimientos dados: 230
Agradecimientos: 345 en 206 posts
Registro en: Jun 2008
Mensaje: #8
RE: Operativos, ejercicios de INODOS
Según lo que dije yo en esta última resolución, tras completar el puntero doble había usado 513 bloques para punteros, y me faltaba direccionar 350.000 bloques de datos.

Esos 350.000 los tengo que direccionar con el puntero triple. 350.000 bloques de datos se direccionan con wait for it... 350.000 punteros. Y si en cada bloque entran 512 punteros, entonces necesito 350.000 / 512 = 683.59375 ==> 684 bloques de punteros que apunten directamente a estos 350k bloques. Pero esos 684 no los puedo apuntar directamente desde el inodo, porque estoy en un puntero de tercer nivel de indirección: necesito 2 punteros de segundo nivel (porque cada uno apunta a solamente 512), más uno de primer nivel que apunte a esos dos de segundo, y a ese de primer nivel lo apunto desde el inodo. Entonces, 684 bloques de 3er nivel + 2 de 2do nivel + 1 de 1er nivel = 687 bloques de punteros, todos accesibles desde el inodo triple. Esos 687 + 513 que había usado hasta entonces = 1200 bloques de punteros en total.

Qué panqueque, estaba bien la resolución anterior: contestándole a Gonza me olvidé de los bloques que necesitaba para los niveles anteriores.

Y, tenés razón: para los primeros niveles deberían ser 514 bloques y no 513. Así que efectivamente cumplí con lo de que estaba dormido e hice cualquiera =(



Indirecto simple: 1 bloque de punteros =============> 1
Indirecto doble: 1 + 512 bloques de punteros ======> 513
Indirecto triple: 1 + 2 + 684 bloques de punteros ==> 687
Bloques de datos: 612668 bloques de datos ==========> 612668
Total: 613869 bloques




Caroolina Gonza87

[Imagen: a2.php]
[Imagen: 971aa6599664453c05cb3e42d58bbc0eo.jpg]
08-06-2015 10:58
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Desert69 recibio 1 Gracias por este post
CarooLina (08-06-2015)
CarooLina Sin conexión
Colaborador

********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3.743
Agradecimientos dados: 1.496
Agradecimientos: 1.683 en 547 posts
Registro en: Sep 2010
Mensaje: #9
RE: Operativos, ejercicios de INODOS
ahora si, perfecto!
Igual en mayo no le tomaron inodos, asi que no paso nada =P

muchas gracias por el tiempo!

love
08-06-2015 11:26
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Diesel Sin conexión
Profesor del Modulo A
me recibi !!! 25/10/2023
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 201
Agradecimientos dados: 178
Agradecimientos: 346 en 50 posts
Registro en: Sep 2012
Mensaje: #10
RE: Operativos, ejercicios de INODOS
Buenas resolvi el Segundo Ejercicio y me dio igual que caro, Dejo mi resolucion con colores para el que le cuesta como a mi ajajaj
saludos!!

[Imagen: yLu0I.jpg]


Ejercicio 3 resuelto como dijo el señor Desert69 que daba 613869 accesos. No se que cuenta hizo él pero a mi me dio asi ajaja

[Imagen: 1Yqty.jpg]
(Este mensaje fue modificado por última vez en: 17-07-2016 01:43 por Diesel.)
17-07-2016 01:08
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Diesel recibio 1 Gracias por este post
Mr.GG (12-07-2017)
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)