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

Référence du fichier interpreteur.h

Entete de interpreteur.c. Plus de détails...

#include "lib_ksinu.h"
#include "commandes.h"
#include "fifo.h"

Aller au code source de ce fichier.

Composants

struct  info_page_t
 Structure definissant une page physique.

struct  vad_t
 Structure definissant une adresse virtuelle.


Définitions des macros

#define Z_CODE   0
#define Z_DONNEES   1
#define Z_PILE   2
#define I_AFFECT   1
#define I_AFFECTP   2
#define I_SI   3
#define I_SAUT   4
#define I_CPILE   5
#define I_DPILE   6
#define I_APPEL   7
#define I_RETOUR   8
#define I_TEST   9
#define I_TRAPPE   10
#define I_AFFECTSP   11
#define I_DONNEES   255
#define T_CLONE   1
#define T_RECOUVRE   2
#define T_ATTENDS   3
#define T_FIN   4
#define T_CAPTURE   5
#define T_EMETS   6
#define T_ID   7
#define T_IDP   8
#define T_LIT   9
#define T_ECRIT   10

Fonctions

int pid_libre ()
int page_libre (int pid)
int page_swap_libre ()
int liberer_pid (int pid)
int liberer_page (int page)
int liberer_page_swap (int page)
int rapatrier_page_swap (int pid, int page)
int adresse_phys (int pid, vad_t ad_v, info_page_t info)
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 page_swap2mem (int num_page_swap, int num_page_mem)
int page_mem2swap (int num_page_mem, int num_page_swap)
int lire_mot (int pid, vad_t ad_v, mot_t mot)
int ecrire_mot (int pid, vad_t ad_v, mot_t mot)
void next_inst (int pid)


Description détaillée

Définition dans le fichier interpreteur.h.


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(), info_page_t::num, vad_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