The Database Manager (DB) provides the basic means of inserting, extracting, deleting, and inquiring of datasets. While positional datasets (i.e arrays of I, J, E, F, C, Z, K data) can be handled directly by the database manager functions, non-positional data, like relational tables and array tables must be processed by their respective specialized DMM, TB, AT, and ST data managers.
DB exchanges positional data between the user-space and the databases directly, i.e without any intermediate buffer, except when in paged input/output, although paged input is transparent to the application.
Datasets are identified by their name field and database handle. The database manager keeps hash tables pointing to the datasets on the database. The physical file input/output may be performed in direct i/o or in paged i/o mode (see Figure 1.1). The following paragraphs give an account of some aspects of database input/output.
It is often desirable to access datasets in buffered mode, i.e through a virtual memory management system, especially if such a system is not available on system level or if the real or virtual memory offered by the computer system is limited. The paged input/output mode makes it possible to map MemCom datasets as virtual strings with any dimensions. Example: During finite element structural analysis, stress variables may be written sequentially to a MemCom set. Later, while examining stresses with a post-processor, the stresses would be accessed more or less at random. It would then be convenient to map the set into a local virtual memory. If data is exchanged with the disk in unbuffered mode, every single input/output request causes a disk access. Buffered mode reduces the number of input/output accesses, but it increases the central processor time slightly. Buffered mode also requires some tuning, i.e the buffer size and the page length should be adapted to the problem. All transactions occur between the user space and the paging buffer. Each database has its own buffer with a specific number of pages and a specific page size.