-
-
-
-
CENAPAD-MGCO
A seguir: Servidor de Impressora: Solução
Acima: Regiões Críticas
Anterior: TicketQueue
- Uma impressora é compartilhada por diversos processos
- Seu servidor deve garantir a exclusão mútua no seu uso
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?