Skip to content
Snippets Groups Projects
Commit bf3ed011 authored by Schulcz Ferenc's avatar Schulcz Ferenc
Browse files

Added README.md

parent 5708fad3
Branches
No related tags found
No related merge requests found
Task Scheduler
==============
(Opre hf I)
Ez a projekt az operációs rendszerekből kiadott első fakultatív házi egy megoldása. Egy **ütemezőt** valósítottam meg, ami a beérkező taszkokat ütemezi **prioritás szerint.** A kód a **2017/2018 tavaszi** félévben íródott.
A feladat szövege
-----------------
>Készítsen egy programot, amely statikus többszintű ütemező működését szimulálja!
>
>A 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 = 0, magas) SRTF ütemező
> 2. felhasználói szint (prioritás = 1, alacsony) RR ütemező, időszelet: 2
**Elvárt bemenet:** (standard input)
>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,1,0,5
>B,1,1,4
>C,0,5,3
>D,0,6,1
>
>A bemenet végét egy üres sor (utána EOF) jelzi.
**Kimenet:** (standard output)
>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):
>
>ABACDCBA
>A:8,B:6,C:1,D:0
Az egyes osztályok
------------------
A megoldás Java nyelven íródott, és a következő osztályokat tartalmazza:
- **Main**: A számítógépet szimulálja. Elvégzi a beolvasást és a kiírást, szimulálja a processzor órajelét és a beérkező taszkokat a megfelelő órajelben az ütemezőnek adja.
- **Global**: A globális ütemező. Kezeli a két prioritási szint ütemezőjét és naplózza, hogy mikor melyik taszk futott.
- **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.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment