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
-
data
- Numeros des blocs de donnees allouees au fichier .
-
date
- Lien vers les informations sur les dates de création, de modification et dernier
acces a l'inode
-
lock
- Inode en utilisation ou pas
-
nbBlocs
- Nombre de bloc occupes par l'inode
-
nbLiens
- Nombre de lien sur l'inode .
-
no
- Numero dans la table des inodes
-
securite
- Lien vers les informations sur le propriétaire et le groupe de l'inode ,
et les droits affectés a l'inode
-
taille
- La taille du fichier .
-
type
- Type : 0 fichier 1: repertoire
-
Inode()
-
-
Inode(int)
-
Constructeur.
-
ajout_entree(String, Inode, Super_bloc)
- Ajout d'un fichier dans le repertoire pointe par l'inode
-
cherche_bloc_inode(int, Super_bloc)
- Fonction qui donne le numero du bloc de l'inode .
-
cherche_inode(int, Super_bloc)
- Retourne l'inode demande par son numero, correspondant à sa place dans la
table des inodes
-
cherche_position_inode(int)
- Fonction qui donne la position de l'inode dans le tableau de Bloc_inode .
-
ecrit_inode(Super_bloc)
- Ecrit les modifications de l'inode demandee dans la table des inodes
-
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 .
-
liste_repertoire()
- Liste le contenu d'un repertoire pointe par l'inode
en donnant le nom des objets contenus et l'inode parent
-
lock_inode()
- Verrouille une inode le temps de son utilisation
-
nb_inode_par_bloc()
- Fonction qui donne le nombre d'inodes par bloc
-
nouvelle_inode(int, Super_bloc)
- Cree et renvoie la premiere inode libre du file system.
-
unlock_inode()
- Deverrouille une inode apres son utilisation
no
public int no
- Numero dans la table des inodes
type
public int type
- Type : 0 fichier 1: repertoire
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
date
public Date_inode date
- Lien vers les informations sur les dates de création, de modification et dernier
acces a l'inode
taille
public int taille
- La taille du fichier . Permet de connaitre le nombre de bloc alloues pour le fichier .
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 .
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) .
nbBlocs
public int nbBlocs
- Nombre de bloc occupes par l'inode
lock
public Boolean lock
- Inode en utilisation ou pas
Inode
public Inode(int type_inode)
- Constructeur. Cree une nouvelle inode de type type_inode
Inode
public Inode()
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
nb_inode_par_bloc
private static int nb_inode_par_bloc()
- Fonction qui donne le nombre d'inodes par bloc
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
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
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
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
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
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
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 .
lock_inode
public void lock_inode() throws Exception
- Verrouille une inode le temps de son utilisation
- Throws: Exception
- Inode en utilisation
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