All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class System_file.Inode

java.lang.Object
   |
   +----System_file.Inode

public class Inode
extends Object
Classe Inode . Chaque fichier et repertoires du disque sont representes dans le file system par une inode . Une inode contient les informations de base sur les fichiers, et les liens vers les blocs de donnees .
Les informations concernant les dates ont ete enregistré dans des instance des classe Securite et Date_inode

See Also:
Securite, Date_inode

Variable Index

 o data
Numeros des blocs de donnees allouees au fichier .
 o date
Lien vers les informations sur les dates de création, de modification et dernier acces a l'inode
 o lock
Inode en utilisation ou pas
 o nbBlocs
Nombre de bloc occupes par l'inode
 o nbLiens
Nombre de lien sur l'inode .
 o no
Numero dans la table des inodes
 o securite
Lien vers les informations sur le propriétaire et le groupe de l'inode , et les droits affectés a l'inode
 o taille
La taille du fichier .
 o type
Type : 0 fichier 1: repertoire

Constructor Index

 o Inode()
 o Inode(int)
Constructeur.

Method Index

 o ajout_entree(String, Inode, Super_bloc)
Ajout d'un fichier dans le repertoire pointe par l'inode
 o cherche_bloc_inode(int, Super_bloc)
Fonction qui donne le numero du bloc de l'inode .
 o cherche_inode(int, Super_bloc)
Retourne l'inode demande par son numero, correspondant à sa place dans la table des inodes
 o cherche_position_inode(int)
Fonction qui donne la position de l'inode dans le tableau de Bloc_inode .
 o ecrit_inode(Super_bloc)
Ecrit les modifications de l'inode demandee dans la table des inodes
 o liste_long_repertoire(Super_bloc)
Liste le contenu d'un repertoire pointe par l'inode en donnant le type (repertoire ou fichier) et la date de derniere modification .
 o liste_repertoire()
Liste le contenu d'un repertoire pointe par l'inode en donnant le nom des objets contenus et l'inode parent
 o lock_inode()
Verrouille une inode le temps de son utilisation
 o nb_inode_par_bloc()
Fonction qui donne le nombre d'inodes par bloc
 o nouvelle_inode(int, Super_bloc)
Cree et renvoie la premiere inode libre du file system.
 o unlock_inode()
Deverrouille une inode apres son utilisation

Variables

 o no
 public int no
Numero dans la table des inodes

 o type
 public int type
Type : 0 fichier 1: repertoire

 o securite
 public Securite securite
Lien vers les informations sur le propriétaire et le groupe de l'inode , et les droits affectés a l'inode

 o date
 public Date_inode date
Lien vers les informations sur les dates de création, de modification et dernier acces a l'inode

 o taille
 public int taille
La taille du fichier . Permet de connaitre le nombre de bloc alloues pour le fichier .

 o nbLiens
 public int nbLiens
Nombre de lien sur l'inode . Quand ce nombre arrive a 0, le fichier est detruit en même temps que l'inode .

 o data
 public int data[]
Numeros des blocs de donnees allouees au fichier . La meme gestion des pointeurs est utilisée que pour le systeme Unix : les 10 premiers elements du tableaux pointent directement vers 10 blocs de donnees (simple indirection), le 11 et 12 elements sont des blocs contiennent eux-même la reference vers d'autres blocs de donnees (double indirection), et le 13 element est un pointeur vers un bloc contenant des references vers des blocs contenant eux-même la reference vers d'autres blocs de donnees (triple indirection) .

 o nbBlocs
 public int nbBlocs
Nombre de bloc occupes par l'inode

 o lock
 public Boolean lock
Inode en utilisation ou pas

Constructors

 o Inode
 public Inode(int type_inode)
Constructeur. Cree une nouvelle inode de type type_inode

 o Inode
 public Inode()

Methods

 o cherche_bloc_inode
 private static int cherche_bloc_inode(int no,
                                       Super_bloc s)
Fonction qui donne le numero du bloc de l'inode .

Parameters:
no - Numero d'inode cherchée
 o nb_inode_par_bloc
 private static int nb_inode_par_bloc()
Fonction qui donne le nombre d'inodes par bloc

 o cherche_position_inode
 private static int cherche_position_inode(int no)
Fonction qui donne la position de l'inode dans le tableau de Bloc_inode .

Parameters:
no - Numero d'inode cherchée
 o cherche_inode
 public static Inode cherche_inode(int no,
                                   Super_bloc s)
Retourne l'inode demande par son numero, correspondant à sa place dans la table des inodes

Parameters:
no - Numero d'inode demandée
s - Le super bloc a partir duquel commencer la recherche
Returns:
L'inode trouvee
 o ecrit_inode
 public void ecrit_inode(Super_bloc s)
Ecrit les modifications de l'inode demandee dans la table des inodes

Parameters:
s - Le super bloc de l'inode
 o nouvelle_inode
 public static Inode nouvelle_inode(int type,
                                    Super_bloc s) throws Exception
Cree et renvoie la premiere inode libre du file system. Alloue un nouveau bloc si necessaire .

Parameters:
type - Type de l'inode a cree (0:fichier, 1:repertoire)
s - Le super bloc ou prendre l'inode
Returns:
La nouvelle inode allouée et ecrite
Throws: Exception
Disque plein
 o ajout_entree
 public void ajout_entree(String n,
                          Inode o,
                          Super_bloc s) throws Exception
Ajout d'un fichier dans le repertoire pointe par l'inode

Parameters:
n - Le nom du fichier a creer
o - L'inode du fichier
s - Le super bloc a partir duquel effectuer la recherche
Throws: Exception
Disque plein
Throws: Exception
Nom deja existant dans ce repertoire
Throws: Exception
Inode occupee
 o liste_repertoire
 public void liste_repertoire()
Liste le contenu d'un repertoire pointe par l'inode en donnant le nom des objets contenus et l'inode parent

 o liste_long_repertoire
 public void liste_long_repertoire(Super_bloc s)
Liste le contenu d'un repertoire pointe par l'inode en donnant le type (repertoire ou fichier) et la date de derniere modification .

 o lock_inode
 public void lock_inode() throws Exception
Verrouille une inode le temps de son utilisation

Throws: Exception
Inode en utilisation
 o unlock_inode
 public void unlock_inode() throws Exception
Deverrouille une inode apres son utilisation

Throws: Exception
Inode deja libere

All Packages  Class Hierarchy  This Package  Previous  Next  Index