Objetivo:
Implementar uma interface gráfica para um simulador do núcleo de um sistema operacional usando threads. Essa interface deverá ter as seguintes características:
- Apresentar pelo menos as seguintes áreas:
- Lista de programas sintéticos disponíveis (não pode ser estática);
- Lista de processos do sistema (com respectivos estados);
- Dados sobre processo em execução na CPU;
- Botões para a manipulação de processos;
- Ser capaz de ler arquivos no formato indicado pelo conteúdo de um programa sintético, e apresentar as "instruções" que
estão sendo executadas;
- Ser capaz de sortear valores inteiros entre 0 e 20 (o sorteio deve ser feito a partir de uma função chamada interruptControl) (a qualidade/variedade dos sorteios faz parte da avaliação do projeto);
- Ser capaz de apresentar a evolução de suas ações a partir da escolha entre sorteio e leitura de arquivo;
- Apresentar opções para escolha entre sorteio e leitura do arquivo.
Para a construção da interface gráfica em C, uma sugestão é fazer o uso da biblioteca XForms, que é relativamente simples de usar.
Para melhor entendimento de como programar usando threads veja esse
documento.
Para a implementação desse núcleo faça uso das bibliotecas "semaphore.h" e "pthreads.h" presentes no UNIX para o uso de semáforos e de threads.
PRAZO PARA ENTREGA: 12/12/2016, até 24h00 (data e horário do recebimento do e-mail para aleardo at sjrp dot unesp dot br)
|