예제 #1
0
    def buscar_Todos(self):

        processo = Processo()

        dados_brutos = processo.consultar_todos()

        pop = Toplevel(width=700, height=700)
        pop.title("Processos cadastrados")
        pop.geometry("500x500+300+150")
        scrollbar = Scrollbar(pop)
        scrollbar.pack(side=RIGHT, fill=Y)
        lista = Listbox(pop,
                        yscrollcommand=scrollbar.set,
                        font=('Helvetica', '12'))

        #  lista.insert(END,'   Sistema | Empreendimento | NumeroDoProcesso | DataRecebimento | Tipo | EncaminhamentoPara | DataDaVistoria | PrazoParaLaudo | NumeroDoOficio | Observacoes'.upper())
        numDeLinha = 0
        lista.insert(END, ' ')
        for linha in dados_brutos:
            numDeLinha += 1
            for r in "()''":
                linha = str(linha).replace(r, "")
            lista.insert(
                END, " " + str(numDeLinha) + "ª  " +
                linha.replace(',', "   |   ").upper())
            lista.insert(END, " ")
            lista.insert(END, " ")

        lista.pack(fill=BOTH, expand=1)
        scrollbar.config(command=lista.yview)
예제 #2
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))
예제 #3
0
    def buscar(self):
        processo = Processo()

        if len(self.NumeroDoProcesso_entry.get()):
            processo.NumeroDoProcesso = self.NumeroDoProcesso_entry.get()

            self.status['text'] = processo.consultar()

            self.limparCampos()
            self.sistema_entry.insert(INSERT, processo.Sistema)
            self.Empreendimento_entry.insert(INSERT, processo.Empreendimento)
            self.NumeroDoProcesso_entry.insert(INSERT,
                                               processo.NumeroDoProcesso)
            self.DataRecebimento_entry.insert(
                0, re.sub('[^0-9]', '', processo.DataRecebimento))
            self.Tipo_entry.insert(INSERT, processo.Tipo)
            self.EncaminhamentoPara_entry.insert(INSERT,
                                                 processo.EncaminhamentoPara)
            self.DataDaVistoria_entry.insert(
                0, re.sub('[^0-9]', '', processo.DataDaVistoria))
            self.PrazoParaLaudo_entry.insert(INSERT, processo.PrazoParaLaudo)
            self.NumeroDoOficio_entry.insert(INSERT, processo.NumeroDoOficio)
            self.Observacoes_entry.insert(INSERT, processo.Observacoes)
        else:
            self.status['text'] = "Erro_Campo vazio"
            self.limparCampos()
예제 #4
0
    def excluir(self):
        processo = Processo()

        if len(self.NumeroDoProcesso_entry.get()):
            processo.NumeroDoProcesso = self.NumeroDoProcesso_entry.get()

            self.status['text'] = processo.excluir()

        else:
            self.status['text'] = "Erro_Campo vazio"

        self.limparCampos()
예제 #5
0
def inicilizarEntrada(nomeArquivo):
    identificador = 1
    arquivoEntrada = open(nomeArquivo, 'r')
    filaEntrada = []
    for linha in arquivoEntrada:
        linha = linha.split(', ')
        linha = [int(x) for x in linha]
        novoProcesso = Processo(linha[0], linha[1], linha[2], linha[3], linha[4], linha[5], linha[6], linha[7])
        novoProcesso.id = identificador
        filaEntrada.append(novoProcesso)
        identificador += 1

    arquivoEntrada.close()
    return filaEntrada
예제 #6
0
 def criarProcessos(self):
     self.console.quebraDeLinha(3)
     quantidadeDeProcessos = int(
         self.console.obter('Quantidade de processos'))
     self.console.linha(10)
     for index in range(quantidadeDeProcessos):
         titulo = self.console.obter(f'Titulo do processo {index+1}')
         self.tituloDosProcessos.append(titulo)
     self.console.linha(10)
     self.console.quebraDeLinha(3)
     for index in range(quantidadeDeProcessos):
         processo = Processo()
         processo.init(self.tituloDosProcessos[index],
                       self.tituloDosRecursos)
         self.processos.append(processo)
