Advertisement
KDOXG

Process header

Nov 23rd, 2019
481
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.52 KB | None | 0 0
  1. typedef unsigned char byte;
  2.  
  3. enum state_t {
  4.     EM_EXECUCAO,
  5.     EM_ESPERA,
  6.     BLOQUEADO,
  7.     PRONTO,
  8.     MORTO,
  9.     FINISH
  10. };
  11.  
  12. class Process
  13. {
  14. private:
  15.     state_t estado;     //Estado atual do processo
  16.     unsigned time;      //Representa o tempo em que o processo é recebido pelo SO
  17.     unsigned slice;     //Número de slices restantes para executar o processo
  18.     unsigned memory;    //Memoria a gastar
  19.     byte level;         //Flag para nivel de prioridade.
  20.     /*  0b00000001  - prioridade 0
  21.      *  0b00000010  - prioridade 1
  22.      *  0b00000100  - prioridade 2
  23.      *  0b00001000  - prioridade 3
  24.      *  0b00010000  - prioridade 4 (maxima)
  25.      *  0b1xxxxxxx  - inicializado em prioridade 4; nao alterar prioridade durante execucao
  26.      *  0bx1xxxxxx ou 0bx0xxxxxx    - nao inicializado em prioridade 4;
  27.      *  indica com 0 se a prioridade esta incrementando ou 1 se esta decrementando.
  28.      */
  29.     byte call;          //Quantidade de chamadas por nivel. Limite: 10
  30.     unsigned read;      //Indicador para quando um processo for iniciado pela primeira vez
  31.     unsigned duration;  //Numero de slices percorridos até o termino da execucao
  32.     unsigned total;     //Número de slices necessários para executar o processo
  33. public:
  34.     Process(unsigned time, unsigned slice, unsigned memory, byte level);
  35.     unsigned getTime();
  36.     unsigned getRead();
  37.     unsigned getTotal();
  38.     unsigned getDuration();
  39.     unsigned getMemory();
  40.     state_t getStatus();
  41.     byte getLevel();
  42.     void setLevel();
  43.     void setSlice(unsigned time);
  44.     void setDuration();
  45.     void setChange(unsigned memory, unsigned totalMemory);
  46.     bool end();
  47. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement