#include "lib_ksinu.h"
#include "interpreteur.h"
#include "fifo.h"
#include "signaux.h"
Aller au code source de ce fichier.
Composants | |
struct | parametre |
Structure correspondant a un parametre de commande. | |
Définitions des macros | |
#define | P_CONST 0 |
#define | P_REF 1 |
#define | P_DIRECT 0 |
#define | P_INDIR 1 |
Définitions des types | |
typedef parametre | param_t |
Fonctions | |
int | cmd_cpile (int pid, mot_t mot) |
Execute l'instruction CPILE. | |
int | cmd_dpile (int pid, mot_t mot) |
Execute l'instruction DPILE. | |
int | cmd_donnees (int pid, mot_t mot) |
Commande pour fixer la taille de la zone de donnees. | |
int | cmd_affect (int pid, mot_t mot) |
Execute l'instruction AFFECTE ref = ref_cst. | |
int | cmd_affectp (int pid, mot_t mot) |
Execute l'instruction AFFECTE+ ref += ref_cst. | |
int | cmd_affectsp (int pid, mot_t mot) |
Execute l'instruction AFFECTESP. | |
int | cmd_test (int pid, mot_t mot) |
Execute l'instruction TEST. | |
int | cmd_si (int pid, mot_t mot) |
Execute l'instruction SI. | |
int | cmd_saut (int pid, mot_t mot) |
Execute l'instruction SAUT. | |
int | cmd_appel (int pid, mot_t mot) |
Commande d'appel de fonction. | |
int | cmd_retour (int pid) |
Commande de retour de fonction. | |
int | cmd_fin (int pid) |
Commande TRAPPE terminant le processus. | |
int | cmd_id (int pid) |
Commande TRAPPE qui retourne le pid du processus. | |
int | cmd_idp (int pid) |
Commande TRAPPE qui retourne le ppid du processus. | |
int | cmd_capture (int pid) |
Commande TRAPPE qui associe un handler a un signal pour le processus. | |
int | cmd_emets (int pid) |
Commande TRAPPE qui envoie a un processus un signal. | |
int | cmd_recouvre (int pid) |
Commande TRAPPE qui recouvre l'espace memoire d'un processus pour executer un autre programme. | |
int | cmd_clone (int pid) |
Commande TRAPPE qui duplique l'espace memoire . | |
int | cmd_attends (int pid) |
Commande TRAPPE qui suspend le processu jusqu'à la mort d'un fils. | |
int | cmd_lit (int pid) |
Commande TRAPPE qui lit une lettre ds le tube d'entree. | |
int | cmd_ecrit (int pid) |
Commande TRAPPE qui ecrit une lettre ds le tube de sortie. | |
int | terminer_proc (int pid) |
Termine un processus proprement. | |
int | supprimer_proc (int pid) |
Supprime un proc et les pages mem attachees. | |
int | supprimer_partie_proc (int pid) |
Supprime les pages mem attachees au processus. | |
int | condition_vraie (mot_t mot) |
Regarde l'etat du drapeau du saut conditionnel. | |
int | changer_condition (int condition, mot_t mot) |
Modifie l'etat du drapeau du saut conditionnel. | |
int | parser_param (int pid, mot_t mot, param_t tab_param[2], int nb) |
Parse un mot contenant une instruction. |
Entete de commandes.c
Définition dans le fichier commandes.h.
|
Modifie l'etat du drapeau du saut conditionnel L'information est stockee sur le 4eme bit de poids fort (00010000) du mot.
Définition à la ligne 344 du fichier commandes.c. Référencé par cmd_test(). |
|
Execute l'instruction AFFECTE ref = ref_cst.
Définition à la ligne 594 du fichier commandes.c. Références parametre::ad, ecrire_mot(), ecrire_mot_mem(), lire_mot(), lire_mot_mem(), vad_t::num, parser_param(), parametre::type, parametre::zone, et vad_t::zone. Référencé par next_inst(). |
|
Execute l'instruction AFFECTE+ ref += ref_cst
Définition à la ligne 654 du fichier commandes.c. Références parametre::ad, ecrire_mot(), ecrire_mot_mem(), lire_mot(), lire_mot_mem(), vad_t::num, parser_param(), parametre::type, parametre::zone, et vad_t::zone. Référencé par next_inst(). |
|
Execute l'instruction AFFECTESP Stocke a l'adresse du 1er arg la valeur du 2eme arg qui correspond a un pointeur sur fonction.Puis deplace le compteur programme sur l'instruction suivante.
Définition à la ligne 724 du fichier commandes.c. Références parametre::ad, ecrire_mot(), ecrire_mot_mem(), lire_mot_mem(), vad_t::num, parser_param(), parametre::zone, et vad_t::zone. Référencé par next_inst(). |
|
Commande d'appel de fonction :
Définition à la ligne 417 du fichier commandes.c. Références parametre::ad, changer_esp(), ecrire_mot(), ecrire_mot_mem(), lire_etat(), lire_mot_mem(), vad_t::num, parser_param(), et vad_t::zone. Référencé par next_inst(). |
|
Commande TRAPPE qui suspend le processus jusqu'à la mort d'un fils.
Définition à la ligne 1634 du fichier commandes.c. Références changer_etat(), ecrire_mot(), ecrire_mot_mem(), lire_etat(), lire_mot(), lire_mot_mem(), lire_ppid(), lire_type_pp(), liste_proc, liste_supp_pid(), vad_t::num, rapatrier_page_swap(), supprimer_proc(), et vad_t::zone. Référencé par next_inst(). |
|
Commande TRAPPE qui associe un handler a un signal pour le processus.
Définition à la ligne 984 du fichier commandes.c. Références add_sig(), signal::cp, ecrire_mot(), ecrire_mot_mem(), lire_mot(), lire_mot_mem(), vad_t::num, sig_ksinu2lib(), signal::signal, et vad_t::zone. Référencé par next_inst(). |
|
Commande TRAPPE qui duplique l'espace memoire
Définition à la ligne 1441 du fichier commandes.c. Références changer_type_pp(), ecrire_mot(), ecrire_mot_mem(), liberer_page(), liberer_pid(), lire_etat(), lire_mot_mem(), lire_type_pp(), liste_acces_page(), liste_pages, vad_t::num, page_forcee(), pid_libre(), rapatrier_page_swap(), supprimer_proc(), et vad_t::zone. Référencé par next_inst(). |
|
Augmente la taille de la pile.
Définition à la ligne 1776 du fichier commandes.c. Références parametre::ad, changer_esp(), ecrire_mot_mem(), lire_mot_mem(), parser_param(), et parametre::type. Référencé par next_inst(). |
|
Commande pour fixer la taille de la zone de donnees.
Définition à la ligne 513 du fichier commandes.c. Références parametre::ad, ecrire_mot_mem(), lire_etat(), lire_mot_mem(), lire_type_pp(), page_forcee(), parser_param(), rapatrier_page_swap(), et parametre::type. Référencé par next_inst(). |
|
Diminue la taille de la pile.
Définition à la ligne 1825 du fichier commandes.c. Références parametre::ad, changer_esp(), ecrire_mot_mem(), lire_mot_mem(), parser_param(), et parametre::type. Référencé par next_inst(). |
|
Commande TRAPPE qui ecrit une lettre ds le tube de sortie. Commande bloquante
Définition à la ligne 1235 du fichier commandes.c. Références changer_etat(), ecrire_mot(), ecrire_mot_mem(), ecrire_stdout(), lire_mot(), lire_mot_mem(), liste_proc, liste_supp_pid(), vad_t::num, et vad_t::zone. Référencé par next_inst(). |
|
Commande TRAPPE qui envoie a un processus un signal
Définition à la ligne 1054 du fichier commandes.c. Références ecrire_mot(), ecrire_mot_mem(), lire_mot(), lire_mot_mem(), vad_t::num, sig_ksinu2lib(), et vad_t::zone. Référencé par next_inst(). |
|
Commande TRAPPE terminant le processus
Définition à la ligne 1337 du fichier commandes.c. Références terminer_proc(). Référencé par next_inst(). |
|
Commande TRAPPE qui retourne le pid du processus. C'est a dire qui l'ecrit sur la pile
Définition à la ligne 899 du fichier commandes.c. Références ecrire_mot(), ecrire_mot_mem(), lire_mot_mem(), vad_t::num, et vad_t::zone. Référencé par next_inst(). |
|
Commande TRAPPE qui ecrit sur le haut de la pile le ppid du processus.
Définition à la ligne 938 du fichier commandes.c. Références ecrire_mot(), ecrire_mot_mem(), lire_mot_mem(), lire_ppid(), vad_t::num, et vad_t::zone. Référencé par next_inst(). |
|
Commande TRAPPE qui lit une lettre ds le tube d'entree. La lecture est bloquante.
Définition à la ligne 1130 du fichier commandes.c. Références changer_etat(), ecrire_mot(), ecrire_mot_mem(), lire_mot(), lire_mot_mem(), lire_stdin(), liste_proc, liste_supp_pid(), vad_t::num, et vad_t::zone. Référencé par next_inst(). |
|
Commande TRAPPE qui recouvre l'espace memoire d'un processus pour executer un autre programme.
Définition à la ligne 1357 du fichier commandes.c. Références changer_ppid(), ecrire_mot(), lancer_prog(), liberer_page(), liberer_page_swap(), lire_etat(), lire_mot(), lire_mot_mem(), lire_ppid(), lire_type_pp(), vad_t::num, supprimer_partie_proc(), et vad_t::zone. Référencé par next_inst(). |
|
Commande de retour de fonction
Définition à la ligne 472 du fichier commandes.c. Références changer_esp(), ecrire_mot_mem(), lire_etat(), lire_mot(), lire_mot_mem(), vad_t::num, et vad_t::zone. Référencé par next_inst(). |
|
Execute l'instruction SAUT.
Définition à la ligne 870 du fichier commandes.c. Références parametre::ad, ecrire_mot_mem(), lire_mot_mem(), et parser_param(). Référencé par next_inst(). |
|
Execute l'instruction SI :
Définition à la ligne 836 du fichier commandes.c. Références parametre::ad, condition_vraie(), ecrire_mot_mem(), lire_mot_mem(), et parser_param(). Référencé par next_inst(). |
|
Execute l'instruction TEST.
Définition à la ligne 768 du fichier commandes.c. Références parametre::ad, changer_condition(), ecrire_mot_mem(), lire_mot(), lire_mot_mem(), vad_t::num, parser_param(), parametre::type, parametre::zone, et vad_t::zone. Référencé par next_inst(). |
|
Regarde l'etat du drapeau du saut conditionnel. L'information est stockee sur le 4eme bit de poids fort (00010000) du mot.
Définition à la ligne 333 du fichier commandes.c. Référencé par cmd_si(). |
|
Parse un mot contenant une instruction. Extrait de ce mot, les 2 parmetres de l'instruction ranges dans une structure.Cette fonction effectue egalement un pre-traitement en traitant le cas des indirections.
Définition à la ligne 364 du fichier commandes.c. Références parametre::ad, lire_mot(), vad_t::num, parametre::type, parametre::zone, et vad_t::zone. Référencé par cmd_affect(), cmd_affectp(), cmd_affectsp(), cmd_appel(), cmd_cpile(), cmd_donnees(), cmd_dpile(), cmd_saut(), cmd_si(), et cmd_test(). |
|
Supprime partiellement un processus :
Définition à la ligne 240 du fichier commandes.c. Références ecrire_mot_mem(), liberer_page(), liberer_page_swap(), lire_etat(), lire_mot_mem(), lire_type_pp(), rapatrier_page_swap(), et supp_all_sig(). Référencé par cmd_recouvre(), supprimer_proc(), et terminer_proc(). |
|
Supprime un proc :
Définition à la ligne 186 du fichier commandes.c. Références liberer_page(), liberer_pid(), lire_etat(), lire_mot_mem(), lire_type_pp(), liste_proc, liste_supp_pid(), rapatrier_page_swap(), et supprimer_partie_proc(). Référencé par cmd_attends(), cmd_clone(), lancer_prog(), et terminer_proc(). |
|
Termine un processus proprement : avant du supprimer completement un processus (fonction supprimer_proc), il faut
Définition à la ligne 38 du fichier commandes.c. Références changer_etat(), changer_ppid(), ecrire_mot(), ecrire_mot_mem(), lire_etat(), lire_mot(), lire_mot_mem(), lire_ppid(), lire_type_pp(), liste_add_pid(), liste_proc, vad_t::num, rapatrier_page_swap(), supprimer_partie_proc(), supprimer_proc(), et vad_t::zone. Référencé par cmd_fin(), interprete_signaux(), et next_inst(). |