The logical disk

Wiebren de Jonge, M. Frans Kaashoek, Wilson C. Hsieh
1993 ACM SIGOPS Operating Systems Review  
Separating these two concerns has three advantages. First, it leads to a file system structure that makes file systems easier to develop, maintain, and modify. Second, it makes file systems more flexible. Different implementations of LD can be tailored for different access patterns and different disks can run under different implementations of LD. Similarly, different file systems can all share a particular LD implementation. Third, it allows for efficient solutions to the I/O bottleneck
more » ... hout and Douglis 1989; Ousterhout 1990] . LD can transparently reorganize the layout of blocks on the disk to reduce access time, similar to other systems that use logical-block numbers [Vongsathorn and Carson 1990; Solworth and Orji 1991; Akyürek and Salem 1993]. Until recently these benefits have not been important, because operating systems, file systems, and disk drivers have all been tightly coupled in monolithic kernels. However, with modern kernel designs in which an operating system supports multiple file systems (e.g., Mach [Golub 1990] and Windows/NT [Custer 1993]), the benefits of separating file and disk management using LD are important. To demonstrate these benefits we built a prototype implementation of LD. This implementation, LLD, is logstructured and is based on the ideas used in Sprite LFS [Rosenblum and Ousterhout 1992] . We combined LLD with MINIX [Tanenbaum 1987], a POSIX-compliant [IEEE 1990] file system for PCs. The resulting file system, MINIX LLD, required very few modifications to MINIX and exhibits the same performance characteristics as Sprite LFS; we expect MINIX LLD to outperform Sprite LFS, as it writes fewer blocks. However, it uses more main memory than Sprite LFS. The contributions of this paper are threefold. First, we show that the LD allows a clean separation of file and disk management without loss of efficiency. Second, we show that an existing file system can easily be turned into a logstructured one by using a log-structured implementation of LD. Third, we introduce new implementation techniques for log-structured storage managers: a new recovery strategy and a new strategy for writing partially filled segments. Abstract The Logical Disk (LD) defines a new interface to disk storage that separates file management and disk management by using logical block numbers and block lists. The LD interface is designed to support multiple file systems and to allow multiple implementations, both of which are important given the increasing use of kernels that support multiple operating system personalities. A log-structured implementation of LD (LLD) demonstrates that LD can be implemented efficiently. LLD adds about 5% to 10% to the purchase cost of a disk for the main memory it requires. Combining LLD with an existing file system results in a log-structured file system that exhibits the same performance characteristics as the Sprite log-structured file system.
doi:10.1145/173668.168621 fatcat:jcv6vgui65axpodachkbo43zzi