32 #define USER_PROCESS_BASE 0x40000000
44 #define CPU_USAGE_SAMPLE_RATE 100
49 #define PROCSTATE_IDLE 0
50 #define PROCSTATE_RUNNING 1
51 #define PROCSTATE_WAITING 2
52 #define PROCSTATE_SUSPENDED 3
53 #define PROCSTATE_TERMINATED 4
55 #define CURRENT_PROCESS -1
202 void sample_CPU_usage();
Page Directory Entry.
Definition: pagination.h:46
Structure représentant un processus.
Definition: kprocess.h:92
Definition: kprocess.h:143
uint16_t pid
Definition: kprocess.h:93
struct _proclist_cell * prev
Definition: kprocess.h:146
process_t * get_next_process()
Retourne le processus suivant le processus courant dans la liste.
uint16_t ppid
Definition: kprocess.h:94
Structure qui caractérise un binaire elf.
Definition: elf.h:272
char ** envp
Definition: kprocess.h:68
char * name
Definition: kprocess.h:66
Types pour les signaux (en particulier les numéros de signaux).
uint8_t state
Definition: kprocess.h:96
Definition: process_types.h:34
Definition: kprocess.h:64
#define FOPEN_MAX
Definition: fd_types.h:35
void * data
Definition: kprocess.h:72
struct process process_t
Structure représentant un processus.
unsigned short int uint16_t
Definition: types.h:35
uint32_t get_proc_count()
Retourne le nombre de processus dans la liste.
Definition: kprocess.c:58
Definition: symtable.h:40
struct _proclist_cell * next
Definition: kprocess.h:145
SYSCALL_HANDLER1(sys_exit, uint32_t ret_value)
Syscall appelé lors de la fin d'exécution d'un process.
Definition: kprocess.c:570
process_t * find_process(int pid)
Cherche le process_t* en correspondant à un pid donné.
Definition: kprocess.c:89
int sem_wait
Definition: kprocess.h:125
int exec_type
Definition: kprocess.h:70
void procfs_init()
Initialisation du proc FS.
Definition: procfs.c:671
int create_kprocess(char *name, void *entry_point, uint32_t stack_size)
Crée un nouveau processus kernel. Crée un nouveau processus kernel et l'ajoute à la liste des process...
Definition: kprocess.c:403
Structures liées aux fichiers ouverts.
unsigned char uint8_t
Definition: types.h:34
int nb_children
Definition: kprocess.h:135
int sem_wait_child
Definition: kprocess.h:130
Definition: signal_types.h:40
uint32_t vaddr_t
Definition: types.h:38
struct _proclist_cell * proc_list
char * ctrl_tty
Definition: kprocess.h:116
unsigned long int uint32_t
Definition: types.h:36
#define MAX_PROC
Definition: kprocess.h:42
uint16_t ppid
Definition: kprocess.h:83
process_t * get_process_array(int i)
Récupère un process à partir de sa position dans le tableau.
Definition: kprocess.c:63
Definition: fd_types.h:91
int delete_process(int pid)
Retire un processus de la liste.
Definition: kprocess.c:94
char * args
Definition: kprocess.h:67
void clean_process_list()
Nettoie la liste des processus. Retire de la liste tous les processus en état PROCSTATE_TERMINATED.
process_t * process
Definition: kprocess.h:144
char * name
Definition: kprocess.h:95
SYSCALL_HANDLER3(sys_exec, char *cmdline, char **environ, int *retval)
Syscall pour exécuter un programme.
Definition: kprocess.c:624