The needs of parallel runtime systems and the increasingly sophisticated languages and compilers they support do not line up with the services provided by general-purpose OSes. Furthermore, the semantics available to the runtime are lost at the system-call boundary in such OSes. Finally, because a runtime executes at user-level in such an environment, it cannot leverage hardware features that require kernel-mode privileges|a large portion of the functionality of the ma-chine is lost to it. These limitations warp the design, imple-mentation, functionality, and performance of parallel run-times. We summarize the case for eliminating these com-promises by transforming parallel runtimes into OS kernels. We also demonstrate that it is feasible to do so. Our evi-dence comes from Nautilus, a prototype kernel framework that we built to support such transformations. After de-scribing Nautilus, we report on our experiences using it to transform three very difierent runtimes into kernels.