예제 #7
0
def algo_menor_primeiro():
    st.header('Menor Primeiro (SJF) - Demonstração')

    escolhe_proc = st.selectbox(
        label='Escolha o csv para ser carregado',
        options=['Demonstração 1', 'Demonstração 2', 'Demonstração 3'])
    if (escolhe_proc == 'Demonstração 1'):
        df = pd.read_csv('menor_primeiro.csv')

    if (escolhe_proc == 'Demonstração 2'):
        df = pd.read_csv('menor_primeiro2.csv')

    if (escolhe_proc == 'Demonstração 3'):
        df = pd.read_csv('menor_primeiro3.csv')

    # Busca os processos de uma planilha do Google
    # df = pd.read_csv('https://docs.google.com/spreadsheets/d/e/2PACX-1vRqjZdPyFphn5nD9vwbv94obvpuY4vlPTRz31wLe_SaRCYSKGBZzvlIQkNd51rcow2Npua4RTLyf4PL/pub?output=csv')
    # df = pd.read_csv('processos.csv')

    st.write('**Processos**')
    st.write(df)

    # Lista de Processos
    processos = []

    # Cria lista de processos
    for index, proc in df.iterrows():
        processos.append(
            Processo(proc['id'], proc['ingresso'], proc['duracao']))
    inicia_processos(processos)

    menor_primeiro(processos)
    def power(self):
        listPro = []
        
        i = 4
        ref_arquivo = open("processo.txt", "r")
        for linhas in ref_arquivo:
            eventos = []
            valores = linhas.split()
            id = valores[0]
            tamanho = valores[1]
            prioridade = valores[2]
            tchegada = valores[3]

            if(len(valores) > 4):
                while(i < len(valores)):
                    eventos.append(valores[i])
                    i = i+1
           
            pro = Processo(id,tamanho,prioridade,tchegada, eventos)
            listPro.append(pro)
           

           #del eventos[:]

        ref_arquivo.close()
        
        for pr in listPro:
            print(pr.id, pr.tamanho, pr.prioridade, pr.tempoChegada, pr.eventos, pr.tipoPros)
 def criar(self):
   id = int(input("Digite o id do processo: "))
   tamanho = int(input("Digite o tamanho do processo: "))
   print("Defina o tipo de estrategia [ 0 - First-Fit; 1 - Best-Fit; 2 - Worst-Fit ]")
   estrategia = int(input("valor: "))
   processo = Processo(id, tamanho, estrategia, None)
   return self.gerenciador.criar_novo_processo(processo)
예제 #10
0
    def _converterStringParaProcesso(cls, processoStr):
        """
        Faz o tratamento das informações do processo contidas na String

        :String processoStr:
        :param processoStr: metadados do Processo contidas na String

        :return: Retorna o objeto Processo com os seus devidos metadados
        """
        tamanhoListaProcesso = len(processoStr)
        if (tamanhoListaProcesso != 0):
            infoProcessoTemp = processoStr.replace(' ', '')
            infoProcesso = infoProcessoTemp.split(',')

            try:
                quantidadeItensInfoProcesso = len(infoProcesso)
                if (quantidadeItensInfoProcesso != 6):
                    raise ValueError

                else:
                    processo = Processo()
                    processo.idProcesso = infoProcesso[0]
                    #processo.nomeProcesso = infoProcesso[1]
                    processo.tamanhoProcesso = infoProcesso[2]
                    processo.tempoExecucao = infoProcesso[3]
                    processo.prioridade = infoProcesso[4]
                    processo.tempoVida = infoProcesso[5]

                    return processo

            except ValueError:
                raise ValueError

        else:
            return processo
    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()
예제 #12
0
    def armazenarProcessoDiscoTest():
        print("\narmazenarProcessoDiscoTest")
        # Configuração
        caminhoDisco = "discorepositorio.csv"

        processo = Processo()
        processo.idProcesso = 380
        processo.tamanhoProcesso = 560
        processo.tempoVida = 30

        # Execução
        MemoriaSecundaria.armazenarProcessoDisco(processo, caminhoDisco)

        disco = open("discorepositorio.csv", "r")
        processosStr = disco.readlines()
        disco.close()

        # Validação
        print(processosStr[-1])
예제 #13
0
def criarProcesso(idProcesso):
    processo = Processo()
    processo.idProcesso = idProcesso
    processo.tamanhoProcesso = randint(100, 1024)
    #processo.tempoExecucao = 2
    processo.prioridade = randint(0, 4)
    processo.tempoVida = randint(1, 15)
    #processo.nomeProcesso = str( idProcesso ) + str( processo.tamanhoProcesso ) + str( processo.prioridade ) + str( processo.tempoVida )

    return processo
    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()
