7#include <manux/appelsysteme.h>
9#include <manux/errno.h>
21#if defined(MANUX_TACHES) && !defined(MANUX_REENTRANT)
36 printk(
"I am so useless, ...\n");
40 printk(
"It took me some time, ...\n");
45#ifdef MANUX_AS_TEST_SYNCHRO
53static int testSynchroCompteur = 0;
54#define MANUX_AS_TEST_SYNCHRO_DELAI 500
56int sys_testSynchroAS(
ParametreAS as,
int inc,
int action)
60 x = testSynchroCompteur;
73 testSynchroCompteur = x;
75 return testSynchroCompteur;
118#ifdef MANUX_AS_TEST_SYNCHRO
145#if defined(MANUX_TACHES) && !defined(MANUX_REENTRANT)
158#if defined(MANUX_TACHES) && !defined(MANUX_REENTRANT)
163# ifdef MANUX_TUBE_REENTRANT
164 if (num != NBAS_TUBE) {
167 assert(tacheDansLeNoyau == 0);
169# ifdef MANUX_TUBE_REENTRANT
187#if defined(MANUX_TACHES) && !defined(MANUX_REENTRANT)
192# ifdef MANUX_TUBE_REENTRANT
193 if (num != NBAS_TUBE) {
195 tacheDansLeNoyau = 0;
197# ifdef MANUX_TUBE_REENTRANT
void * vecteurAppelsSysteme[NB_MAX_APPELS_SYSTEME]
void entrerAppelSysteme(uint32_t num)
Prélude à un appel système.
int definirAppelSysteme(int num, void *appel)
void sortirAppelSysteme(uint32_t num)
Fin d'un appel système.
void initialiserAppelsSysteme(void)
Définition des exlusions mutuelles.
void exclusionMutuelleEntrer(ExclusionMutuelle *em)
Entrée en exclusion mutuelle.
void exclusionMutuelleInitialiser(ExclusionMutuelle *em)
Initialisation d'une exclusion mutuelle.
void exclusionMutuelleSortir(ExclusionMutuelle *em)
NO_OPTIMIZE void attenteMilliSecondes(int n)
Attente active de n millisecondes.
#define NB_MAX_APPELS_SYSTEME
Définition des fonctions de base d'accés à la console.
typedef void(Handler(void))
Définition des fonctions de base d'entrée-sortie du noyau.
void printk(char *format,...)
Fonction principale d'affichage dans le noyau.
uint16_t a
Exemple de fonction de mise-à -jour d'un paramètre dans un registre.
#define paniqueNoyau(fmt, args...)
#define printk_debug(lvl, fmt, args...)
int sys_identifiantTache(void)
TacheID sys_creerTache(ParametreAS as, CorpsTache corpsTache, booleen shareConsole)
Tache * tacheEnCours
: L'identification de la tâche en cours
void ordonnanceur(void)
Basculer vers la prochaine tache à exécuter.
int sys_basculerTache(ParametreAS as)