int main(void) { tipoConfigSWAP* configuracion = cargarArchivoDeConfiguracionDeSWAP("cfgSWAP"); int socketSwap = crearSocket(); t_list* listaPaginas = list_create(); asociarAPuerto(socketSwap,configuracion->puertoDeEscucha); escucharConexiones(socketSwap,1); int socketMemoria = crearSocketParaAceptarSolicitudes(socketSwap); while(ejecutando){ tipoInstruccion* instruccionRecibida = recibirInstruccion(socketMemoria); tipoRespuesta* respuestaAMemoria = atenderInstruccion(instruccionRecibida,listaPaginas); enviarRespuesta(socketMemoria,respuestaAMemoria); } liberarSocket(socketMemoria); liberarSocket(socketSwap); destruirConfigSWAP(configuracion); return EXIT_SUCCESS; }
int main(void) { tipoConfigCPU* configuracion = cargarArchivoDeConfiguracionDeCPU("cfgCPU"); socketCpu = crearSocket(); conectarAServidor(socketCpu,configuracion->ipMemoria,configuracion->puertoMemoria); pid=19; /* ejecutarInstruccion(INICIAR,4,""); ejecutarInstruccion(ESCRIBIR,1,"negro"); ejecutarInstruccion(ESCRIBIR,3,"blanco"); ejecutarInstruccion(LEER,3,"");*/ /*ejecutarInstruccion(INICIAR,1,""); ejecutarInstruccion(ESCRIBIR,0,"loboNegro"); ejecutarInstruccion(ESCRIBIR,1,"javiGorro");*/ ejecutarInstruccion(INICIAR,3,""); ejecutarInstruccion(ESCRIBIR,0,"todoOk"); ejecutarInstruccion(LEER,1,"javiGorro"); getchar(); liberarSocket(socketCpu); destruirConfigCPU(configuracion); return EXIT_SUCCESS; }
int liberar_memoria(){ liberarSocket(socketEscucha); //list_destroy_and_destroy_elements(CPUs,(void*)liberar_pcb);s //destruir hilos //destruir listas.todo lo q este en memoria dinamica. pthread_mutex_destroy(&pcbs); pthread_mutex_destroy(&cpuss); pthread_mutex_destroy(&ready); pthread_mutex_destroy(&bloqueados); sem_destroy(&solicitud_ejecucion); sem_destroy(&solicitud_cpuLibre); sem_destroy(&solicitud_deBloqueo); return 0; }
int main(void) { int socketEscuchaCPU = crearSocket(); asociarAPuerto(socketEscuchaCPU, PUERTOCPU); escucharConexiones(socketEscuchaCPU, 1); int socketCPU = crearSocketParaAceptarSolicitudes(socketEscuchaCPU); while(1) { tipoInstruccion* instruccion = recibirInstruccion(socketCPU); printf("INSTRUCCION RECIBIDA | pID: %i | instruccion: %c | numeroDePagina: %i | texto: %s\n", instruccion->pid, instruccion->instruccion, instruccion->nroPagina, instruccion->texto); tipoRespuesta respuesta; respuesta.respuesta = 'p'; respuesta.informacion = "contenido de la pagina"; enviarRespuesta(socketCPU, &respuesta); printf("RESPUESTA ENVIADA | respuesta: %c | informacion: %s\n", respuesta.respuesta, respuesta.informacion); } liberarSocket(socketCPU); liberarSocket(socketEscuchaCPU); return EXIT_SUCCESS; }
void liberar_puertos(){ t_CPU* nodo_cpu; int tamano; int i; tamano = list_size(CPUs); for(i = 0; i < tamano; i++) { nodo_cpu =list_get(CPUs, i); liberarSocket(nodo_cpu->puerto); free(nodo_cpu); } }