Toliau pateiktame pavyzdyje yra šeši procesai, pavadinti P1, P2, P3, P4, P5 ir P6. Jų atvykimo laikas ir serijos laikas pateikti toliau lentelėje. Sistemos laiko kvantas yra 4 vienetai.
Proceso ID | Atvykimo laikas | Burst Time |
---|---|---|
1 | 0 | 5 |
2 | 1 | 6 |
3 | 2 | 3 |
4 | 3 | 1 |
5 | 4 | 5 |
6 | 6 | 4 |
Pagal algoritmą turime išlaikyti paruoštą eilę ir Ganto diagramą. Abiejų duomenų struktūrų struktūra bus keičiama po kiekvieno planavimo.
java eilutės
Paruošta eilė:
Iš pradžių, 0 laiku, ateina procesas P1, kuris bus suplanuotas 4 vienetų laiko pjūviui. Taigi paruoštoje eilėje bus tik vienas procesas P1, pradedant nuo 5 vienetų procesoriaus serijos laiko.
P1 |
5 |
Ganto diagramos
Pirmiausia P1 bus vykdomas 4 vienetams.
Paruošta eilė
Tuo tarpu P1 vykdymas, į parengties eilę patenka dar keturi procesai P2, P3, P4 ir P5. P1 dar nebaigtas, jam reikia dar 1 laiko vieneto, todėl jis taip pat bus įtrauktas atgal į parengtų eilę.
P2 | P3 | P4 | P5 | P1 |
6 | 3 | 1 | 5 | 1 |
Ganto diagramos
Po P1, P2 bus vykdomas 4 laiko vienetus, kurie rodomi Ganto diagramoje.
Paruošta eilė
Vykdant P2, į parengties eilę patenka dar vienas procesas P6. Kadangi P2 dar nebaigtas, P2 taip pat bus įtrauktas atgal į parengtą eilę, o likęs serijos laikas yra 2 vienetai.
P3 | P4 | P5 | P1 | P6 | P2 |
3 | 1 | 5 | 1 | 4 | 2 |
Ganto diagramos
Po P1 ir P2 P3 bus vykdomas 3 laiko vienetus, nes jo procesoriaus serijos laikas yra tik 3 sekundės.
Paruošta eilė
Kadangi P3 buvo baigtas, jis bus nutrauktas ir nebus įtrauktas į parengtų eilę. Kitas procesas bus vykdomas P4.
P4 | P5 | P1 | P6 | P2 |
1 | 5 | 1 | 4 | 2 |
Ganto diagramos
Po P1, P2 ir P3 bus vykdomas P4. Jo sprogimo laikas yra tik 1 vienetas, kuris yra mažesnis už laiko kvantą, todėl jis bus baigtas.
Paruošta eilė
Kitas procesas parengties eilėje yra P5 su 5 serijos laiko vienetais. Kadangi P4 baigtas, jis nebus įtrauktas atgal į eilę.
P5 | P1 | P6 | P2 |
5 | 1 | 4 | 2 |
Ganto diagramos
P5 bus vykdomas visą laiko pjūvį, nes jam reikia 5 serijos laiko vienetų, kurie yra didesni nei laiko pjūvis.
kaip vykdyti scenarijų
Paruošta eilė
P5 dar nebaigtas; jis bus įtrauktas atgal į eilę su likusiu 1 vieneto serijos laiku.
P1 | P6 | P2 | P5 |
1 | 4 | 2 | 1 |
Ganto diagramos
Procesui P1 bus suteiktas kitas posūkis, kad būtų užbaigtas jo vykdymas. Kadangi tam reikia tik 1 serijos laiko vieneto, jis bus baigtas.
Paruošta eilė
P1 baigtas ir nebus įtrauktas atgal į parengtų eilę. Kitas procesas P6 reikalauja tik 4 serijos laiko vienetų ir jis bus vykdomas toliau.
P6 | P2 | P5 |
4 | 2 | 1 |
Ganto diagramos
P6 bus vykdomas 4 laiko vienetus iki pabaigos.
Paruošta eilė
Kadangi P6 baigtas, jis nebus vėl įtrauktas į eilę. Paruoštoje eilėje yra tik du procesai. Kitas procesas P2 reikalauja tik 2 laiko vienetų.
P2 | P5 |
2 | 1 |
Ganto diagramos
P2 bus vykdomas dar kartą, nes tam reikia tik 2 laiko vienetų, todėl tai bus baigta.
Paruošta eilė
Dabar vienintelis galimas procesas eilėje yra P5, kuriam reikia 1 serijos laiko vieneto. Kadangi laiko pjūvis yra 4 vienetai, jis bus baigtas kitoje serijoje.
P5 |
1 |
Ganto diagramos
P5 bus vykdomas iki pabaigos.
js masyvas
Užbaigimo laikas, apyvartos laikas ir laukimo laikas bus skaičiuojami taip, kaip parodyta toliau esančioje lentelėje.
Kaip mes žinome,
Turn Around Time = Completion Time - Arrival Time Waiting Time = Turn Around Time - Burst Time
Proceso ID | Atvykimo laikas | Burst Time | Užbaigimo laikas | Apsisukimo laikas | Laukimo laikas |
---|---|---|---|---|---|
1 | 0 | 5 | 17 | 17 | 12 |
2 | 1 | 6 | 23 | 22 | 16 |
3 | 2 | 3 | vienuolika | 9 | 6 |
4 | 3 | 1 | 12 | 9 | 8 |
5 | 4 | 5 | 24 | dvidešimt | penkiolika |
6 | 6 | 4 | dvidešimt vienas | penkiolika | vienuolika |
Vidutinis laukimo laikas = (12+16+6+8+15+11)/6 = 76/6 vienetai