Пример #1
0
class Main:

    tBloqueo = 15
    cambioContexto = 15
    quantum = 3000

    #Aqui se pone el numero de micros que se van a utlizar
    print("Cuantos micros vas a usar perro loco?")
    micros = input()
    despachador = Despachador()

    #Crear micros que el usuario da
    for i in range(0, int(micros)):
        i = Micro(0, True, str(i))
        despachador.micros.append(i)

    #Procesos que el usuario da

    oscar = Proceso("A", 300, 1500, 2)
    manuel = Proceso("B", 100, 1500, 2)
    gio = Proceso("C", 500, 1500, 3)
    diego = Proceso("D", 700, 1500, 4)

    despachador.procesos_a_ejecutar.append(oscar)
    despachador.procesos_a_ejecutar.append(manuel)
    despachador.procesos_a_ejecutar.append(gio)
    despachador.procesos_a_ejecutar.append(diego)

    def pasar_procesos_a_micros(despachador, quantum, tBloqueo,
                                cambioContexto):

        for procesos in despachador.procesos_a_ejecutar:
            print("Para proceso ", procesos.nombre)
            #Crear funcion 1 que regrese menor_desp
            menor = []
            for menor_despachador in despachador.micros:
                menor.append((len(menor_despachador.procesos_ejecucion),
                              menor_despachador.procesos_ejecucion,
                              menor_despachador.nombre))
            menor_desp = min(menor)

            #Crear funcion 2
            for entrada_proceso in despachador.micros:
                if (entrada_proceso.nombre == menor_desp[2]):
                    entrada_proceso.procesos_ejecucion.append(
                        despachador.procesos_a_ejecutar[0])
                    #despachador.procesos_a_ejecutar.pop(0)

                    #metodos que calculan valores de los procesos dentro de los micros
                    despachador.determinar_tiempo_vencimiento_quantum(
                        entrada_proceso.procesos_ejecucion[0], quantum,
                        cambioContexto)
                    despachador.determinar_tiempo_cambio_contexto(
                        entrada_proceso.procesos_ejecucion[0], cambioContexto)
                    despachador.determinar_tiempo_bloqueo(
                        entrada_proceso.procesos_ejecucion[0], tBloqueo)
                    despachador.determinar_tiempo_inicial(
                        entrada_proceso.procesos_ejecucion[0],
                        despachador.micros)
                    despachador.determinar_tiempo_total(
                        entrada_proceso.procesos_ejecucion[0])
                    despachador.determinar_tiempo_final(
                        entrada_proceso.procesos_ejecucion[0],
                        despachador.micros)
                    despachador.determinar_tiempo_ejecucion_micro(
                        entrada_proceso, entrada_proceso.procesos_ejecucion[0])

                else:
                    pass

    pasar_procesos_a_micros(despachador, quantum, tBloqueo, cambioContexto)

    for el in despachador.micros:
        print("El micro", el.nombre)
        for al in el.procesos_ejecucion:
            print(al.nombre)
Пример #2
0
 def __init__(self, codPatrimonio, descricao, hd, memoria, tamanhoBuffer, quantidadeBuffer):
     Micro.__init__(self, codPatrimonio, descricao, hd, memoria)
     self.tamanhoBuffer = tamanhoBuffer
     self.quantidadeBuffer = quantidadeBuffer
     self.impressoras = []
     self.armazenaServidores(self)
Пример #3
0
 def __init__(self, codPatrimonio, descricao, hd, memoria, localizacao):
     Micro.__init__(self, codPatrimonio, descricao, hd, memoria)
     self.localizacao = localizacao
     self.usuario = ""
     self.dataHoraAtualdaConexao = dataHoraAtual()
     self.armazenaEstacoes(self)