8. feladat

 

Feladva dec. 07 - 13., 2009

 

Határidő  jan. 16., 2010

 

Ütemezés szimulálása

 

Feltöltendő állomány(ok) neve: S08_nn_xxxxxxx_aa.c, ahol nn - feladat száma; xxxxxxx - felhasználó azonosítója a linux szerveren; (aa - az illető állomány funkcionalitásának valamilyen ismertető jegye több modul használata esetén)

 

 

Az alábbi feladatokból mindenki a sorszámának megfelelőt oldja meg. Az 1-8 feladatok szövege csupán a használt ütemező algoritmus milyenségét illetően tér el, a többi közös.

 

 

1-8 . Írjunk kliens-szerver rendszert, amelyik az ütemezést szimulálja

-        kliens

-        generálja (vagy megkapja paraméterként) a folyamat típusát  (interaktív  vagy kötegelt munka)

-        várja a szerver válaszát, kiírja a  folyamat azonosítóját és egy megfelelő üzenetet, hogy a szerver fogadja a kéréseit.

-        generálja az igénylések számát (minden kliens többször fogja a vezérlést igényelni, változó időre), minden kéréshez új processzoridőt generál (processzoridő - azaz hány időegységre igényli a processzort), elküldi a kérést a szervernek, várja annak válaszát, kiírja az azonosítóját és a választ, majd küldi a következő kérést, és így tovább.

-        miután elküldte az összes kérését, és az utolsó választ is kiírta, befejeződik.

-        befejezéskor kiszámolja és kiírja, interaktív folyamat esetén az átlagos válaszidőt, kötegelt munka vagy rendszerfolyamat esetén pedig a fordulási időt

 

-        szerver

-        fogadja a kéréseket

-        kiírja a kapott kéréseket, feltüntetve a kliens folyamatazonosítóját, illetve a folyamat típusát, visszaküld a kliensnek egy üzenetet, közölve, hogy várja a kliens kéréseit

-        a beérkezett igényeket a megfelelő várakozási sor(ok)ba helyezi

-        Ütemezi a következő folyamatot az alábbi algoritmus alapján:

 

1.      Round Robin (időszelet: 2)

2.      Round Robin (időszelet: 4)

3.      Virtuális Round Robin (időszelet: 4) (megj.: feltételezzük, hogy az egymást követő kérések között a folyamat valamilyen I/O művelt miatt van blokálódva)

4.      Shortest Process Next

5.      Shortest Remaining Time Next

6.      Highest Response Ratio Next

7.      Feedback algoritmus (3 prioritási sor, mindenikben 2 az időszelet)

8.      Feedback algoritmus (3 prioritási sor (1..3),  az i. prioritási sorhoz rendelt időszelet 2i)

 

-        kiírja a képernyőre az éppen aktív folyamatot és a várakozási sor(ok) tartalmát

-        minden egyes folyamat esetén nyilvántartja a kérés érkezése óta eltelt időt

-        amikor egy kliens kérését sikerült kielégítse (az sikerült megkapja a kért processzoridőt), üzenetet küld a kliensnek, melyen keresztül közli, hogy kérése teljesült, és elküldi a kérés érkezése óta eltelt időt.

 

-        Egy speciális üzenet esetén a szerver fejeződjön be, törölve a használt erőforrásokat (vigyázzunk rá, hogy a még nyilvántartásban szereplő kliensek előbb kapják meg a megfelelő üzeneteket).

 

 

Segédanyag - lásd: a tantárgy honlapjára feltett fóliák (foliak.htm) -> 9. Ütemezés