public SimuladorPresenter(ISimuladorView simuladorView, TipoEscalonamento tipoEscalonamento) { _simuladorView = simuladorView; _ssdService = new SsdService(); _ramService = new RamService(MmuService.TAMANHO_PAGINA_MB, ESPACO_RESERVADO_SO_MB); _mmuSerivce = new MmuService(_ramService, _ssdService); _cpuService = new CpuService(_mmuSerivce, FREQUENCIA_CLOCK_SEGUNDOS); ConfigurarTimer(); ConfigurarDispatcher(tipoEscalonamento); _simuladorView.ExibirEspacoReservadoSo(_ramService.RetornarEspacoReservadoSoMB()); }
public void ConfigurarDispatcher(TipoEscalonamento tipoEscalonamento) { switch (tipoEscalonamento) { case TipoEscalonamento.PrimeiroAChegar: _dispatcherService = new FcfsDispatcherService(_ramService, _mmuSerivce); break; case TipoEscalonamento.JobMaisCurto: _dispatcherService = new SjfDispatcherService(_ramService, _mmuSerivce); break; default: throw new ArgumentException("Tipo de escalonamento inválido.", nameof(tipoEscalonamento)); } }