예제 #16
0
    def nomeProcessoTest():
        # Configuração

        for id in range(10):
            processo = Processo()
            processo.idProcesso = id
            processo.tamanhoProcesso = randint(1, 50)
            processo.tempoExecucao = randint(1, 50)
            processo.tempoVida = randint(1, 50)
            processo.prioridade = randint(0, 4)
            processo.bitR = randint(0, 1)
            processo.bitM = randint(0, 1)

            # Execução
            nomeProcessoEsperado = str(processo.idProcesso) + str(
                processo.tamanhoProcesso) + str(processo.prioridade) + str(
                    processo.tempoVida)

            if (nomeProcessoEsperado == processo.nomeProcesso):
                print("{} == {}".format(processo.nomeProcesso,
                                        nomeProcessoEsperado))
            else:
                print("{} != {}".format(processo.nomeProcesso,
                                        nomeProcessoEsperado))
예제 #17
0
def algo_round_robin():
    st.header('Round Robin - Demonstração')
    # st.write('Para mudar os processos, basta alterar [essa planilha](https://docs.google.com/spreadsheets/d/1vTeJ80BnAhXqQjpO9ml0bRAjikwSyBhkKS9iH1vPRe8/edit?usp=sharing) e atualizar a página :wink:')

    escolhe_proc = st.selectbox(
        label='Escolha o csv para ser carregado',
        options=['Demonstração 1', 'Demonstração 2', 'Demonstração 3'])
    if (escolhe_proc == 'Demonstração 1'):
        df = pd.read_csv('round_robin.csv')

    if (escolhe_proc == 'Demonstração 2'):
        df = pd.read_csv('round_robin2.csv')

    if (escolhe_proc == 'Demonstração 3'):
        df = pd.read_csv('round_robin3.csv')

    # Busca os processos de uma planilha do Google
    # df = pd.read_csv('https://docs.google.com/spreadsheets/d/e/2PACX-1vRqjZdPyFphn5nD9vwbv94obvpuY4vlPTRz31wLe_SaRCYSKGBZzvlIQkNd51rcow2Npua4RTLyf4PL/pub?output=csv')
    # df = pd.read_csv('processos.csv')

    st.write('**Processos**')
    st.write(df)

    quantum = st.number_input(label='Escolha o quantum (em segundos)',
                              step=1,
                              value=2,
                              min_value=0,
                              max_value=99999)

    # Lista de Processos
    processos = []

    # Cria lista de processos
    for index, proc in df.iterrows():
        processos.append(
            Processo(proc['id'], proc['ingresso'], proc['duracao']))

    inicia_processos(processos)

    round_robin(processos, quantum)
Rosa = Advogado('OAB-SP 444.444', 'Rosa Weber')

# AUDIENCIAS
audiencia1 = Audiencia('01/01/2021', 'Acordo', 60)
audiencia2 = Audiencia('02/02/2022', 'Litigio', 90)
audiencia3 = Audiencia('03/03/2023', 'Acordo', 30)
audiencia4 = Audiencia('04/04/2024', 'Litigio', 120)
audiencia5 = Audiencia('05/05/2025', 'Acordo', 90)
audiencia6 = Audiencia('06/06/2026', 'Litigio', 120)
audiencia7 = Audiencia('07/07/2027', 'Acordo', 60)
audiencia8 = Audiencia('08/08/2028', 'Litigio', 30)
audiencia9 = Audiencia('09/09/2029', 'Acordo', 90)
audiencia10 = Audiencia('10/10/2030', 'Litigio', 60)

#PROCESSOS
processo1 = Processo('Dano Morais', custo3, False, 'Transitado em julgado',
                     Ciro, Carmem)
processo2 = Processo('Divorcio Litigioso', custo5, True, 'Recurso', Jair,
                     Gilmar)
processo3 = Processo('Indenizacao por Danos Materiais', custo2, True,
                     'Em execucao', Marina, Rosa)
processo4 = Processo('Execucao Contratual', custo9, False, 'Arquivado',
                     Geraldo, Gilmar)
processo5 = Processo('Habeas Corpus', custo4, False, 'Negado', Jair, Gilmar)
processo6 = Processo('Habeas Data', custo6, True, 'Transitado em Julgado',
                     Benevenuto, Rosa)
