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

Référence du fichier systeme.h

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

#include "interpreteur.h"
#include "fifo.h"
#include "commandes.h"

Aller au code source de ce fichier.

Composants

struct  message
 Structure representant un message a lire ou a ecrire ds le tube.


Définitions des macros

#define LP   1
#define STDIN   2
#define QUANTUM   3
#define CADANCE   4
#define HORLOGE   5
#define LPT   6
#define PPP   7
#define PSIG   8
#define SIG   9
#define FIFO_NAME   "fifo.f"

Définitions des types

typedef message message
 Structure representant un message a lire ou a ecrire ds le tube.


Fonctions

void init_mem ()
 Initialise la memoire principale.

int init_swap ()
 Initialise la memoire secondaire (swap).

int lancer_prog (char *fic, int pid)
 Lancement d'un programme.

void top_horloge_handler (int sig)
 Handler interceptant SIGUSR1.

void interface_handler (int sig)
 Handler interceptant SIGUSR2.

int lire_tube ()
 Lis dans le tube.

int ecrit_tube (struct message mes)
 Ecris dans le tube.

int modif_process (int num_proc, char *ref)
 Ecrit une chaine de caractére dans le tampon d'entree dun processus.

int liste_process ()
 Affiche tous les processus et leur etats.

int printtp (pid_t pid)
 Affiche le contenue de la table des processus.

int printpp (int num_pp)
 Ecrire le contenue d'une page physique dans un fichier.

int printsig (int num_sig)
 Afficher les signaux.

int signal_proc (int num_sign, int num_proces)
 Envoyer un signal a un processus.

int interprete_commande (message mes)
 Interprete une commande lus dans le tube.


Variables

pid_t pid
int fifo


Description détaillée

Définition dans le fichier systeme.h.


Documentation de la fonction

void init_mem  
 

Initialise la memoire principale

Renvoie:
rien

Définition à la ligne 21 du fichier systeme.c.

Références changer_etat().

int init_swap  
 

Initialise la memoire secondaire (swap)

Renvoie:
  • -1 en cas d'echec
  • 0 en cas de reussite

Définition à la ligne 72 du fichier systeme.c.

void interface_handler int    sig
 

Handler interceptant SIGUSR2 qui averti le systeme qu'une requete a ete envoyee ds le tube

Paramètres:
sig  : le num du signal
Renvoie:
rien

Définition à la ligne 311 du fichier systeme.c.

Références lire_tube().

int interprete_commande message    mes
 

Interpreter les commandes envoyes par l'interface

Paramètres:
structure  message contenant la commande ainsi que les arguments
Renvoie:
  • -1 en cas d'erreur
  • 0 sinon

Définition à la ligne 350 du fichier systeme.c.

Références message::commande, message::int_opt, message::int_opt2, liste_process(), modif_process(), printpp(), printsig(), printtp(), message::ref, et signal_proc().

Référencé par lire_tube().

int lancer_prog char *    fic,
int    pid
 

Lancement d'un programme: creation d'un processus avec une table des pages et remplissage de la zone de code. Rem:

  • La zone de pile est allouee dynamiquement durant l'execution du processus
  • La zone de donnees est fixee par la 1ere instruction (DONNEES)
Paramètres:
fic  : nom du fichier contenant le code objet du programme a lancer
Renvoie:
  • -1 en cas d'echec
  • 0 sinon

Définition à la ligne 138 du fichier systeme.c.

Références changer_etat(), changer_type_pp(), ecrire_mot_mem(), ecrire_page_swap(), liberer_page(), liberer_pid(), page_forcee(), page_libre(), page_swap_libre(), pid_libre(), et supprimer_proc().

Référencé par cmd_recouvre().

int lire_tube  
 

Lire le contenue du tube

Renvoie:
  • -1 en cas d'echec
  • 0 sinon

Définition à la ligne 322 du fichier systeme.c.

Références interprete_commande().

Référencé par interface_handler().

int liste_process  
 

Lister tous les processus actif

Renvoie:
  • -1 en cas d'erreur
  • 0 sinon

Définition à la ligne 403 du fichier systeme.c.

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

Référencé par interprete_commande().

int modif_process int    num_proc,
char *    ref
 

Ecrit une chaine de caractere dans le tampon d'entree dun processus

Paramètres:
numero  du processus
chaine  de carracteres
Renvoie:
  • -1 en cas d'erreur
  • 0 sinon

Définition à la ligne 385 du fichier systeme.c.

Références ecrire_stdin().

Référencé par interprete_commande().

int printpp int    num
 

Ecris dans un fichier le contenue d'une page physique

Paramètres:
numero  de la page
Renvoie:
  • -1 en cas d'erreur
  • 0 sinon

Définition à la ligne 509 du fichier systeme.c.

Références lire_mot_mem().

Référencé par interprete_commande().

int printsig int    num_proc
 

Fonction qui affiche les informations relatives aux signaux

Paramètres:
pid  : num du processus
Renvoie:
  • -1 en cas d'erreur inconnue
  • 0 sinon

Définition à la ligne 539 du fichier systeme.c.

Références lire_mot_mem(), SIFINSTI, SIFKILL, SIFMEM, SIFREP, SIFSUSP, SIFUNSIG, SIFUSR1, et SIFUSR2.

Référencé par interprete_commande().

int printtp pid_t    pid
 

Afficher la table des pages d'un processus

Paramètres:
numero  de processus
Renvoie:
  • -1 en cas d'erreur
  • 0 sinon

Définition à la ligne 452 du fichier systeme.c.

Références lire_mot_mem().

Référencé par interprete_commande().

int signal_proc int    num_sig,
int    pid
 

Fonction qui affecte un signale a un processus

Paramètres:
num_sig  : num du signal
pid  : num du processus
Renvoie:
  • -1 en cas d'erreur inconnue
  • 0 sinon

Définition à la ligne 583 du fichier systeme.c.

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

Référencé par interprete_commande().

void top_horloge_handler int    sig
 

Handler interceptant SIGUSR1 qui demande au systeme d'executer une nouvelle instruction

Paramètres:
sig  : le num du signal
Renvoie:
rien

Définition à la ligne 291 du fichier systeme.c.

Références interprete_signaux(), liste_next_pid(), liste_proc, et next_inst().


Généré le Sun Sep 29 22:47:25 2002 pour KSInu par doxygen1.2.16