public void cpu_stan_zapisz(Procesor x) { cpu_stan[0] = x.get_r0(); cpu_stan[1] = x.get_r1(); cpu_stan[2] = x.get_r2(); cpu_stan[3] = x.get_r3(); proces_last_time = x.get_lr() - cpu_stan[4]; cpu_stan[4] = x.get_lr(); }
public void cpu_stan_wczytaj(Procesor x) { currentForm.SetText("|||||||WCZYTUJE STAN PROCESORA|||||||"); x.set_r0(cpu_stan[0]); x.set_r1(cpu_stan[1]); x.set_r2(cpu_stan[2]); x.set_r3(cpu_stan[3]); x.set_lr(cpu_stan[4], this.proces_name); }
public void srt(List <Proces> grupy_procesow, Procesor cpu) { if (grupy_procesow.Count == 1) { proces_indeks = 0; } foreach (Proces x in grupy_procesow) { if (x.blocked == false && x.stopped == false) { oblicz_czas(x); } } currentForm.SetText("SRT: Obliczone nowe czasy przewidywane do konca procesow"); Proces run = grupy_procesow[proces_aktywny(grupy_procesow)]; proces_indeks = min_czas(ref run, grupy_procesow); if (proces_indeks >= 0) { if (grupy_procesow[proces_indeks] != run) { /* uruchom nowy proces*/ run.running = false; run.cpu_stan_zapisz(cpu); run.czy_sprawdzony = false; grupy_procesow[proces_indeks].running = true; grupy_procesow[proces_indeks].cpu_stan_wczytaj(cpu); currentForm.SetText("SRT: Uruchomiono proces o nazwie " + grupy_procesow[proces_indeks].proces_name); } else { /*nie zmieniaj i kontynuuj stary*/ currentForm.SetText("SRT: Kontynuujemy proces o nazwie " + grupy_procesow[proces_indeks].proces_name); } } else { currentForm.SetText("SRT: Kontynuujemy proces o nazwie " + run.proces_name); } }