processo7 = Processo('Pedido de Liminar', custo8, False, 'Arquivado', Fernando,
                     Carmem)
processo8 = Processo('Homicidio Duplamente Qualificado', custo7, True,
                     'Diligencia', Jair, Gilmar)
processo9 = Processo('Recurso Extraordinario', custo10, False,
                     'Embargos Declaratorios', Joao, Roberto)
def main():
    count_memoria = 0

    dicionario_de_processos = ler_entrada.pegar_processos(entrada)
    #criando_processos

    for chave in dicionario_de_processos:
        processo_instrucoes = dicionario_de_processos[chave]
        nome = chave
        tamanho = processo_instrucoes[0][1]

        processo_temp = Processo(tamanho, nome, processo_instrucoes)
        lista_de_processos.append(processo_temp)
    #num_processos = len(lista_de_processos)

    # for x in lista_de_processos:
    #     x._print_processo()
    mmu = Mmu(tamanho_frames, tamanho_frames, memoria_principal)

    mmu._iniciar__memoria()
    # for x in mmu._memoria_principal_posicoes:
    #     print(x)

    mmu._iniciar_memoria_logica(lista_de_processos)
    mmu._iniciar_memoria_secundaria(lista_de_processos)
    # for x in mmu._memoria_secundaria_posicoes:
    #     print('mmmmmmmmmmmmmmmeemmmmeeemmmooorriiiaseecccuuunnddaarriiasssssssssssssssssssssssss',x)
    i_lista_proc = 0
    i_lista_proc_exec = 0
    #i_lista_proc_block = 0
    for x in lista_de_processos:
        del x.instrucoes[0]
    a = 0
    while a < 20:
        a += 1
        print("loop_inicio")

        if len(lista_de_processos) > 0:
            lista_de_processos_executando.append(
                lista_de_processos[i_lista_proc])
            del lista_de_processos[i_lista_proc]

        for x in lista_de_processos_bloqueados:
            #print("pdovjspdoivjpiov",x.tempo_bloqueio)

            if tempo >= x.tempo_bloqueio:
                x.tempo_bloqueio = 0
                del x.instrucoes[0]
                lista_de_processos.append(x)
                lista_de_processos_bloqueados.remove(x)

        if len(lista_de_processos_executando) > 0:
            proc_temp = lista_de_processos_executando[i_lista_proc_exec]
            if len(proc_temp.instrucoes) > 0:
                if "I" not in proc_temp.instrucoes[0][0]:
                    regiao_logica = proc_temp.instrucoes[0][1]
                    #print("REGIAAAAAAAAAAAAO LOGICA",regiao_logica)
                    page_to_frame = -1
                    for x in range(len(mmu._memoria_principal_posicoes)):
                        for y in mmu._memoria_principal_posicoes[x]:
                            #print("y",y)
                            if (len(mmu._memoria_principal_posicoes[x][y][2])
                                    == 0) and page_to_frame == -1:
                                page_to_frame = x
                    if page_to_frame == -1:
                        indice_logico = (int(regiao_logica) -
                                         (int(regiao_logica) %
                                          tamanho_frames)) / tamanho_frames
                        print()
                        print()
                        print("#SWAP_PROCESSO")
                        proc_temp._print_processo()
                        print()
                        print()

                        print()

                        count_memoria = swap(mmu, tabela_de_paginas,
                                             count_memoria)
                    else:
                        indice_logico = (int(proc_temp.instrucoes[0][1]) -
                                         (int(proc_temp.instrucoes[0][1]) %
                                          tamanho_frames)) / tamanho_frames
                        tabela_de_paginas[page_to_frame] = int(indice_logico)
                        chave = list(
                            mmu._memoria_principal_posicoes[page_to_frame])[0]
                        tupla_to_list = list(
                            mmu._memoria_principal_posicoes[page_to_frame]
                            [chave])
                        tupla_to_list[2] = [proc_temp.instrucoes[0]]
                        #print("AQUI",tupla_to_list)
                        mmu._memoria_principal_posicoes[page_to_frame][
                            chave] = tuple(tupla_to_list)
                        executar_uma_instrucao()
                        del proc_temp.instrucoes[0]
                        lista_de_processos.append(proc_temp)
                        del lista_de_processos_executando[i_lista_proc_exec]
                        for x in mmu._memoria_secundaria_posicoes:
                            for y in x:
                                temp = list(x[y])[2]
                                #    print('tttttteempijociocoidjcjiociddicjcjdi',temp)

                                if len(temp) > 0:
                                    idx = int(temp[0][1])
                                    idx_logico = (idx - (idx % tamanho_frames)
                                                  ) / tamanho_frames
                                    if idx_logico == indice_logico:
                                        temp2 = []

                                        #           print('hhuuhehuhuehhuehheuheuheueuhhbrbbrbrbrbrbbtttttteempijociocoidjcjiociddicjcjdi',x[y][2])
                                        list(x[y])[2] = temp2

                else:
                    proc_temp.tempo_bloqueio = tempo + int(
                        proc_temp.instrucoes[0][1])
                    lista_de_processos_bloqueados.append(proc_temp)
                    del lista_de_processos_executando[i_lista_proc_exec]
            else:
                del lista_de_processos_executando[i_lista_proc_exec]

        print("lista_de_processos")
        for x in lista_de_processos:
            x._print_processo()
        print("lista_de_processos_bloc")
        for x in lista_de_processos_bloqueados:
            x._print_processo()
        print("lista_de_processos_exec")
        for x in lista_de_processos_executando:
            x._print_processo()
        if len(lista_de_processos) == 0 and len(
                lista_de_processos_bloqueados) == 0 and len(
                    lista_de_processos_executando) == 0:
            break
        #print(len(lista_de_processos) , len(lista_de_processos_bloqueados) , len(lista_de_processos_executando))
        print("TEMPO", tempo)
        executar_uma_instrucao()
        print("TABELA-DE-PAGINAS", tabela_de_paginas)
