TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
Macros | Définitions de type | Fonctions
Référence du fichier kprocess.c
#include <debug.h>
#include <gdt.h>
#include <kfcntl.h>
#include <klibc/string.h>
#include <klog.h>
#include <kmalloc.h>
#include <ksem.h>
#include <ksignal.h>
#include <ksyscall.h>
#include <pagination.h>
#include <scheduler.h>
#include <types.h>
#include <elf.h>
#include <kstat.h>
#include <kunistd.h>
#include <vfs.h>
Graphe des dépendances par inclusion de kprocess.c:

Macros

#define GET_PROCESS   0
 
#define GET_PROCESS_LIST   1
 
#define FIRST_PROCESS   0
 
#define NEXT_PROCESS   1
 
#define PREV_PROCESS   2
 

Définitions de type

typedef int(* main_func_type )(uint32_t, uint8_t **)
 

Fonctions

uint32_t get_proc_count ()
 Retourne le nombre de processus dans la liste. Plus de détails...
 
process_tget_process_array (int i)
 Récupère un process à partir de sa position dans le tableau. Plus de détails...
 
process_tfind_process (int pid)
 Cherche le process_t* en correspondant à un pid donné. Plus de détails...
 
int delete_process (int pid)
 Retire un processus de la liste. Plus de détails...
 
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 processus avec un état d'exécution PROCSTATE_IDLE. Plus de détails...
 
process_tcreate_process (process_init_data_t *init_data)
 
void sample_CPU_usage ()
 
 SYSCALL_HANDLER1 (sys_exit, uint32_t ret_value)
 Syscall appelé lors de la fin d'exécution d'un process.
 
 SYSCALL_HANDLER1 (sys_getpid, uint32_t *pid)
 Récupére le PID du process courant. Plus de détails...
 
 SYSCALL_HANDLER1 (sys_getppid, uint32_t *ppid)
 Récupére le PID du process parent. Plus de détails...
 
 SYSCALL_HANDLER3 (sys_exec, char *cmdline, char **environ, int *retval)
 Syscall pour exécuter un programme. Plus de détails...
 
process_tsys_proc_list (uint32_t action)
 
 SYSCALL_HANDLER3 (sys_proc, uint32_t sub_func, uint32_t param1, uint32_t param2)
 Récupère des infos sur un process. Plus de détails...
 
 SYSCALL_HANDLER1 (sys_waitpid, int pid)
 Bloque le process courant jusqu'à ce que le processus identifié par pid se termine. Plus de détails...
 

Description détaillée

Auteur
TacOS developers

LICENSE

Copyright (C) 2010-2014 TacOS developers.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details at http://www.gnu.org/copyleft/gpl.html

You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses.

DESCRIPTION

Description de ce que fait le fichier

Documentation des fonctions

int create_kprocess ( char *  name,
void *  entry_point,
uint32_t  stack_size 
)
Paramètres
namenom du process
entry_pointadresse du point d'entrée
stack_sizetaille de la pile à allouer
Renvoie
PID du processus
int delete_process ( int  pid)
Paramètres
pidPid du processus à retirer de la liste.
Renvoie
0 la plupart du temps.

Voici le graphe d'appel pour cette fonction :

process_t* find_process ( int  pid)
Paramètres
pidPid du processus à chercher.
Renvoie
process_t* correspondant au pid.

Voici le graphe des appelants de cette fonction :

uint32_t get_proc_count ( )
Renvoie
nombre de processus dans la liste.
process_t* get_process_array ( int  i)
Paramètres
iindice du process dans le tableau (attention, ce n'est pas son pid)
SYSCALL_HANDLER1 ( sys_getpid  ,
uint32_t pid 
)
Paramètres
pidadresse où enregistrer le pid.

Voici le graphe d'appel pour cette fonction :

SYSCALL_HANDLER1 ( sys_getppid  ,
uint32_t ppid 
)
Paramètres
ppidadresse où enregistrer le ppid.

Voici le graphe d'appel pour cette fonction :

SYSCALL_HANDLER1 ( sys_waitpid  ,
int  pid 
)
Paramètres
pidPID du process à attendre.

Voici le graphe d'appel pour cette fonction :

SYSCALL_HANDLER3 ( sys_exec  ,
char *  cmdline,
char **  environ,
int *  retval 
)
Paramètres
cmdlineLigne de commande à exécuter.
environVariables d'environnement.
retvalPointeur servant à retourner le résultat.

Voici le graphe d'appel pour cette fonction :

SYSCALL_HANDLER3 ( sys_proc  ,
uint32_t  sub_func,
uint32_t  param1,
uint32_t  param2 
)
Paramètres
sub_funcAction (récupère la liste ou les infos d'un process en particulier)
param1paramètre pour l'action.
param2pointeur de retour.

Voici le graphe d'appel pour cette fonction :