Well, obviously, you would have to write everything yourself, from the custom OS upwards. The testing would have to be extreme, and extensive, and the code meticulously written and reviewed. All code paths would have to be exercised fully. You would not be able to use any third-party libraries of any kind, and you might even have to build the compilers and linkers yourself too. This is certainly doable, but the cost and time needed would be insanely prohibitive, so that is why it is never done. The cost and time components have to be weighed against the possibility of bugs being present. Most of us would rather risk a few bugs than to have to wait decades between releases, and have the software cost millions, if not billions, of dollars.