Exemplo n.º 1
0
    def carregar_via_console(self):
        Console.quebrar_linha(vezes=1)

        self.quantum = int(Console.obter('De quanto é o quantum ?'))
        self.contexto = int(
            Console.obter('Qual o custo da troca de contexto ?'))

        quantidade_de_processos = int(
            Console.obter('Qual a quantidade de processos ?'))

        for i in range(quantidade_de_processos):
            Console.adicionar_separador(tamanho=22)

            nome = Console.obter(f'Qual o nome do processo {i + 1} ?').upper()
            inicio = int(
                Console.obter(
                    f'Em que fatia de tempo "{nome}" entra na memoria ?'))
            fatias = int(
                Console.obter(
                    f'Quantas fatias de tempo "{nome}" irá precisar ?',
                    linhas=0))

            Console.adicionar_separador(tamanho=22)
            Console.quebrar_linha(vezes=2)

            self.processos.append({
                'nome': nome,
                'inicio': inicio,
                'fatias': fatias
            })
Exemplo n.º 2
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)