|
Parte 1 ::: |
Entrega até 05/05
|
|
Na primeira parte do projeto devem ser implementadas a interface de controle do sistema e as funções indicadas a seguir:
|
- processInterrupt (1) -- interrupção gerada pelo final do quantum-time de um processo
- semaphoreP (10) -- tratamento de bloqueio de processo
- semaphoreV (11) -- tratamento de desbloqueio de processo
- memLoadReq (6) -- chamada de operação de carregamento na memória
- memLoadFinish (7) -- sinalização de final de carregamento
- processCreate (2) -- chamada para iniciar a criação de um processo no BCP *
- processFinish (3) -- chamada para terminar a existência de um processo no BCP *
|
* BCP (Bloco de Controle de Processos) é a estrutura que armazena os dados dos processos em execução, devendo ser acessada com exclusão mútua.
|
|
Algoritmo de Escalonamento
O escalonamento de processos deve utilizar um algoritmo baseado na frequência de operações de entrada/saída, a ser melhor definido para a segunda entrega. No momento apenas considere que o escalonador escolherá o processo com maior número de requisições de "read" e "write" já execcutados pelo processo. O desempate deve ser feito pelo ID do processo no BCP.
|
|
Gerenciamento de memória
Deve ser implementado um esquema de memória paginada, definindo o conjunto residente de cada processo como tendo tamanho de 16 páginas.
|
Para a separação das páginas do processo, considere que para as instruções "exec" se contabiliza UMA página a cada 1000 unidades de tempo de execução. As demais instruções podem ser desconsideradas quanto ao uso de espaço na página.
|
Considere ainda uma memória com tamanho total de 1 Mbytes, sendo 64 kbytes reservados para o SO (incluíndo tabelas de páginas) e cada página de 1 kbytes.
|
Para o mecanismo de paginação (MV) use o algoritmo de segunda chance.
|
|
Interface de controle
A interface de controle deverá permitir que sejam submetidos novos processos, visualizados dados sobre o estado dos processos em execução e sobre o estado de ocupação da memória.
|
|
Deve ser observado que as visualizações devem ser solicitadas explicitamente, ficando normalmente visíveis apenas as informações sobre o processo atualemente em execução.
|
|
Prazo de entrega: 05 de maio
|