def liberarMemoria3ProcessosIndice1TamanhoTotalProcessoTest(): print("\nliberarMemoria3ProcessosIndice1TamanhoTotalProcessoTest") # Configuração memoriaPrimaria = MemoriaPrimaria() mapaBits = MapeamentoEncadeadoBits() caminhoDisco = "discorepositorio.csv" processo = MemoriaSecundaria.buscarProcessoDisco(caminhoDisco) processo.bitR = 0 processo.bitM = 0 posicaoInicial = mapaBits.indiceMemoriaLivre memoriaPrimaria.adicionarProcessoMemoria(processo, posicaoInicial) segmento = Segmento() segmento.processo = processo segmento.posicaoInicial = posicaoInicial segmento.quantidadePosicoes = processo.tamanhoProcesso segmento.definirClasseSubstituicaoPagina() mapaBits.adicionarSegmento(segmento) processo1 = MemoriaSecundaria.buscarProcessoDisco(caminhoDisco) processo1.bitR = 1 processo1.bitM = 1 posicaoInicial = mapaBits.indiceMemoriaLivre memoriaPrimaria.adicionarProcessoMemoria(processo1, posicaoInicial) segmento1 = Segmento() segmento1.processo = processo1 segmento1.posicaoInicial = posicaoInicial segmento1.quantidadePosicoes = processo1.tamanhoProcesso segmento1.definirClasseSubstituicaoPagina() mapaBits.adicionarSegmento(segmento1) processo2 = MemoriaSecundaria.buscarProcessoDisco(caminhoDisco) processo2.bitR = 0 processo2.bitM = 0 posicaoInicial = mapaBits.indiceMemoriaLivre memoriaPrimaria.adicionarProcessoMemoria(processo2, posicaoInicial) segmento2 = Segmento() segmento2.processo = processo2 segmento2.posicaoInicial = posicaoInicial segmento2.quantidadePosicoes = processo2.tamanhoProcesso segmento2.definirClasseSubstituicaoPagina() mapaBits.adicionarSegmento(segmento2) # Execução memoriaPrimaria.exibirMemoriaPrimariaTamanhoTotalProcesso() # OBSERVAR RETORNO DO -1 PARA BUSCA DA CLASSE indiceProcessoASerRemovido = mapaBits.buscarPosicaoInicialProcessoPelaClasseSubstituicao( 0) memoriaPrimaria.liberarMemoria(indiceProcessoASerRemovido) # Validação memoriaPrimaria.exibirMemoriaPrimariaTamanhoTotalProcesso()
def removerSegmentoIndice3Test(): print("\nremoverSegmentoIndice3Test") # Configuração processo = Processo() processo.tamanhoProcesso = 150 processo1 = Processo() processo1.tamanhoProcesso = 120 processo2 = Processo() processo2.tamanhoProcesso = 300 processo3 = Processo() processo3.tamanhoProcesso = 650 mapeamentoEncadeadoBits = MapeamentoEncadeadoBits() segmento = Segmento() segmento.processo = processo segmento.posicaoInicial = mapeamentoEncadeadoBits.indiceMemoriaLivre segmento.quantidadePosicoes = processo.tamanhoProcesso mapeamentoEncadeadoBits.adicionarSegmento(segmento) segmento1 = Segmento() segmento1.processo = processo1 segmento1.posicaoInicial = mapeamentoEncadeadoBits.indiceMemoriaLivre segmento1.quantidadePosicoes = processo1.tamanhoProcesso mapeamentoEncadeadoBits.adicionarSegmento(segmento1) segmento2 = Segmento() segmento2.processo = processo2 segmento2.posicaoInicial = mapeamentoEncadeadoBits.indiceMemoriaLivre segmento2.quantidadePosicoes = processo2.tamanhoProcesso mapeamentoEncadeadoBits.adicionarSegmento(segmento2) segmento3 = Segmento() segmento3.processo = processo3 segmento3.posicaoInicial = mapeamentoEncadeadoBits.indiceMemoriaLivre segmento3.quantidadePosicoes = processo3.tamanhoProcesso mapeamentoEncadeadoBits.adicionarSegmento(segmento3) # Execução mapeamentoEncadeadoBits.exibirMapaBits() mapeamentoEncadeadoBits.removerSegmento(3) # Validação mapeamentoEncadeadoBits.exibirMapaBits()
def definirClasseSubstituicaoPaginaClasse2Test(): print("definirClasseSubstituicaoPaginaClasse2Test: ") processo = Processo() segmento = Segmento() classeEsperada = -1 processo.bitR = 1 processo.bitM = 0 # Execução if (processo.bitR == 0 and processo.bitM == 0): classeEsperada = 0 elif (processo.bitR == 0 and processo.bitM == 1): classeEsperada = 1 elif (processo.bitR == 1 and processo.bitM == 0): classeEsperada = 2 elif (processo.bitR == 1 and processo.bitM == 1): classeEsperada = 3 else: classeEsperada = -1 segmento.processo = processo # Validação segmento.definirClasseSubstituicaoPagina() if (classeEsperada == segmento.classeSubstituicao): print("Esperado: {} == Retornado: {}".format( classeEsperada, segmento.classeSubstituicao)) else: print("Esperado: {} != Retornado: {}".format( classeEsperada, segmento.classeSubstituicao))
def adicionarSegmentoTamanhoPaginaTest(): print("adicionarSegmentoTamanhoPaginaTest") # Configuração tamanhoPagina = 200 processo = Processo() processo.tamanhoProcesso = 150 processo1 = Processo() processo1.tamanhoProcesso = 120 processo2 = Processo() processo2.tamanhoProcesso = 300 mapeamentoEncadeadoBits = MapeamentoEncadeadoBits() # Execução segmento = Segmento() segmento.processo = processo segmento.posicaoInicial = mapeamentoEncadeadoBits.indiceMemoriaLivre segmento.quantidadePosicoes = tamanhoPagina mapeamentoEncadeadoBits.adicionarSegmento(segmento) segmento1 = Segmento() segmento1.processo = processo1 segmento1.posicaoInicial = mapeamentoEncadeadoBits.indiceMemoriaLivre segmento1.quantidadePosicoes = tamanhoPagina mapeamentoEncadeadoBits.adicionarSegmento(segmento1) segmento2 = Segmento() segmento2.processo = processo2 segmento2.posicaoInicial = mapeamentoEncadeadoBits.indiceMemoriaLivre segmento2.quantidadePosicoes = tamanhoPagina mapeamentoEncadeadoBits.adicionarSegmento(segmento2) # Validação mapeamentoEncadeadoBits.exibirMapaBits()
def adicionarSegmentoVericarIndiceMemoriaLivreAtualizadoTest(): print("\nadicionarSegmentoVericarIndiceMemoriaLivreAtualizadoTest") # Configuração processo = Processo() processo.tamanhoProcesso = 255 processo1 = Processo() processo1.tamanhoProcesso = 350 processo2 = Processo() processo2.tamanhoProcesso = 500 mapeamentoEncadeadoBits = MapeamentoEncadeadoBits() # Execução segmento = Segmento() segmento.processo = processo segmento.posicaoInicial = mapeamentoEncadeadoBits.indiceMemoriaLivre segmento.quantidadePosicoes = processo.tamanhoProcesso mapeamentoEncadeadoBits.adicionarSegmento(segmento) segmento1 = Segmento() segmento1.processo = processo1 segmento1.posicaoInicial = mapeamentoEncadeadoBits.indiceMemoriaLivre segmento1.quantidadePosicoes = processo1.tamanhoProcesso mapeamentoEncadeadoBits.adicionarSegmento(segmento1) segmento2 = Segmento() segmento2.processo = processo2 segmento2.posicaoInicial = mapeamentoEncadeadoBits.indiceMemoriaLivre segmento2.quantidadePosicoes = processo2.tamanhoProcesso mapeamentoEncadeadoBits.adicionarSegmento(segmento2) # Validação mapeamentoEncadeadoBits.exibirMapaBits()
def adicionarProcessoMemoriaPrimaria(self, memoriaPrimaria, processo): if (self._tamanhoPagina == None): espacoOcupadoProcesso = processo.tamanhoProcesso else: espacoOcupadoProcesso = self._tamanhoPagina posicaoInicial = self._mapaBits.indiceMemoriaLivre memoriaPrimaria.adicionarProcessoMemoria(processo, posicaoInicial, espacoOcupadoProcesso) segmento = Segmento() segmento.processo = processo segmento.posicaoInicial = posicaoInicial segmento.quantidadePosicoes = espacoOcupadoProcesso self._mapaBits.adicionarSegmento(segmento)
def adicionarSegmentoTest(): print("\nadicionarSegmentoTest") # Configuração processo = Processo() processo.tamanhoProcesso = 255 mapeamentoEncadeadoBits = MapeamentoEncadeadoBits() # Execução segmento = Segmento() segmento.processo = processo segmento.posicaoInicial = mapeamentoEncadeadoBits.indiceMemoriaLivre segmento.quantidadePosicoes = processo.tamanhoProcesso mapeamentoEncadeadoBits.adicionarSegmento(segmento) # Validação mapeamentoEncadeadoBits.exibirMapaBits()
def get_oreja(self, poligono): t = Poligono() vertices = poligono.getVertices() es_oreja = True for v in vertices: t.limpiaPoligono() print("-------------------------------------------------------") print("analizando el vertice " + v.toString()) v_i = poligono.anterior(v) v_j = poligono.siguiente(v) t.addV(v) t.addV(v_i) t.addV(v_j) t.cerrar() #print("v: "+v.toString()+" v_i: "+v_i.toString()+" v_j: "+v_j.toString()) s = Segmento(v_i, v) if poligono.getOrientacion() == 1: lado_interior = "der" else: lado_interior = "izq" if s.lado_p(v_j) == lado_interior or s.lado_p(v_j) == "col": continue else: v_restantes = vertices[:] v_restantes.remove(v) v_restantes.remove(v_i) v_restantes.remove(v_j) es_oreja = True for u in v_restantes: print(t.isInterior(u)) if t.isInterior(u): print("el punto " + u.toString() + " esta en el interior interior del triangulo: " + t.toString() + " :(") es_oreja = False if es_oreja: return (t, Arista(v_i, v_j), v) return False
def popularMapaBits(cls, listaTamanhoProcesso): processo = Processo() processo.bitR = 0 processo.bitM = 0 processo.tamanhoProcesso = listaTamanhoProcesso[0] processo1 = Processo() processo1.bitR = 0 processo1.bitM = 0 processo1.tamanhoProcesso = listaTamanhoProcesso[1] processo2 = Processo() processo2.bitR = 0 processo2.bitM = 1 processo2.tamanhoProcesso = listaTamanhoProcesso[2] processo3 = Processo() processo3.bitR = 1 processo3.bitM = 1 processo3.tamanhoProcesso = listaTamanhoProcesso[3] processo4 = Processo() processo4.bitR = 1 processo4.bitM = 0 processo4.tamanhoProcesso = listaTamanhoProcesso[4] mapeamentoEncadeadoBits = MapeamentoEncadeadoBits() segmento = Segmento() segmento.processo = processo segmento.definirClasseSubstituicaoPagina() segmento.posicaoInicial = mapeamentoEncadeadoBits.indiceMemoriaLivre segmento.quantidadePosicoes = processo.tamanhoProcesso mapeamentoEncadeadoBits.adicionarSegmento(segmento) segmento1 = Segmento() segmento1.processo = processo1 segmento1.definirClasseSubstituicaoPagina() segmento1.posicaoInicial = mapeamentoEncadeadoBits.indiceMemoriaLivre segmento1.quantidadePosicoes = processo1.tamanhoProcesso mapeamentoEncadeadoBits.adicionarSegmento(segmento1) segmento2 = Segmento() segmento2.processo = processo2 segmento2.definirClasseSubstituicaoPagina() segmento2.posicaoInicial = mapeamentoEncadeadoBits.indiceMemoriaLivre segmento2.quantidadePosicoes = processo2.tamanhoProcesso mapeamentoEncadeadoBits.adicionarSegmento(segmento2) segmento3 = Segmento() segmento3.processo = processo3 segmento3.definirClasseSubstituicaoPagina() segmento3.posicaoInicial = mapeamentoEncadeadoBits.indiceMemoriaLivre segmento3.quantidadePosicoes = processo3.tamanhoProcesso mapeamentoEncadeadoBits.adicionarSegmento(segmento3) segmento4 = Segmento() segmento4.processo = processo4 segmento4.definirClasseSubstituicaoPagina() segmento4.posicaoInicial = mapeamentoEncadeadoBits.indiceMemoriaLivre segmento4.quantidadePosicoes = processo4.tamanhoProcesso mapeamentoEncadeadoBits.adicionarSegmento(segmento4) return mapeamentoEncadeadoBits