taille maximale du système de fichiers sur mon test… approche?


1

Bonjour à tous, je suis nouveau sur le site, et j'ai une question. J'ai eu cette question à un test et je voudrais vraiment connaître la bonne approche pour résoudre ce problème? Voici la question.

Dans un système de fichiers indexé, le premier bloc index (inode) a 12 pointeurs directs et un pointeur sur un bloc index indirect. Le système de fichiers est implémenté sur un disque avec une taille de bloc de disque de 1024 octets. Tous les pointeurs sont en 32 bits. Question: quelle est la taille de fichier maximale (kilo-octets) de ce système de fichiers?

Si c'est possible, il ne s'agit pas simplement d'une réponse, mais d'une explication.

C'était un choix multiple avec 4 réponses

  • une. 13 K
  • b. 268 K
  • c. 524 K
  • ré. 1036 K

En ce qui concerne mon approche, je n’ai appris que 1 pointeur est en 32 bits

J'ai aussi trouvé quelque chose d'autre sur le site qui semble très utile: https://stackoverflow.com/questions/2755006/understanding-the-concept-of-inodes

Ok, j'ai compris jusqu'ici. Il y a 12 blocs et chaque bloc est de 1024 octets. 1024 * 12 = 12288 octets ou 12 Ko directement accessibles. Corrigez-moi si j'ai tort, s'il-vous plait. Chaque pointeur correspond à 32 bits = 4 octets. Pour être honnête à ce stade, je commence à être confus, d’autant plus que ma réponse est bien au-dessus de mes réponses à choix multiples.


1
Avez-vous deviné? Ou des idées sur la façon dont vous vous y prendriez pour le résoudre? Cela nous aiderait à vous donner des réponses plus utiles si nous connaissions votre processus de pensée.
David Z

ok laissez-moi éditer mon post. merci pour votre réponse d'ailleurs.
Jocco

Réponses:


1

Si vous pouvez m'expliquer comment ce système de fichiers allouerait les blocs d'index et les blocs de données pour un fichier de 40 Ko, je pourrais probablement vous aider. Mais je n'ai pas le contexte qui vous oblige à comprendre comment ce système de fichiers hypothétique utiliserait les blocs d'index, les pointeurs directs dans les blocs d'index et les blocs d'index indirect référencés dans la question.


Il y a 12 blocs et chaque bloc a 1024 octets. 1024 * 12 = 12288 octets ou 12 Ko directement accessibles.

Clairement, la taille maximale du fichier serait de 12 Ko si le seul moyen de stocker les données d'un fichier consistait à allouer un bloc de données par pointeur d'inode. Puisque ce n'est pas une de vos réponses, je suppose que vous ne comprenez pas complètement comment les données d'un fichier sont stockées dans cet exemple de système de fichiers.

N'oubliez pas qu'il existe également un pointeur sur un bloc d'index indirect. Quel est le but / l'utilisation du bloc d'index indirect dans ce système de fichiers?

Le but du bloc d'index indirect dans ce système de fichiers est SI SI je comprends bien, c'est que le pointeur indirect pointe vers un bloc entier de pointeurs.

En supposant que vous ayez raison, vous le sauriez mieux que moi puisque je n'ai pas suivi votre cours. Combien de pointeurs le bloc d'index indirect peut-il contenir? Combien de (plus) données pourriez-vous stocker en utilisant ces pointeurs? Quelle serait la taille totale maximale du fichier?


J'édite un peu mon post, peut-être que cela clarifie certaines choses. Merci pour la réponse aussi.
Jocco

1
Il est vrai que le système de fichiers est bien compris, je suis tout à fait d’accord pour dire que j’ai finalement perdu; Le but du bloc d'index indirect dans ce système de fichiers est SI SI je comprends bien, c'est que le pointeur indirect pointe vers un bloc entier de pointeurs.
Jocco

Cela dépend, mais dans cet exemple, je pense qu'il ne s'agit que d'un pointeur. (appréciez vos réponses d'ailleurs)
jeudi

@jocco - Pourquoi un seul pointeur? Vous avez dit qu'un pointeur indirect peut pointer vers un bloc entier de pointeurs, non?
irrationnel John

désolé pour la réponse tardive, je vais élaborer plus demain (avec un autre ordinateur)
jocco

0

Ma conjecture serait:

12 directly-pointed blocks
1 index block containing (1024 / 4) = 256 block-pointers

Total:  12 + 256 = 268 blocks = 268 K

Bien que je dois remarquer que cette question est extrêmement ambiguë.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.