Many Linux distributions use readahead on a list of commonly used files to speed up booting. In such a setup, if the kernel is booted with the profileboot parameter, it will record all file accesses during bootup and write a new list of files to be read during later boot sequences. This will make additional installed services start faster, because they are not included in the default readahead list.
In Linux distributions that use systemd, readahead binary (as part of the boot sequence) is replaced by systemd-readahead.
Certain experimental page-level prefetching systems have been developed to further improve performance.