Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!haven.umd.edu!uunet!math.fu-berlin.de!ifmsun8.ifm.uni-hamburg.de!lutzifer!abqhh!encap.Hanse.DE!not-for-mail From: jan@encap.Hanse.DE (Jan-Oliver Neumann) Newsgroups: comp.os.386bsd.development Subject: Compressing file system ? Date: 5 Aug 1993 19:48:07 +0200 Organization: Hanse Networking e.V. Hamburg, Germany. Lines: 38 Message-ID: <23rh55$ct@encap.Hanse.DE> Hello folks. I've installed DOS 6.0 (yuck!) for a friend yesterday and I was quite impressed how little the overhead for the compressed disks was. I mean: CPU performace has increased dramatically in the past years, but disk-speed didn't grow in that manner. Let's imagine a file system that compresses disk blocks that have not been used recently with a fast algorithm and blocks that haven't been used for a long time with a slow but effective algorithm. I think the overhead for reading disk blocks should be very little as heavily used blocks are already in the buffer cache. The compressing of disk-blocks could be done asynchrously when the system is idle or the load is very low. Those fstype would be ideal for partitions with news of other text-files. But I also see the technical problems: disk blocks must be large for the compressing to be effective. But large blocks also force the fragement size to be larger. And this isn't very good for news-partitions. Also, what about seeks ? I think bmap() can't find out which block to read in, 'cause it doesn't know where byte 'n' can be found. Then the file must be read in (and decompressed) linearly to find the block. And what about the inodes ? I think the disk-inode must contain the compressed file size and the inode that are in-core must contain both. This implies a lot of decompressing. Has somebody already thought about such a file-system ? This are only some thoughts I made while waiting for the compressing of a 240 MB drive. :) Jan-Oliver -- Jan-Oliver Neumann <jan@encap.Hanse.DE> Hanse Networking e.V. Hamburg, FRG. Mail to vorstand@Hanse.DE for information.