Visualizzazione dei risultati da 1 a 4 su 4

Discussione: creare processi linux

  1. #1

    creare processi linux

    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/archiv.../t-851881.html

  2. #2
    in kernel space non è ammesso creare nuovi processi, altrimenti che OS monolitico sarebbe?

  3. #3
    mmm..aspetta troppo sintetico, essendo monolitico sul kernel space nn è possibile creare altri processi perche puo esserci solo il processo kernel?

  4. #4
    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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.