PDA

Visualizza la versione completa : creare processi linux


arrostapanza_83
29-09-2007, 17:07
Ciao a tutti,
il mio problema è la creazione di un processo all'interno di un modulo per linux.
Per creare un processo con un un file c nessun problema per esempio:
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>

main()
{
pid_t pid;
int status ; /* conterra’ lo stato */


printf("Unico processo con PID %d.\n",(int)getpid());

pid=fork();
printf("il valore di pid e: %d \n\n\nciuccia\n\n", pid);

pid = fork();

if ( pid ) { /* siamo nel padre */
sleep(20); /* aspetta 20 secondi */
pid = wait(&status);
if (WIFEXITED(status)) {
/*!=0 se il figlio e’terminato normalmente,(exit o
return) non ucciso da signal */
printf("stato %d\n", WEXITSTATUS(status));
}else { /* siamo nel figlio */
printf("Processo %d, figlio.\n",getpid());
// exit(17); /*termina con stato 17 */
}
}

mentre in modulo non mi fa fare niente perche nn trova le librerie #include <unistd.h>,#include <sys/types.h>.
mentre
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
le trova tranquillamente.
Non capisco proprio il perche, cambia per caso il percorso delle librerie??
AIUTOOOOOOOOOO!!!!!
ps: ho imparato a creare i moduli qui:
http://www.hwupgrade.it/forum/archive/index.php/t-851881.html

paolino_delta_t
29-09-2007, 17:10
in kernel space non è ammesso creare nuovi processi, altrimenti che OS monolitico sarebbe?

arrostapanza_83
29-09-2007, 17:23
mmm..aspetta troppo sintetico, essendo monolitico sul kernel space nn è possibile creare altri processi perche puo esserci solo il processo kernel?

paolino_delta_t
29-09-2007, 17:25
Originariamente inviato da arrostapanza_83
mmm..aspetta troppo sintetico, essendo monolitico sul kernel space nn è possibile creare altri processi perche puo esserci solo il processo kernel?

si tutti i componenti del kernel, compresi i driver e i vari moduli devono resiedere nello spazio di indirizzamento del kernel e come sai ogni processo ha il suo spazio di indirizzamento, quindi il kernel e tutti i suoi sudditi convivono in un unico processo

Loading