-
Notifications
You must be signed in to change notification settings - Fork 0
/
Processo.cpp
51 lines (38 loc) · 1.16 KB
/
Processo.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include "Processo.hpp"
Processo::Processo(long int _delay, int _prioridade, string _nomeExecutavel, int _job, int _copiasJob){
delay = _delay;
prioridade = _prioridade;
nomeExecutavel = _nomeExecutavel;
job = _job;
copiasJob = _copiasJob;
time_t rawtime;
struct tm* timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
tempoSubmissao.horas = timeinfo->tm_hour;
tempoSubmissao.minutos = timeinfo->tm_min;
}
//Recalcular prioridade do processo
void Processo::RecalculaPrioridade(){
if(esteveNaFila){
esteveNaFila = false;
if(prioridade == 1){
diminuindo = true;
}
else if(prioridade == 3){
diminuindo = false;
}
//Mudar prioridade de acordo com o padrão estabelecido
if(diminuindo){
prioridade++;
}
else{
prioridade--;
}
}
else{
//Manter na mesma prioridade
esteveNaFila = true;
}
cout << "Prioridade: " << prioridade << " - Esteve na fila: " << esteveNaFila << " - Diminuindo: " << diminuindo << endl;
}