A system and method for synchronizing disparate processing modes and for
providing mutually exclusive access to shared system resources. A
processing unit operates in disparate first and second processing modes.
In the first processing mode, the computer is under the control of an
operating system. In the other processing mode, the computer is under the
control of a system management mode interrupt handling routine. To
synchronize the two processing modes and allow mutually exclusive access
to shared hardware resources, the computer system includes shared memory,
which contains an intermodal lock, and a mechanism for allowing each
processing mode to signal the other. Before either processing mode can
access the shared resource, the processing mode must attempt to acquire
the intermodal lock. If the lock is acquired, the processing mode accesses
the shared resource. If the lock cannot be acquired, the processing mode
sets a pending bit and resumes other tasks until it receives a lock
release signal from the other processing mode. When a processing mode has
finished accessing the shared resource, it releases the lock and checks to
see if the pending bit was set. If so, the processing mode sends a lock
release signal to the other mode.
Um sistema e um método para sincronizar modalidades processando disparate e para fornecer mutuamente o acesso do exclusive aos recursos de sistema compartilhados. Uma unidade processando opera-se no primeiro disparate e em segundo em processar modalidades. Na primeira modalidade processando, o computador está sob o controle de um sistema operando-se. Na outra modalidade processando, o computador está sob o controle de uma interrupção da modalidade da gerência de sistema que segura a rotina. Sincronizar as duas modalidades processando e permitir mutuamente o exclusive alcançam aos recursos de ferragem compartilhados, o sistema computatorizado inclui a memória compartilhada, que contem um fechamento intermodal, e um mecanismo para permitir que cada modalidade processando sinalize a outra. Antes que uma ou outra modalidade processando possa alcançar o recurso compartilhado, a modalidade processando deve tentar adquirir o fechamento intermodal. Se o fechamento for adquirido, a modalidade processando alcança o recurso compartilhado. Se o fechamento não puder ser adquirido, a modalidade processando ajusta um bocado pendente e recomeça outras tarefas até que receba um sinal da liberação do fechamento da outra modalidade processando. Quando uma modalidade processando terminou alcançar o recurso compartilhado, libera o fechamento e verifica-o para ver se o bocado pendente for ajustado. Se assim, a modalidade processando emite um sinal da liberação do fechamento à outra modalidade.