OPERACIJSKI SUSTAVI 4.2.2002.

1. Ideja ova dva programa je bila kreirati 3 potprocesa. Medutim samo jedan je točan. Objasnite koji i zašto, odnosno napišite što će donji programi ispisati.

for (i=0; i<3; i++) {
    pid = fork();
    if (pid == 0)
    {
        printf("<Child created>\n");
        exit(0);
    }
    printf("u petlji %d\n", i);
}
printf("Izasao iz petlje\n");

…

for (i=0; i<3; i++) {
    pid = fork();
    printf("u petlji %d\n" , i);
}
if (pid==0) {
    printf("<Child created>\n");
    exit(0);
} printf("Izasao iz petlje\n");

2. Objasnite što je ”Problem 5 filozofa” i predložite rješenje za izbjegavanje danih problema.

3. Sustav dretvi se sastoji od 7 dretvi D_{i}, i ∈ {1, 2, 3, 4, 5, 6, 7}. Relacija ”treba se dogoditi prije” definirana je za sljedeće parove dretvi:

D_{1} < D_{j} j ∈ {2, 3, 4, 5, 6, 7}
D_{2} < D_{j} j ∈ {6}
D_{3} < D_{j} j ∈ {4, 5, 6, 7}
D_{4} < D_{j} j ∈ {6}
D_{5} < D_{j} j ∈ {7}

a) Objasnite pojmove ”medusobno zavisni” i ”medusobno nezavisni” zadaci u višedretvenom modelu, i izrecite uvjet medusobne nezavisnosti.

b) Nacrtajte pripadni usmjeravajući graf.

c) Napišite sve parove nezavisnih dretvi.

4. Nabrojite i objasnite strategije zamjena stranica.

5. Napišite program koji množi dvije kvadratne matrice reda n u 4 potprocesa.(Svaki proces računa svoj dio rezultirajuće matrice ). Učitavanje matrice i ispis rezultata radi se u glavnom programu.

Boris Milašinović Rezultati: 6.2.2002 u 12h