Single-level store
From Wikipedia, the free encyclopedia
Please help improve this article or section by expanding it. Further information might be found on the talk page or at requests for expansion. (January 2007) |
Single-level store (SLS) is a term most often associated with the IBM System i operating system, i5/OS, although it was originally introduced in 1964 by MIT, General Electric and Bell Labs for the Multics time-sharing operating system. IBM first implemented SLS in 1978 in the System/38 and its Control Program Facility (CPF) operating system, the predecessor to i5/OS.
With a single-level store the entire storage of a computer is thought of as a single two-dimensional plane of addresses, pointing to pages. Pages may be in primary storage (RAM) or in secondary storage (disk); however, the current location of an address is unimportant to a process. The operating system takes on the responsibility of locating pages and making them available for processing. If a page is in primary storage, it is immediately available. If a page is on disk, a page fault occurs and the operating system brings the page into primary storage. No explicit I/O to secondary storage is done by processes; instead, reads from secondary storage are done as the result of page faults and writes to secondary storage are done when pages that have been modified since being read from secondary storage into primary storage are written back to their location in secondary storage.
With the i5/OS implementation of single-level store, page faults are divided into two categories. These are database faults and non-database faults. Database faults occur when a page associated with a relational database object like a table, view or index is not currently in primary storage. Non-database faults occur when any other type of object is not currently in primary storage.
i5/OS treats all secondary storage as a single pool of data, rather than as a collection of multiple pools (file systems), as is usually done on Unix-like systems and Microsoft Windows. It intentionally scatters the pages of all objects across all disks so that the objects can be stored and retrieved much more rapidly. As a result, an i5/OS server rarely becomes disk bound. Single-level store operating systems also allow CPU, memory and disk resources to be freely substituted for each other at run time to smooth out performance bottlenecks.
IBM’s design of the single-level store was originally conceived in the late 1970s as a way to build a transitional implementation to computers with 100% solid state memory. The thinking at the time was that disk drives would become obsolete, and would be replaced entirely with some form of solid state memory. i5/OS was designed to be independent of the form of hardware memory used for secondary storage.