wiki:WikiStart

Version 193 (modified by monga, 4 years ago) (diff)

--

Laboratorio di Sistemi Operativi

Aggiungete pure (con Reddit) i link che vi sembrano interessanti per il corso e votate quelli già esistenti! (Quelli che riportano il flair

consigliato

sono stati citati a lezione e sono fortemente consigliati per la preparazione all'esame)

Materiale 2013/2014

1. 5 marzo 2014 (Aula)

2. 12 marzo 2014 (Lab)

3. 19 marzo 2014 (Lab)

4. 26 marzo 2014 (Aula+Lab)

5. 2 aprile 2014 (Lab)

6. 16 aprile 2014 (Lab)

7. 23 aprile 2014 (Lab)

8. 30 aprile 2014 (Lab)

9. 7 maggio 2014 (Lab)

14 maggio 2014: lezione sospesa

10. 21 maggio 2014 (Lab)

11. 28 maggio 2014 (Lab)

4 giugno 2014: Lezione sospesa

12. 11 giugno 2014 (Lab)

Esame

La procedura per finalizzare l'intero esame di Sistemi Operativi I e II è riassunta di seguito:

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <time.h>

int solab(void) {
    return rand() % 31;
}

int teoria(void) {
    return rand() % 31;
}

int main() {
    int fds[2], rt, rl;
    printf("Iscrizione SIFA a (entrambi) Sistemi Operativi I e II\n");
    pipe(fds);
    srand(time(NULL));
    if (fork() == 0) {
        int r;
        do {
            sleep(rand() % 2);
            r = solab();
            printf("Voto laboratorio: %d\n", r);
        } while (r < 18);
        close(fds[0]);
        write(fds[1], &r, sizeof(r));
        return 0;
    } 
    do {
        sleep(rand() % 3);
        rt = teoria();
        printf("Voto teoria: %d\n", rt);
        srand(time(NULL));
    } while (rt < 18);

    close(fds[1]);
    read(fds[0], &rl, sizeof(rl));
    printf("Registrazione (occorre essere iscritti SIFA) di Sistemi Operativi I e II: %u \n", 
           (unsigned int)((3.*(float)rl + 9.*(float)rt)/12.));
    return 0;
}

Materiale aa.aa. precedenti