Is there any way to make an operating system that can be capable of fixing itself if it crashes. If not, what operating system crashes the least. We're thinking of coding around the linux kernel, but we want to explore the first option.

A self-healing OS? Sounds like a great subject for a PhD thesis in Computer Science. Personally, I don't know of any currently, although the QNX operating system is as reliable as they come, and if any driver or other service (other than the real-time micro-kernel) fails, it can be replaced or recovered while the system is still live. The QNX kernel only provides scheduling, interrupt handling, context switching, and message-passing services. Everything else is in user space, hence this ability to fix most stuff on the fly. In my 30+ years experience with QNX, I have NEVER seen the kernel fail, even under the most extreme conditions and loads. This is why it is often chosen as the control system for nuclear power plants, aircraft fly-by-wire controls, and such.