By year 2000, various communities of users should be provided with provably predictable computing systems, in spite of the fact that run-time conditions might not be fully characterized or might evolve significantly with time. In order to build such systems, we should be able to design (and implement) operating systems that guarantee timeliness, distributivity and dependability properties altogether. This position paper examines the basic issues involved, taking into account such factors as high-speed hardware or the need for checking design assumptions at run-time.