The kernel (along with a modern FS) already is crash-only. Journals are designed to recover a FS quickly from any state after a power failure. The remainder of the kernel mostly is a bunch of in-memory structures recreated on every boot.
As for userspace, well, e.g. Firefox is a lot of the way there. SQLite itself is designed to handle failures extremely gracefully, and by virtue of regularly flushing most of its state into SQLite, Firefox itself achieves a great deal of reliability (although this might not be true of its cache storage, etc.).
As for userspace, well, e.g. Firefox is a lot of the way there. SQLite itself is designed to handle failures extremely gracefully, and by virtue of regularly flushing most of its state into SQLite, Firefox itself achieves a great deal of reliability (although this might not be true of its cache storage, etc.).