Subject Re: [IB-Architect] Synchronisation between classic architecture server processes
Author Ann Harrison
At 12:50 PM 3/23/00 +1100, Jan Mikkelsen wrote:

>How is synchronisation performed between classic architecture server
>processes?
>
>I assume that there are short locks on pages in the database file. Ie:
>acquire write lock, read/modify page, write page, release lock, or acquire
>read lock, read page, release lock.
>If this locking exists, how is it implemented? If not, how is page level
>synchronisation performed? Does the implementation vary significantly by
>platform?

Yes. There is a lock manager, variously implemented in shared memory or
as a separate process, depending on the platform. It handles short term
page locks and a variety of other locks - like the shared lock that each
transaction gets on tables it reads, locks transactions take out on their
own transaction id, etc.

>I assume higher level isolation is totally taken care of by the protocols
>around the on disk structure with transaction numbers, and so needs no
>separate IPC channel.

Right. Under the classic architecture, the processes communicate
exclusively through the lock manager and the database ... and
events, but that's a separate issue.

Ann