Page principale   Liste par ordre alphabétique   Liste des composants   Liste des fichiers   Composants   Déclarations  

Référence du fichier interpreteur.c

Source definissant toutes les fonctions utiles pour interpreter une instruction. Plus de détails...

#include "interpreteur.h"

Aller au code source de ce fichier.

Fonctions

int pid_libre ()
int liberer_pid (int pid)
int page_libre (int pid)
int liberer_page (int page)
int page_swap_libre ()
int liberer_page_swap (int page)
int rapatrier_page_swap (int pid, int page)
int lire_mot_mem (int num_mot, int num_pp, mot_t mot)
int ecrire_mot_mem (int num_mot, int num_pp, mot_t mot)
int adresse_phys (int pid, vad_t ad_v, info_page_t info)
int page_swap2mem (int num_page_swap, int num_page_mem)
int page_mem2swap (int num_page_mem, int num_page_swap)
void next_inst (int pid)


Description détaillée

Définition dans le fichier interpreteur.c.


Documentation de la fonction

int adresse_phys int    pid,
vad_t    ad_v,
info_page_t    info
 

  • * - * -
Paramètres:
pid  : num du processus auquel appartient l'adresse virtuelle
ad_v  : adresse virtuelle dont on veut connaitre l'adresse physique correspondante
info  : structure qui sera remplie par l'adresse physique, son type et ses droits
Renvoie:
  • -1 en cas d'erreur
  • 0 sinon

Définition à la ligne 433 du fichier interpreteur.c.

Références info_page_t::droits, lire_mot_mem(), vad_t::num, info_page_t::num, rapatrier_page_swap(), info_page_t::type, et vad_t::zone.

int ecrire_mot_mem int    num_mot,
int    num_pp,
mot_t    mot
 

Paramètres:
num_pp  : Numero de la page physique en memoire ds laquelle on veut ecrire un mot
num_mot  : Emplacement ds cette page ou on veut ecrire le mot
mot  : Le mot a ecrire
Renvoie:
  • -1 en cas d'erreur
  • 0 sinon

Définition à la ligne 398 du fichier interpreteur.c.

Références liste_acces_page(), et liste_pages.

Référencé par liberer_page(), liberer_page_swap(), liberer_pid(), page_libre(), page_swap_libre(), pid_libre(), et rapatrier_page_swap().

int liberer_page int    page
 

Paramètres:
page  : Numero de la page non utilisee (a liberer)
Renvoie:
  • -1 erreur : le numero de page n'a pas ete libere
  • -2 erreur : le numero de page a ete libere mais le numero de la plus petite page n'est peut-etre plus exact
  • 0 succes

Définition à la ligne 150 du fichier interpreteur.c.

Références ecrire_mot_mem(), lire_mot_mem(), liste_pages, et liste_supp_page().

Référencé par page_libre().

int liberer_page_swap int    page
 

Paramètres:
page  : Numero de la page non utilisee (a liberer)
Renvoie:
  • -1 erreur : le numero de page n'a pas ete libere
  • -2 erreur : le numero de page a ete libere mais le pointeur courant n'a pas ete mis a jour
  • 0 succes

Définition à la ligne 226 du fichier interpreteur.c.

Références ecrire_mot_mem(), lire_mot_mem(), et page_mem2swap().

int liberer_pid int    pid
 

Paramètres:
pid  : Numero du processus mort qu'il faut donc declare comme libre
Renvoie:
  • -1 erreur : le numero de processus n'a pas ete libere
  • -2 erreur : le numero de processus a ete libere mais le numero de le plus petit pid n'est peut-etre plus exact
  • 0 succes

Définition à la ligne 59 du fichier interpreteur.c.

Références ecrire_mot_mem(), et lire_mot_mem().

int lire_mot_mem int    num_mot,
int    num_pp,
mot_t    mot
 

Paramètres:
num_pp  : Numero de la page physique en memoire ds laquelle on veut lire un mot
num_mot  : Numero du mot qu'on veut lire ds cette page
mot  : Structure qui sera remplie apres lecture
Renvoie:
  • -1 en cas d'erreur
  • 0 sinon

Définition à la ligne 365 du fichier interpreteur.c.

Références liste_acces_page(), et liste_pages.

Référencé par adresse_phys(), liberer_page(), liberer_page_swap(), liberer_pid(), next_inst(), page_libre(), page_swap_libre(), pid_libre(), et rapatrier_page_swap().

void next_inst int    pid
 

Paramètres:
pid  : num du processus
Renvoie:
rien

Définition à la ligne 505 du fichier interpreteur.c.

Références lire_mot(), lire_mot_mem(), vad_t::num, et vad_t::zone.

Référencé par top_horloge_handler().

int page_libre int    pid
 

Paramètres:
pid  : Numero du processus auquel on veut attacher cette page
Renvoie:
  • -1 en cas d'erreur
  • -2 S'il n'y a plus de page libre en memoire principale
  • un num de page libre

Définition à la ligne 86 du fichier interpreteur.c.

Références ecrire_mot_mem(), liberer_page(), lire_mot_mem(), liste_add_page(), liste_pages, et page_libre().

Référencé par page_libre(), et rapatrier_page_swap().

int page_mem2swap int    num_page_mem,
int    num_page_swap
 

Paramètres:
num_page_mem  : numero de la page a copier
num_page_swap  : numero de la page swap dans laquelle on veut faire la copie
Renvoie:
  • -1 en cas d'erreur
  • 0 sinon

Définition à la ligne 492 du fichier interpreteur.c.

Référencé par liberer_page_swap(), et rapatrier_page_swap().

int page_swap2mem int    num_page_swap,
int    num_page_mem
 

Paramètres:
num_page_swap  : numero de la page a copier
num_page_mem  : numero de la page memoire dans laquelle on veut faire la copie
Renvoie:
  • -1 en cas d'erreur
  • 0 sinon

Définition à la ligne 476 du fichier interpreteur.c.

Référencé par page_swap_libre(), et rapatrier_page_swap().

int page_swap_libre  
 

Renvoie:
  • -1 En cas d'erreur
  • -2 S'il n'y a plus de page libre en memoire principale
  • un num de page libre

Définition à la ligne 186 du fichier interpreteur.c.

Références ecrire_mot_mem(), lire_mot_mem(), et page_swap2mem().

Référencé par rapatrier_page_swap().

int pid_libre  
 

Renvoie:
  • -1 en cas d'erreur
  • -2 S'il n'y a plus de pid libre
  • un num de processus libre

Définition à la ligne 15 du fichier interpreteur.c.

Références ecrire_mot_mem(), lire_mot_mem(), et pid_libre().

Référencé par pid_libre().

int rapatrier_page_swap int    pid,
int    page
 

Paramètres:
page  : Numero de la page swap qu'on veut mettre en memoire principale
Renvoie:
  • -1 en cas d'erreur
  • le numero de la page memoire dans laquelle a ete copiee la page swap

Définition à la ligne 272 du fichier interpreteur.c.

Références ecrire_mot_mem(), lire_mot_mem(), liste_old_page(), liste_pages, page_libre(), page_mem2swap(), page_swap2mem(), et page_swap_libre().

Référencé par adresse_phys().


Généré le Fri Jun 7 09:49:32 2002 pour KSInu par doxygen1.2.16