Exemplo n.º 1
0
    def mostrar_resultados(self):
        media_de_espera = 0
        media_em_memoria = 0

        for processo in self.processos:
            fatias_gastas = len(processo.historico)
            fatias_gastas_em_memoria = fatias_gastas - processo.inicio
            fatias_em_espera = fatias_gastas_em_memoria - processo.fatias

            media_de_espera += fatias_em_espera
            media_em_memoria += fatias_gastas_em_memoria

            Console.quebrar_linha(2)
            Console.mostrar(f'Resultados do processo {processo.nome}')
            Console.adicionar_separador(13)
            Console.mostrar(f'Tempo de espera   -> {fatias_em_espera}')
            Console.mostrar(f'Tempo de execução -> {fatias_gastas_em_memoria}')
            Console.adicionar_separador(13)

        quantidade_de_processos = len(self.processos)
        media_de_espera /= quantidade_de_processos
        media_em_memoria /= quantidade_de_processos

        Console.quebrar_linha(2)
        Console.adicionar_separador(19)
        Console.mostrar(
            f'Tempo médio de espera   -> {media_de_espera :.2f} fatias')
        Console.mostrar(
            f'Tempo médio de execução -> {media_em_memoria :.2f} fatias')
        Console.adicionar_separador(19)
Exemplo n.º 2
0
    def mostrar_execucao(self):
        def obter_espacos(valor):
            return (2 - len(f'{valor}')) * ' '

        Console.quebrar_linha(vezes=1)

        for i, processo in enumerate(self.fila_de_execucao):
            faltando = processo.fatias - processo.processado
            n = ' | '

            Console.mostrar(f'{i+1} -> {processo.nome}', n=n)

            espacos = obter_espacos(faltando)
            Console.mostrar(f'Faltando -> {espacos}{faltando}', n=n, t='')

            espacos = obter_espacos(processo.processado)
            Console.mostrar(f'Processado -> {espacos}{processo.processado}',
                            n=n,
                            t='')

            espacos = obter_espacos(processo.fatias)
            Console.mostrar(f'Necessario -> {espacos}{processo.fatias}',
                            n=n,
                            t='')

            estado = processo.estado()
            if i == 0 and estado != 'finalizado':
                estado = 'executou'

            Console.mostrar(f'Estado -> {estado}', t='')
Exemplo n.º 3
0
    def mostrar_tabela(self):
        Console.quebrar_linha(2)

        n = '\033[0;0m'

        if self.fatias_executadas < 27:
            tamanho_da_fatia_em_tela = 3 * ' '
        elif self.fatias_executadas < 43:
            tamanho_da_fatia_em_tela = 2 * ' '
        else:
            tamanho_da_fatia_em_tela = 1 * ' '

        for processo in self.processos:
            Console.mostrar(f'{processo.nome} -> ', n=n, t='   ')

            for estado in processo.historico:
                representacao = f'{CORES[estado]}{tamanho_da_fatia_em_tela}'
                Console.mostrar(f'|{representacao}', n=n, t='')

            Console.quebrar_linha(2)