Simulador de escalonamento de processos, escrito em C# com interface gráfica em GTK2, com implementação dos escalonadores: FCFS, SJF com preempção e Round Robin.
Este escalonador está implementado sobre os seguintes formatos de arquivo:
- PRB
- TXT
- LOG
Este arquivo contém todas as informações dos processos a serem escalonados. Estruturado em formato JSON possui em si as informações de nome, tempo de chegada e tempo de execução respectivamente.
O programa da suporte também a arquivos .txt através de um conversor implementado junto ao simulador, desde que os mesmos sigam a formatação especificada abaixo:
Nome | Tempo de Chegada | Tempo de execução |
---|---|---|
PDI_0 | 0 | 15 |
PDI_1 | 2 | 3 |
PDI_2 | 15 | 8 |
Nesta formatação a primeira informação deverá ser o nome do processo, seguida pelo tempo de chegada do mesmo e o total de clock's
de sua execução. Cada processo e delimitado por uma quebra de linha.
Arquivos de log são utilizados na exportação de dados, este arquivo contém as informações de escalonamento dos processos, neles podemos encontrar as listas de processos escalonados, seu nome, e o clock
em que executou, e como complemento o tamanho do quantum utilizado na escalonamento de processos por Round Robin.
É possível após a exportação de um arquivo .log consumi-lo novamente na forma de gráficos.
No que tange a exportação de dados do escalonador, e possível também exportá-los em .txt, mas é importante ressaltar que o escalonador em seu estado atual não consegue consumir estas informações assim como o faz com arquivos .log.
A aba de Criação é dedicada a oferecer um ambiente propício a criação e edição de arquivos do tipo .prb.
Ao clicar em no botão Adicionar
é gerado um novo processo com dados randômicos que mais tarde podem ser editados.
A exclusão de um processo e dada pela sua seleção seguida de um click no botão Remover
Para se editar um processo basta apenas um duplo click na propriedade que se deseja editar do processo.
Salvar alterações de um arquivo podem ser feitas de duas formas: através do menu ou através do atalho Ctrl+S
Para abrir um arquivo de processos .prb encaminhe-se a aba de Arquivos
seguido de Abrir...
no menu.
É possível selecionar qual escalonador se deseja visualizar no gráfico, esta seleção e feita a partir do ComboBox
selecionando pelo nome o escalonador desejado.
Todos os seus arquivos de sessão estão listados na ComboBox
localizada abaixo do menu principal. Você pode alternar de um para outro clicando em um arquivo na lista.
Você pode exportar o arquivo atual clicando em Simulação
seguido de Exportar
no menu. Você pode optar por exportar os gráficos de cada um dos escalonadores em separado, junto aos dados de comparação, ou gerar uma pasta onde todos os dados serão exportados. Os dados podem ser exportados na forma de imagens .png ou .svg, ou arquivos de log .log ou .txt.
- Mono 5.18
- MonoDevelp 7.8
- GTK-Sharp 2
A instalação pode ser realizada a partir do código-fonte ou atravez do pacote .deb.
- Mono e MonoDevelop
Ao instalar o MonoDevelop as dependências do GTK-Sharp já são resolvidas
Clone o repositório no diretório desejado e inicie o MonoDevelop no arquivo de solução Scheduler-Sharp.sln
Com o projeto aberto vá até Pacotes
e com o botão direito click em Restaurar
Com todas as dependências resolvidas basta executar a aplicação