예제 #20
0
quantum = int(input("Digite o valor do quantum: "))
troca_contexto = int(input("Digite o valor da troca de contexto: "))
quant_process = int(input("Digite a quantidade de processos: "))

# quantum        = 2#randint(1,5)
# troca_contexto = 2#randint(1,3)
# quant_process  = 4#randint(1,5)

# valores = [3,7,4,5]

processos = ListaCircular()

for i in range(quant_process):
	tempo_processo = int(input("Tempo do processo {}: ".format(i+1)))
	processo = Processo(tempo_processo)
	processos.push(processo)

print ("Processo criados\n")
for i in range(len(processos)):
	print (processos[i])

proc = Processador(quantum,contexto=troca_contexto)
proc.execute(processos)

print ("\nOrdem terminados e seus valores\n")

for indice,valor in enumerate(proc.get_processos()):
	print ("{} - {}".format(indice+1,valor))
	print ("  - Turnarroud: {}u".format(valor.get_turnarroud()))
	print ("  - Espera: {}u\n".format(valor.get_tempo_espera()))
예제 #21
0
    def executarTest():
        # Configuração

        for id in range(10):
            processo = Processo()
            processo.idProcesso = id

            processoEsperado = id

            processo.tamanhoProcesso = randint(1, 50)
            processo.tempoExecucao = randint(1, 50)
            processo.tempoVida = randint(1, 50)
            processo.prioridade = randint(0, 4)
            processo.bitR = randint(0, 1)
            processo.bitM = randint(0, 1)

            # Execução
            processo.executar()

            if (processoEsperado == processo.idProcesso):
                print("Esperado: {} == Retornado: {}".format(
                    processo.idProcesso, processoEsperado))
            else:
                print("Esperado: {} != Retornado: {}".format(
                    processo.idProcesso, processoEsperado))
예제 #22
0
    def atualizar(self):
        processo = Processo()
        if len(self.NumeroDoProcesso_entry.get()):

            processo.Sistema = self.sistema_entry.get()
            processo.Empreendimento = self.Empreendimento_entry.get()
            processo.NumeroDoProcesso = self.NumeroDoProcesso_entry.get()
            processo.DataRecebimento = self.DataRecebimento_entry.get()
            processo.Tipo = self.Tipo_entry.get()
            processo.EncaminhamentoPara = self.EncaminhamentoPara_entry.get()
            processo.DataDaVistoria = self.DataDaVistoria_entry.get()
            processo.PrazoParaLaudo = self.PrazoParaLaudo_entry.get()
            processo.NumeroDoOficio = self.NumeroDoOficio_entry.get()
            processo.Observacoes = self.Observacoes_entry.get()

            self.limparCampos()

            self.status['text'] = processo.editar()
        else:
            self.status['text'] = "Erro_Campo vazio "
