Next: Application Programming in Rhino
Up: Overview of Rhino
Previous: Overview of Rhino
Figure:
The Rhino extension structure. The Rhino system
consists of shaded regions. It uses the file system extensions
for database I/O and logging,
and the virtual memory extensions for database buffering.
Rhino is used by UNIX applications linked with the transaction
library.
|
The shaded regions of Figure 3 show the structure of
Rhino. Persistent malloc
and system call stubs are linked
into applications as a library. The following additional components
reside in the kernel address space as an extension.
- The transaction manager starts and
terminates transactions.
- The storage manager is the core of Rhino. It detects applications' reads and writes and logs
them to ensure the ACID property. It also manages buffers using
memory objects.
- The log manager manages the log device, which is a
sequential-write, random-read persistent device [gray]. It is
used by the storage manager to guarantee database durability and atomicity.
The log manager also coordinates crash recovery when Rhino
is installed.
- The lock manager manages locks on regions. It also detects
deadlocks.
Rhino uses several standard extensions to carry out operations.
It stores databases and log records in files managed by file system
extensions. Files are usually stored in the extent-based file
system, which allocates files on contiguous blocks and does not
cache blocks in memory. Rhino cooperates with the virtual memory
extension to manage database buffers. Its buffer management
is described in detail in Section 4.
Next: Application Programming in Rhino
Up: Overview of Rhino
Previous: Overview of Rhino
Yasushi Saito
1998-04-27