fixer de manière auto MAX_PROCESSES
This commit is contained in:
		
							
								
								
									
										15
									
								
								simulator.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								simulator.c
									
									
									
									
									
								
							| @@ -4,7 +4,7 @@ | |||||||
|  |  | ||||||
| #define RR_QUANTUM 2 | #define RR_QUANTUM 2 | ||||||
| #define CNTXT_SWITCH 1 | #define CNTXT_SWITCH 1 | ||||||
| #define MAX_PROCESSES 10  | int MAX_PROCESSES = 0; | ||||||
|  |  | ||||||
| enum pstate { | enum pstate { | ||||||
|     WAITING, |     WAITING, | ||||||
| @@ -364,8 +364,8 @@ struct perf_info schedule_RR(struct pinfo *processes) { // Déclaration de la fo | |||||||
| } | } | ||||||
|  |  | ||||||
| void write_file(struct pinfo * process, struct perf_info * perf) { | void write_file(struct pinfo * process, struct perf_info * perf) { | ||||||
|     FILE *myStream_execution = fopen("executionPr.csv", "w"); |     FILE *myStream_execution = fopen("executionRR1.csv", "w"); | ||||||
|     FILE *myStream_performance = fopen("performancePr.csv", "w"); |     FILE *myStream_performance = fopen("performanceRR1.csv", "w"); | ||||||
|  |  | ||||||
|     if (myStream_execution == NULL || myStream_performance == NULL) { |     if (myStream_execution == NULL || myStream_performance == NULL) { | ||||||
|         perror("Erreur à l'ouverture des fichiers"); |         perror("Erreur à l'ouverture des fichiers"); | ||||||
| @@ -404,6 +404,8 @@ struct pinfo * read_file() { | |||||||
|     struct pinfo * process; |     struct pinfo * process; | ||||||
|  |  | ||||||
|     while (fgets(line, buf_size, file)) { |     while (fgets(line, buf_size, file)) { | ||||||
|  |  | ||||||
|  |         MAX_PROCESSES += 1; | ||||||
|         pid_str = strtok(line, " "); |         pid_str = strtok(line, " "); | ||||||
|         arrival_str = strtok(NULL, " "); |         arrival_str = strtok(NULL, " "); | ||||||
|         execution_str = strtok(NULL, " "); |         execution_str = strtok(NULL, " "); | ||||||
| @@ -431,7 +433,10 @@ struct pinfo * read_file() { | |||||||
|     } |     } | ||||||
|     free(line); |     free(line); | ||||||
|     fclose(file); |     fclose(file); | ||||||
|  |  | ||||||
|  |     printf("Maximum des processus : %d\n", MAX_PROCESSES); | ||||||
|     return first; |     return first; | ||||||
|  |  | ||||||
| } | } | ||||||
|  |  | ||||||
| void free_processes(struct pinfo * next) { | void free_processes(struct pinfo * next) { | ||||||
| @@ -449,8 +454,8 @@ int main() { | |||||||
|     struct pinfo * processes = read_file(); |     struct pinfo * processes = read_file(); | ||||||
|  |  | ||||||
|     //struct perf_info perf = schedule_FCFS(processes); |     //struct perf_info perf = schedule_FCFS(processes); | ||||||
|     //struct perf_info perf = schedule_RR(processes);  |     struct perf_info perf = schedule_RR(processes);  | ||||||
|     struct perf_info perf = schedule_Pr(processes); |     //struct perf_info perf = schedule_Pr(processes); | ||||||
|  |  | ||||||
|     compute_waiting_time(processes); |     compute_waiting_time(processes); | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user