static void Main(string[] args) { int resultado; var isTrue = true; IEscalonador Escalonamento = new Escalonador(); while (isTrue) { Console.Clear(); Console.WriteLine("Escalonador em lote."); Console.WriteLine("Trabalho de sistema operacional do segundo bimestre!"); Console.WriteLine("----------------------------------------------------"); Console.WriteLine("1 - Adicionar tarefas!"); Console.WriteLine("2 - Rodar tarefas com algoritmo desejado!"); Console.WriteLine("3 - Rodar tarefas com todos os algoritmos!"); Console.WriteLine("4 - Sair!"); resultado = int.Parse(Console.ReadLine()); switch (resultado) { case 1: Escalonamento.AdicionarTarefa(); break; case 2: Escalonamento.RodarTarefa(); break; case 3: Escalonamento.RodarTodosAlgoritmos(); break; case 4: isTrue = false; break; default: break; } } }
static void Main(string[] args) { int q, tC, slp; // Quantum, Troca de Contexto, Thread.Sleep; string nomeArquivo = "teste.txt"; Console.Write("Valor do Quantum: "); q = Convert.ToInt32(Console.ReadLine()); Console.Write("Valor da troca de contexto em ms: "); tC = Convert.ToInt32(Console.ReadLine()); Console.Write("Valor do Thread.Sleep() em ms: "); slp = Convert.ToInt32(Console.ReadLine()); Escalonador escalonador = Arquivo.LeituraArquivo(nomeArquivo, q, tC, slp); if (escalonador == null) { Console.WriteLine("O arquivo {0} não existe.", nomeArquivo); } else { Console.WriteLine(escalonador.ToString()); escalonador.Run(); } Console.WriteLine(escalonador.ToString()); Console.WriteLine("\n\nPressione qualquer tecla para continuar..."); Console.ReadKey(); }
public static Escalonador LeituraArquivo(string nomeArquivo, int q, int tC, int sleep) { // Formatação do arquivo // id;nome;prioridade;quantidade_ciclos if (!File.Exists(nomeArquivo)) { return(null); } string[] info; Escalonador auxiliar = new Escalonador(q, tC, sleep); //Fazer a leitura do arquivo e organizar entre as 10 listas Circulares using (StreamReader entrada = new StreamReader(nomeArquivo)) { while (!entrada.EndOfStream) { info = entrada.ReadLine().Split(';'); auxiliar.AdicionarProcesso(new Processo(Convert.ToInt32(info[0]), info[1], Convert.ToInt32(info[2]), Convert.ToInt32(info[3]))); } } return(auxiliar); }
private static void Main() { var tarefas = new List<Tarefa> { new Tarefa1 { IdTarefa = 'A' }, new Tarefa2 { IdTarefa = 'B' }, new Tarefa3 { IdTarefa = 'C' }, new Tarefa4 { IdTarefa = 'D' } }; tarefas.ForEach(SolicitarInformacoesTarefa); var escalonador = new Escalonador.Escalonador(tarefas, SolicitarTempoTotalExecucao()); ImprimeCabecalhoEmTela(); SysConsole.WriteLine("Calculando tempo médio de execução..."); escalonador.CalcularTemposExecucao(); ImprimeTempoDeExecucao(tarefas); ImprimeCabecalhoEmTela(); SysConsole.WriteLine("Escalonando..."); escalonador.Escalonar(); while (escalonador.EmProcessamento) ; ImprimeResultadoEscalonamento(escalonador.ProcessosExecutados, escalonador.TrocasContexto, escalonador.TempoTotalProcessamento); ImprimeGrafico(escalonador.ProcessosExecutados, escalonador.TempoTotalProcessamento); SysConsole.ReadKey(); }