- - - - CENAPAD-MGCO

contents index A seguir: Servidor de Impressora: Solução Acima: Regiões Críticas Anterior: TicketQueue


Imposição de Políticas de Escalonamento: Programação de um Servidor de Impressora

Solução trivial: usar uma chave para controlar o acesso:

key printerKey;

void print(file F) {
   lock(printerKey);
      /* impressao de F */
   unlock(printerKey);
}

Inconvenientes:

1.
se quisermos acrescentar procedimentos no estilo lpq e lprm para verificação e alteração do estado da fila de impressão, teríamos que ter acesso ao estado da fila da chave, o que nem sempre é possível
2.
o escalonamento da impressora é feito por um núcleo de multiprogramação, impossibilitando a imposição de qualquer política de uso da impressora


 

Osvaldo Carvalho - Postscript - Comentários?