Ven 19 Luglio, 03:59:07 - 2019

Post recenti

Pagine: [1] 2 3 ... 10
1
Telecomunicazioni / Re:Esercizio 8 libro cuomo
« Ultimo post da drfreud94 il Gio 18 Luglio, 11:02:08 - 2019 »
Scusate, per il punto 2 come avete risolto?? Grazie a chiunque risponderà
2
Fondamenti di Informatica II / Re:Info Fondamenti di informatica II 2018-2019
« Ultimo post da Atif il Lun 10 Giugno, 18:37:09 - 2019 »
password: laM1t1ca108
3
Sistemi di Calcolo / Re:P9-E1
« Ultimo post da lupin il Sab 01 Giugno, 15:17:37 - 2019 »
Dunque ci sei quasi, ma leggi bene il testo: "Il gestore del segnale (che gira nel processo genitore) fa una wait; quando l’ultimo processo termina, il gestore del segnale manda in segnale SIGTERM a se stesso per terminare anche il genitore". E' il gestore del segnale che deve inviare SIGKILL al processo stesso, non do_work.

La sleep(i) fa parte delle specifiche: "il figlio i-esimo dorme i secondi"
4
Sistemi di Calcolo / P9-E1
« Ultimo post da 6ninjak il Dom 19 Maggio, 16:20:41 - 2019 »
Codice: [Seleziona]
void check_perror(int res, const char* msg) {
    if (res == -1) {
        perror(msg);
        exit(EXIT_FAILURE);
    }
    return;
}

void handler(int signum) {
    int status;
    int pid = wait(&status);
    check_perror(pid, "Errore nella wait");
    printf("* terminato figlio %d\n", pid);
    return;
}

void do_work(int n){
    struct sigaction act = { 0 };
    act.sa_handler = handler;
    int ret = sigaction(SIGCHLD, &act, NULL);
    check_perror(ret, "Errore nella sigaction");
    pid_t pid;
    int i;
    for (i = 1; i < n; i++) {
        pid = fork();
        check_perror(pid, "Errore nella fork");
        if (pid == 0) {
            printf("- creato figlio %d\n", getpid());
            sleep(i);
            _exit(EXIT_SUCCESS);
        }
    }
    while (n > 1) {
        pause();
        n--;
    }
    kill(getpid(), SIGTERM);
}

EDIT: ho sperimentato con la sleep... non capisco perché il codice funzioni solo con una sleep(i) (che ho sbirciato dalla soluzione ::))
5
Sistemi di Calcolo / Re:P8-E2
« Ultimo post da 6ninjak il Dom 19 Maggio, 11:51:38 - 2019 »
così dovrebbe essere giusto
Codice: [Seleziona]
int make_rnd_file(unsigned size, unsigned seed, unsigned mod, char *filename) {
    srand(seed);
    int magic = MAGIC_NUMBER, i, next_int;
    ssize_t res;

    int fd = open(filename, O_WRONLY, S_IWUSR);
    check_perror(fd, "Errore nella open");

    res = write(fd, &magic, sizeof(magic));
    check_perror(res, "Errore nella write");

    res = write(fd, &size, sizeof(size));
    check_perror(res, "Errore nella write");

    for (i = 0; i < size; i++) {
        next_int = rand() % mod;
        res = write(fd, &next_int, sizeof(next_int));
        check_perror(res, "Errore nella write");
    }

    fd = close(fd);
    check_perror(fd, "Errore nella close");
    return EXIT_SUCCESS;
}
6
Sistemi di Calcolo / Re:P8-E1
« Ultimo post da 6ninjak il Dom 19 Maggio, 11:41:39 - 2019 »
così dovrebbe essere giusto
Codice: [Seleziona]
int sum(const char* filename, unsigned long *psum) {
    int fd = open(filename, O_RDONLY);
    if (fd == -1) {
        perror("Errore nella open\n");
        exit(EXIT_FAILURE);
    }
    unsigned long s = 0;
    unsigned buf;
    ssize_t res = read(fd, &buf, 4);
    while (res == 4) {
        s += buf;
        res = read(fd, &buf, 4);
    }

    if (res == -1) {
        perror("Errore nella read\n");
        exit(EXIT_FAILURE);
    }
    *psum = s;
    fd = close(fd);
    if (fd == -1) {
        perror("Errore nella close\n");
        exit(EXIT_FAILURE);
    }
    return EXIT_SUCCESS;
}
7
Fondamenti di Informatica II / Re:Info Fondamenti di informatica II 2018-2019
« Ultimo post da Artax il Lun 13 Maggio, 11:12:09 - 2019 »
up
8
Fondamenti di Informatica II / Re:Info Fondamenti di informatica II 2018-2019
« Ultimo post da ouijaen il Ven 10 Maggio, 12:09:31 - 2019 »
up
9
Fondamenti di Informatica II / Info Fondamenti di informatica II 2018-2019
« Ultimo post da ryzen2 il Gio 09 Maggio, 15:48:25 - 2019 »
Salve,

avrei, gentilmente, bisogno di un aiuto.

Per impegni lavorativo non mi è stato possibile seguire questo semestre. Avrei bisogno di alcune info sull'esame di fondamenti di informatica II: Algoritmi + modelli

Qualcuno può darmi info sulla modalità di esame?

Sono andato sul sito https://sites.google.com/view/fi2 per avere informazioni. Ho trovato il registro delle lezioni ed il materiale in pdf.  I file pdf richiedono la password. Qual è la password? È la stessa per tutti i pdf?

Grazie
10
Sistemi di Calcolo / Re:P8-E2
« Ultimo post da cicco il Mer 08 Maggio, 16:49:26 - 2019 »
Manca la close() e l'assegnazione dei permessi nella open (parametro mode).
Per il resto è corretto.
Pagine: [1] 2 3 ... 10