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 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 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 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 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
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 liberarMemoria3ProcessosIndice1TamanhoPaginaTest(): print("\nliberarMemoria3ProcessosIndice1TamanhoPaginaTest") # Configuração memoriaPrimaria = MemoriaPrimaria() mapaBits = MapeamentoEncadeadoBits() caminhoDisco = "discorepositorio.csv" tamanhoPagina = 20 processo = MemoriaSecundaria.buscarProcessoDisco(caminhoDisco) processo.bitR = 1 processo.bitM = 0 posicaoInicial = mapaBits.indiceMemoriaLivre memoriaPrimaria.adicionarProcessoMemoria(processo, posicaoInicial, tamanhoPagina) segmento = Segmento() segmento.processo = processo segmento.posicaoInicial = posicaoInicial segmento.quantidadePosicoes = tamanhoPagina segmento.definirClasseSubstituicaoPagina() mapaBits.adicionarSegmento(segmento) processo1 = MemoriaSecundaria.buscarProcessoDisco(caminhoDisco) processo1.bitR = 0 processo1.bitM = 0 posicaoInicial = mapaBits.indiceMemoriaLivre memoriaPrimaria.adicionarProcessoMemoria(processo1, posicaoInicial, tamanhoPagina) segmento1 = Segmento() segmento1.processo = processo1 segmento1.posicaoInicial = posicaoInicial segmento1.quantidadePosicoes = tamanhoPagina segmento1.definirClasseSubstituicaoPagina() mapaBits.adicionarSegmento(segmento1) processo2 = MemoriaSecundaria.buscarProcessoDisco(caminhoDisco) processo2.bitR = 0 processo2.bitM = 1 posicaoInicial = mapaBits.indiceMemoriaLivre memoriaPrimaria.adicionarProcessoMemoria(processo2, posicaoInicial, tamanhoPagina) segmento2 = Segmento() segmento2.processo = processo2 segmento2.posicaoInicial = posicaoInicial segmento2.quantidadePosicoes = tamanhoPagina segmento2.definirClasseSubstituicaoPagina() mapaBits.adicionarSegmento(segmento2) # Execução memoriaPrimaria.exibirMemoriaPrimariaTamanhoPagina(tamanhoPagina) indiceProcessoASerRemovido = mapaBits.buscarPosicaoInicialProcessoPelaClasseSubstituicao( 0) memoriaPrimaria.liberarMemoria(indiceProcessoASerRemovido, tamanhoPagina) # Validação memoriaPrimaria.exibirMemoriaPrimariaTamanhoPagina(tamanhoPagina)
def enviaMensagem(self,m, protocolo,portaOrigem, portaDestino, ipServidor): seg = Segmento(protocolo, portaOrigem, portaDestino) seg.setMensagem(m) self.camadaRede.enviaSegmento(protocolo, ipServidor, seg)
def empacotaSegmento(self,Mensagem): seg = Segmento() seg.setMensagem(Mensagem) return seg
h1.setEnlace(e1) r0.setEnlace(0, e0) r0.setEnlace(1, e1) r0.rotas = rotas r0.setTempoPacote('2') elementos.append(h0) elementos.append(h1) elementos.append(r0) elementos.append(e0) elementos.append(e1) # Datagrama m = Mensagem() m.setMsg("IRC MSG") s = Segmento('UDP', 8888, 6667) s.setMensagem(m) d = Datagrama(6, h0.ip, h1.ip,s) d.setTamanho(15) d # Envio e0.enviar(h0, d) e0.printBuff() # Fila de comandos h0.adicionaComando(2, "cmp", "sdajk") h0.adicionaComando(8, "cmp", "lsjk") h0.adicionaComando(1, "cmp", "ldajk") h0.adicionaComando(10, "cmp", "sdaj") h0.setSniffer("snifferH0")