04 Oct 2015

Operating System Support for Database Management

1981 author copy

Several operating system services are examined with a view toward their applicability to support of database management functions. These services include buffer pool management; the file system; scheduling, process management, and interprocess communication; and consistency control.

Database management systems (DBMS) provide higher level user support than conventional operating systems. The DBMS designer must work in the context of the OS he/she is faced with … indicate whether [operating systems services] are appropriate for support of database management functions.

2 Pool Management

… a main memory cache for the file system …

2.4 Crash Recovery

An important DBMS service is to provide recovery from hard and soft crashes. The desired effect is for a unit of work (a transaction) which may be quite large and span multiple files to be either completely done or look like it had never started.

5 Consistency Control

Although most OS provides locking for files, there are fewer which support finer granularity locks, such as those on pages or records. Such smaller locks are deemed essential in some database environments.

commit point, ordering dependencies

the buffer management cannot be immune from knowledge of transactions, and operating system functions are duplicated. … It is certainly possible to have buffering, concurrency control, and crash recovery all provided by the operating system. In order for the operating system to be successful, however, the performance problem … must be overcome. It is also reasonable to consider having all 3 services provided by the DBMS in user space. However, if buffering remains in user space and consistency control does not, then much code duplication appears inevitable. Presumably, this will cause performance problems in addition to increased human effort.

7 Conclusion

The bottom line is that OS services in many existing systems are either too slow or inappropriate. Current DBMSs usually provide their own and make little or no use of those offered by the operating system. … A DBMS would prefer a small efficient operating system with only desired services … general-purpose operating systems offer all things to all people at much higher overhead.