예제 #1
0
    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))
예제 #2
0
    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()
예제 #4
0
    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()
예제 #9
0
    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)
예제 #10
0
	def enviaMensagem(self,m, protocolo,portaOrigem, portaDestino, ipServidor):
		seg = Segmento(protocolo, portaOrigem, portaDestino)
		seg.setMensagem(m)
		self.camadaRede.enviaSegmento(protocolo, ipServidor, seg)
예제 #11
0
	def empacotaSegmento(self,Mensagem):
		seg = Segmento()
		seg.setMensagem(Mensagem)
		return seg
예제 #12
0
파일: test.py 프로젝트: Evnsan/MAC0448
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")