Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi N - Z > Sistemi operativi I
 
sched.h: questa sconosciuta
Clicca QUI per vedere il messaggio nel forum
Spr1gg4N
Ciao a tutti, stavo guardando i sorgenti della lezione 4 e più precisamente il seguente:
code:
#include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <signal.h> #include <sched.h> int run(void* s) { int* shared = (int*)s; /* alias per comodita` */ while (shared[0] < 10) { sleep(1); printf("Processo figlio (%d). s = %d\n", getpid(), shared[0]); if (!(shared[0] < 10)){ printf("Corsa critica!!!!\n"); abort(); } shared[0] += 1; } return 0; } int main(void){ int shared[2] = {0 , 0}; /* int clone(int (*fn)(void *), * void *child_stack, * int flags, * void *arg); * crea una copia del chiamante (con le caratteristiche * specificate da flags) e lo esegue partendo da fn */ if (clone(run, /* il nuovo * processo esegue run(shared), vedi quarto * parametro */ malloc(4096)+4096, /* lo stack del nuovo processo * (cresce verso il basso!) */ SIGCHLD, /* in questo caso la clone e` analoga alla fork */ shared) < 0){ perror("Errore nella creazione"); exit(1); } if (clone(run, malloc(4096)+4096, SIGCHLD, shared) < 0){ perror("Errore nella creazione"); exit(1); } /* Isolati: ciascuno dei figli esegue 10 volte. Per il padre * shared[0] e` sempre 0 */ while(1) { sleep(1); printf("Processo padre. s = %d\n", shared[0]); } return 0; }


ma quanto vado a compilare ecco cosa mi risulta:

code:
cc -o thread-isolated thread-isolated.c "thread-isolated.c", line 9: cannot open include file "sched.h"


a parte che non ho idea a cosa serva quella libreria, da dove posso scaricarla? a quanto pare in un'installazione "standard" di minix la sched.h non è inclusa

P.S.
Certo che il prof potrebbe inserire qualche spiegazione ai sorgenti sul sito eh? :D

Grazie in anticipo per le risposte ^^

Johnny88
non credo tu possa compilare quel sorgente in minix perche' e' una caratteristica di linux... prova a compilare con linux..

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate