-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProceso.hh
executable file
·113 lines (94 loc) · 2.44 KB
/
Proceso.hh
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/**
* @file Proceso.hh
*
* @brief Especificacion de la clase Proceso
*
*/
#ifndef _PROCESO_
#define _PROCESO_
#ifndef NO_DIAGRAM
#include <iostream>
#endif
using namespace std;
/**
* @class Proceso
* @brief Representa a un proceso con un identificador, su memoria requerida y su tiempo de ejecucion
*
* Ofrece la funcionalidad de leer e imprimir los atributos de un proceso, actualizar su tiempo de ejecucion
* y la consulta de sus atributos.
*/
class Proceso
{
private:
/** @brief Identificador del proceso*/
int PID;
/** @brief Tiempo restante del proceso antes de terminar*/
int tiempo;
/** @brief Cantidad de memoria necesaria para el proceso*/
int memoria;
public:
// Constructoras
/**
* @brief Constructora Proceso por defecto
* \pre *Cierto*
* \post Un Proceso vacio, con identificador, tiempo requerido y memoria requerida sin inicializar.
* \coste Constante
*/
Proceso();
// Modificadoras
/**
* @brief Actualiza el tiempo restante de ejecucion del proceso
*
* \pre seconds > 0 y seconds menos o igual que el tiempo restante del proceso
* \post El tiempo restante del proceso se reduce en seconds
* \coste Constante
*/
void actualizar_tiempo(int seconds);
// Consultoras
/**
* @brief Consulta el identificador del proceso
*
* \pre *Cierto*
* \post Devuelve el identificador del proceso
* \coste Constante
*/
int consultar_PID() const;
/**
* @brief Consulta la cantidad de memoria que ocupa el proceso
*
*
*
* \pre *Cierto*
* \post Devuelve el tamaño de memoria que ocupa el proceso
* \coste Constante
*/
int consultar_mem_req() const;
/**
* @brief Consulta el tiempo en el que finalizara el proceso
*
*
*
* \pre *Cierto*
* \post Devuelve el tiempo de finalizacion del proceso
* \coste Constante
*/
int consultar_tiempo_finalizacion() const;
// Lectura y escritura
/**
* @brief Lee los atributos de un proceso
*
* \pre *Cierto*
* \post El proceso se inicializa con los atributos leidos
* \coste Constante
*/
void leer_proceso();
/**
* @brief Imprime los atributos de un proceso
*
* \pre *Cierto*
* \post Se imprimen los atributos del proceso por el canal estandar de salida
* \coste Constante
*/
void imprimir_proceso() const;
};
#endif