Patent ID: 7930508

Claim:
A method performed on a computer system for managing a storage medium of the computer system storing a first plurality of files, each file having at least one attribute, said method comprising: a software component at an application level of the computer system generating data from said first plurality of files based on values of said at least one attribute, said data including a file list of a second plurality of files, said second plurality of files including a set of one or more files that are application files, a set of one or more files that are shared library files, and a set of one or more files that are system files; said software component communicating said data to a file system of the computer system at a kernel level; and performing, by said file system, at least one operation based on said data, said at least one operation comprising reallocating of data stored on the storage medium, the reallocating of data including: rearranging at least some of the second plurality of files such that only the set of files that are application files are stored in one or more first distinct contiguous regions of the storage medium, only the set of files that are shared library files are stored in a second distinct contiguous region of the storage medium, and only the set of files that are system files are stored in a third distinct contiguous region of the storage medium, such that seek time of the storage medium for accessing at least one of the application files, system files, and shared library files is reduced, and rearranging one or more real inodes on the storage medium without rearranging corresponding ones of one or more virtual inodes that point to the one or more real inodes respectively thereby maintaining constancy of inode-block mapping, wherein the one or more real inodes and virtual inodes are stored within the storage medium, and wherein the storage medium is a non-volatile storage medium.