예제 #23
0
audiencia7 = Audiencia('07/07/2027', 'Acordo', 60, 7)
audiencia8 = Audiencia('08/08/2028', 'Litigio', 30, 8)
audiencia9 = Audiencia('09/09/2029', 'Acordo', 90, 9)
audiencia10 = Audiencia('10/10/2030', 'Litigio', 60, 10)
audiencia11 = Audiencia('11/11/2031', 'Acordo', 180, 11)

lista_audiencias.extend([
    audiencia1, audiencia2, audiencia3, audiencia4, audiencia5, audiencia6,
    audiencia7, audiencia8, audiencia9, audiencia10, audiencia11
])

#PROCESSOS

lista_processos = []

processo1 = Processo('Dano Morais', custo3, False, 'Transitado em julgado',
                     Ciro, Carmem, 1)
processo2 = Processo('Divorcio Litigioso', custo5, True, 'Recurso', Jair,
                     Gilmar, 2)
processo3 = Processo('Indenizacao por Danos Materiais', custo2, True,
                     'Em execucao', Marina, Carmem, 3)
processo4 = Processo('Execucao Contratual', custo9, False, 'Arquivado',
                     Geraldo, Gilmar, 4)
processo5 = Processo('Habeas Corpus', custo4, False, 'Negado', Jair, Gilmar, 5)
processo6 = Processo('Habeas Data', custo6, True, 'Transitado em Julgado',
                     Benevenuto, Rosa, 6)
processo7 = Processo('Pedido de Liminar', custo8, False, 'Arquivado', Fernando,
                     Carmem, 7)
processo8 = Processo('Homicidio Duplamente Qualificado', custo7, True,
                     'Diligencia', Jair, Gilmar, 8)
processo9 = Processo('Recurso Extraordinario', custo10, False,
                     'Embargos Declaratorios', Joao, Roberto, 9)
예제 #24
0
# -*- coding: utf-8 -*-

from memoria import Memoria
from processo import Processo
from disco import Disco
from menu import menu 

if __name__ == "__main__":
    menu()
    mem = Memoria()
    disco = Disco()
    processo = Processo(escrita=True)
    processo2 = Processo(escrita=True)
    processo3 = Processo(escrita=True)
    processo4 = Processo(escrita=False)
    
    mem.init_Mem()
    disco.init_Disco()
    
    if mem.mapear_processo(processo):
        print("[+] O processo 1 foi mapeado para a memória")
    
    if mem.mapear_processo(processo2):
        print("[+] O processo 2 foi mapeado para a memória")
    
    if mem.unmmap_processo(processo, disco):
         print("[+] O processo 1 foi desmapeado da memória")
    
    if mem.mapear_processo(processo3):
        print("[+] O processo 3 foi mapeado para a memória")
    
    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 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
예제 #27
0
 def __init__(self, tamanho_memoria):
     self.processo_main = Processo(-1, 0, 0, 0, None)
     self.tamanho_memoria = tamanho_memoria
     self.estrategia = Estrategia(self.processo_main, self.tamanho_memoria)
예제 #28
0
 def __init__(self, processo_main=None, tamanho_memoria=0):
     self.processo_main = processo_main
     self.tamanho_memoria = tamanho_memoria
     self.processo_main.processo = Processo(None, self.tamanho_memoria,
                                            None, 0, 'L')
예제 #29
0
 def __init__(self, tamanho_memoria):
   self.processo_main = Processo(-1, 0, 0, 0)
   self.tamanho_memoria = tamanho_memoria
   self.identificadores = {}
   self.estrategia = Estrategia(self.processo_main, self.tamanho_memoria, self.identificadores)
예제 #30
0
    def exibirProcessoTest():
        # Configuração

        for id in range(10):
            processo = Processo()
            processo.idProcesso = id
            processo.tamanhoProcesso = randint(1, 50)
            processo.tempoExecucao = randint(1, 50)
            processo.tempoVida = randint(1, 50)
            processo.prioridade = randint(0, 4)
            processo.bitR = randint(0, 1)
            processo.bitM = randint(0, 1)

            # Execução
            processo.exibirInfoProcesso()