All Packages Class Hierarchy This Package Previous Next Index
Class System_file.Free_bloc
java.lang.Object
|
+----System_file.Free_bloc
- public class Free_bloc
- extends Object
Classe Free_bloc. Cette classe est utilisée pour gérer l'espace libre du disque .
L'element adresse[0] designe le prochain Free_bloc contenant des adresses de bloc
libres .
Ces elements sont alloues lors de l'instanciation du disque, plus particulierement
lors de l'appel au constructeur de la classe Super_bloc
- See Also:
- Super_bloc
-
adresse
- Tableau des numeros de blocs pointés .
-
nbBlocs
- Nombre de blocs pointes par ce bloc (Nombre d'elements du tableau adresse)
-
Free_bloc()
-
-
ecrire_bloc(int)
- Fonction qui ecrit un bloc de type Free_bloc .
-
lire_bloc(int)
- Fonction qui lit un bloc de type Free_bloc .
-
nouveau_bloc_libre(Super_bloc, int)
- Fonction qui rajoute un bloc libre la liste du Super_bloc .
-
prendre_bloc_libre(Super_bloc)
- Fonction qui enleve un bloc libre la liste du Super_bloc .
-
prendre_element()
- Fonction qui prend un bloc libre, le supprime de la liste et retourne
son numero .
-
rendre_element(int)
- Fonction rajoute un bloc libre la liste du Free_bloc
-
tableau_plein()
- Retourne vrai si le le bloc ne peut plus contenir de nouvelle adresse
-
tableau_vide()
- Retourne vrai si le le bloc ne contient aucune adresse de bloc libre
adresse
public int adresse[]
- Tableau des numeros de blocs pointés . On construit le tableau pour
qu'il tienne dans un bloc . On effectue le calcul a partir de la taille
des blocs definis dans Disk, et la taille d'un entier (4).
nbBlocs
public int nbBlocs
- Nombre de blocs pointes par ce bloc (Nombre d'elements du tableau adresse)
Free_bloc
public Free_bloc()
ecrire_bloc
public void ecrire_bloc(int no_bloc)
- Fonction qui ecrit un bloc de type Free_bloc .
Le bloc ecrit est l'objet en cours
- Parameters:
- no_bloc - Le numero du bloc à écrire
lire_bloc
public void lire_bloc(int no_bloc)
- Fonction qui lit un bloc de type Free_bloc .
Affecte les attributs de l'objet en cours avec le bloc lu
- Parameters:
- no_bloc - Le numero du bloc à lire
prendre_element
public int prendre_element() throws Exception
- Fonction qui prend un bloc libre, le supprime de la liste et retourne
son numero .
- Returns:
- Le numero de bloc trouve
- Throws: Exception
- Le bloc ne contient pas d'adresse de blocs libres
rendre_element
public void rendre_element(int no_bloc) throws Exception
- Fonction rajoute un bloc libre la liste du Free_bloc
- Parameters:
- no_bloc - Le numero de bloc libre a rajouter
- Throws: Exception
- Le bloc est plein
nouveau_bloc_libre
public void nouveau_bloc_libre(Super_bloc s,
int no) throws Exception
- Fonction qui rajoute un bloc libre la liste du Super_bloc . On alloue
un nouveau Free_bloc si necessaire
- Parameters:
- s - Le super-bloc qui contient le lien vers le premier
Free_bloc
- no - Le numero de bloc libre a rajouter
- Throws: Exception
- Le bloc est plein
prendre_bloc_libre
public int prendre_bloc_libre(Super_bloc s) throws Exception
- Fonction qui enleve un bloc libre la liste du Super_bloc . On libere
un Free_bloc si necessaire
- Parameters:
- s - Le super-bloc qui contient le lien vers le premier
Free_bloc
- Returns:
- Le numero de bloc disponible
- Throws: Exception
- Le bloc ne contient pas d'adresse de blocs libres
tableau_plein
private Boolean tableau_plein()
- Retourne vrai si le le bloc ne peut plus contenir de nouvelle adresse
tableau_vide
private Boolean tableau_vide()
- Retourne vrai si le le bloc ne contient aucune adresse de bloc libre
All Packages Class Hierarchy This Package Previous Next Index