@@ -60,3 +60,20 @@ A megoldás Java nyelven íródott, és a következő osztályokat tartalmazza:
-**SRTF**: Egy SRTF (shortest remaining time first) ütemezőt valósít meg. Ez tartozik a magasabb prioritású (kernel) folyamatokhoz.
-**RR**: Egy round-robin ütemezőt valósít meg. Ez tartozik az alacsonyabb prioritású feladatokhoz, ezért leállítható és újraindítható.
-**Task**: Egy taszkot reprezentál.
Így használd
------------
**Jobb felül**, a fájlok listája fölött látsz egy Download gombot (felhőcskéből lefelé mutató nyíl,) azzal le tudod tölteni a projektet tömörítve. _VAGY_
Ha már használtál gitet, akkor **klónozd le** a repót a `git clone https://git.sch.bme.hu/schulczf/taskscheduler.git [célmappa]` paranccsal! (Ha még nem használtál, akkor [itt](https://learnxinyminutes.com/docs/git/) van egy gyors tutorial. Próbáld ki, nagyon hasznos!)
Tanácsok
--------
A házi írása közben belefutottam pár figyelmetlenségbe/nem triviális dologba, szóval összegyűjtöttem pár dolgot, ami neked is jól jöhet:
- Ez csak egy mintamegoldás, a te házid már tuti nem ugyanez. Ne próbáld meg _ugyanezt_ a kódot használni vagy ezt átírni, inkább **értsd meg** hogy hogyan működik! Direkt a te kedvedért kommenteztem egész végig. :)
- A taszkokat általában az érkezésük sorrendjében tároljuk és dolgozzuk fel. De **ha két taszk egyszerre érkezik**, akkor az **input sorrendjében** érkeztek. A beadóportál nem engedte meg, hogy felcseréld őket. Két taszk érkezhet ugyanabban az órajelciklusban, de egyszerre sosem - legalábbis a HF portál szerint.
- Amikor az alacsony prioritású ütemezőtől **elvesszük a futás jogát**, akkor az esetleg éppen futó taszkja **a várakozási sor végére kerül**. Amikor visszakapja a futás jogát, mert nincs több magas prioritású taszk, **nem az előbb éppen futó** taszk folytatódik, hanem a sor legelején álló kap egy **teljes időszeletet.**
- Ha egy órajelben egyszerre érkezik egy magas és alacsony prioritású taszk is, akkor **előbb a taszkok hozzáadódnak a megfelelő várakozási sorhoz** és az alacsony prioritású ütemezőtől **csak a következő órajel elején vesszük el az ütemezés jogát.** Ez azt jelenti, hogy az éppen futó taszk az újak **mögé** kerül.