Predictive Self Healing is a feature of the OS to predict, detect a fault with one of its components and automatically repair it. MINIX, Solaris OS and Linux on POWER all have this. But is it available in modern Linux distributions on x86 platform? Or will be?
Right now (as of late 2015) it depends on which level you would like to have self-healing capabilities.
Doing this in-kernel would violate the separation of policy and mechanism. There's nothing wrong with providing the hooks necessary for userspace to do this, but it's generally userspace's responsibility to decide what should be done when a possible problem is detected. [in short..] A distro/vendor problem, not a kernel development problem.
Hence, from a kernel perspective, it seems that there is no intention to support this - unlike Minix, for instance. Having said this, I have not found the specific policy he's talking about or any direct statement by Linus about this.
From a user-space perspective there seems to be at least attempts to deal with this issue on file system level. As summery of another post and the corresponding comments, it is believed that whereas other OS deal with data corruption much better
btrfs seems to be on a good way to implement this feature for Linux-based OSs as well.
However, although claimed to be stable, it is by no means yet as powerful as SUN's (BSD-based) ZFS as can be read here2.
1 i.e. Chris Snook - former Red Hat associate
2 very exhaustive blog about benchmarking btrfs which comes to a rather negative conclusion (as of 2015/09/16)
No, because the Linux kernel is monolithic. It's one large binary rather than being made up of several smaller programs that could be restarted individually (as exist in a microkernel design such as MINIX and Hurd).
Personally, I don't find this feature at all interesting. If something crashes, you're probably going to lose some state data, and even if the system manages to partially restart and hobble along after the first error, it could just go on to make more errors due to the unexpected state change.
The correct way to do fault tolerance is to distribute over multiple computers and have them check each others' work at a higher level of semantics than the kernel/OS layers.