HF1. Statikus többszintű ütemező megvalósítása

Határidő: 2019. április 2.
Becsült programozási idő: 2-5 óra

Készítsen egy programot, amely statikus többszintű ütemező működését szimulálja!

Globálisan preemptív, statikus prioritásos ütemező az alábbi ütemezési algoritmusokat futtatja az egyes szinteken az előadáson ismertetett módon:

  • 1. kernel szint (prioritás = 1, magas) SJF ütemező
  • 2. felhasználói szint (prioritás = 0, alacsony) RR ütemező, időszelet: 2

Bemenet (standard input, stdin)

Soronként egy (max. 10) taszk adatai. Egy sor felépítése (vesszővel elválasztva):

  • a taszk betűjele (A, B, C...) megfelel az érkezési sorrendnek
  • a taszk prioritása (0 vagy 1)
  • a taszk indítási ideje (egész szám >= 0), a következő időszeletben már futhat (0: az ütemező indításakor már létezik)
  • a taszk CPU-löketideje (egész szám >= 1)

Példa:

A,0,0,3
B,1,0,2
C,0,3,3
D,1,4,1

A bemenet végét egy üres sor (utána EOF) jelzi. Ekkor kell a kimenetre kiírni az eredményt.

Kimenet (standard output, stdout)

A kimenet első sorában a taszkok futási sorrendje betűjeleikkel (csak betűk, szóközök nélkül).
A második sorban a teljes várakozási idő taszkonként, érkezésük (nem feltétlenül abc-) sorrendjében, az alábbi formában (vesszővel elválasztva, szóközök nélkül):

1. taszk betűjel:várakozási idő,2. betűjel:várakozási idő, ...

Példa (a fenti bemenetre adott válasz):

BADCAC
A:5,B:0,C:3,D:0

Értékelés

Az ütemező helyes működése: max. 2 pont, a  várakozási idők jó számítása: 1 pont (összesen max. 3 pont).
A hibátlan, minden teszten jól teljesítő megoldás 1 IMSc pontot is ér.

Technikai információk

A programot Java nyelven kell elkészíteni, és a tanszéki oktatási portálon kell leadni a megadott határidőig.

 A beküldött Java programnak tartalmaznia kell egy "Main" nevű osztályt, melynek része a feladatot megoldó "main" függvény. A program tetszőleges számú forrásfájlból állhat. A program nem használhat a standard inputon és outputon kívül semmilyen más erőforrást, így nem végezhet fájlműveleteket és nem nyithat hálózati kapcsolatokat.

 
További kapcsolódó tárgylapok: 
© 2010-2019 BME MIT | Hibajelentés | Használati útmutató