예제 #1
0
RImage::~RImage() {
	flushMemory();
}
void comandosUMC() {

	int opcionPrincipal;
	int opcionmemoryoTLB;
	int retardo;
	int opcionDump;
	int procesoElegido; //Los declaro aca porque no podes declarar algo adentro de un case de un switch
	int procesoQueElijo; //Los declaro aca porque no podes declarar algo adentro de un case de un switch

	while (1) {
		puts("\n*************************");
		puts("   CONSOLA UMC");
		puts("*************************");
		puts("Opcion 1: Retardo");
		puts("Opcion 2: Dump");
		puts("Opcion 3: Flush");
		puts("*************************\n");

		printf("Ingrese la opción: \n\n");
		scanf("%d", &opcionPrincipal);

		switch (opcionPrincipal) {
		case 1:
			system("clear");
			puts("Ingresar retardo\n");
			scanf("%d", &retardo);
			retardoUMC(retardo);
			system("clear");
			break;

		case 2:
			puts("seleccione el tipo de dump:\n");
			puts(
					"opción 1 : Dump de estructuras de memoria de todos los procesos\n");
			puts(
					"opción 2 : Dump de estructuras de memoria de un proceso en particular\n");
			puts(
					"opción 3 : Dump del contenido de la memoria de todos los procesos\n");
			puts(
					"opción 4 : Dump del contenido de la memoria de un proceso en particular\n");

			scanf("%d", &opcionDump);

			switch (opcionDump) {
			case 1:
				system("clear");
				dumpEstructuraDeMemoriaTodosLosProcesos();
				system("clear");
				break;
			case 2:
				system("clear");
				puts("Coloque el número de proceso: \n");
				scanf("%d", &procesoElegido);
				system("clear");
				dumpEstructuraDeMemoriaProcesoEnParticular(procesoElegido);
				break;
			case 3:
				system("clear");
				dumpContenidoDeMemoriaTodosLosProcesos();
				system("clear");
				break;
			case 4:
				system("clear");
				puts("Ingresar process ID: \n");
				scanf("%d", &procesoQueElijo);
				system("clear");
				dumpContenidoDeMemoriaProcesoEnParticular(procesoQueElijo);
				break;
			}
			break;

		case 3:
			system("clear");
			puts("Opcion 1: TLB\n");
			puts("Opcion 2: Memory\n");
			scanf("%d", &opcionmemoryoTLB);

			switch (opcionmemoryoTLB) {
			case 1:
				system("clear");
				flushTLB();
				system("clear");
				break;

			case 2:
				system("clear");
				flushMemory();
				system("clear");
				break;

			default:

				break;
			}
			break;

		default:

			break;
		}
		system("clear");
	}
}