예제 #1
0
        public void Simulacao()
        {
            // TODO: Informações dos Dispositivos
            InstanciarDispositivos();
            ChegadaPrograma primeiroPrograma = ProximoPrograma();

            AgendarPrograma(primeiroPrograma.InstanteChegada, TipoEvento.ARRIVAL, primeiroPrograma.Programa);

            if (FimSimulacao > 0)
            {
                AgendarPrograma(FimSimulacao, TipoEvento.COMPLETION, new Programa()
                {
                    Identificador = "SO"
                });
            }

            while (Scheduler())
            {
                ;
            }
        }
예제 #2
0
        // Evento 1
        public bool Arrival(Evento evento)
        {
            // TODO: Sample Job Mix Distributions
            string resultado = "";

            Evento proximoEvento = new Evento(evento.InstanteChegada, TipoEvento.REQUEST_CM, evento.Programa);

            AdicionarEvento(proximoEvento);
            resultado += "Chegada do Job. ";

            ChegadaPrograma proximoPrograma = ProximoPrograma();

            if (proximoPrograma != null)
            {
                AgendarPrograma(proximoPrograma.InstanteChegada, TipoEvento.ARRIVAL, proximoPrograma.Programa);
                resultado += "Agendada chegada do Próximo Job. ";
            }

            Log(evento, "Arrival", resultado);
            return(true);
        }