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

Référence du fichier systeme.c

#include "commandes.h"
#include "systeme.h"

Aller au code source de ce fichier.

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 interprete_commande (message mes)
 Interprete une commande lus 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)
 Ecrire le contenue d'une page physique dans un fichier.

int printsig (int num_proc)
 Afficher les signaux.

int signal_proc (int num_sig, int pid)
 Envoyer un signal a un processus.


Description détaillée

Source de base definissant le fonctionnement du systeme. Gere par exemple :

Définition dans le fichier systeme.c.


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:24 2002 pour KSInu par doxygen1.2.16