Singularity – nazwa projektu badawczego przedsiębiorstwa Microsoft, którego celem jest stworzenie systemu operacyjnego opartego na mikrojądrze i stanowiącego podstawę dla bardziej niezawodnej platformy systemowej oraz aplikacyjnej.
Wprowadzenie Twórcy systemu Singularity postanowili zaniechać używania sprzętowych systemów ochrony w komputerze, takich jak oddzielne przestrzenie adresowe, czy poziomy ochrony procesora, na rzecz programowej ochrony systemu i procesów (). Możliwe jest to dzięki kompilacji programów i większości samego systemu do bezpiecznego kodu zarządzanego (). System operacyjny jest w stanie zweryfikować (udowodnić) poprawność takiej kompilacji podczas uruchamiania programu (instalowania w pamięci), natomiast po jego uruchomieniu kod aplikacji samodzielnie kontroluje poprawność pracy, w tym poprawność wskaźników pamięci. W większości przypadków kod kontrolny może być usunięty (zoptymalizowany) jeśli kompilator i weryfikator stwierdzi, że nigdy nie dojdzie do błędu. Wymiana komunikatów odbywa się poprzez tzw. exchange heap, który pozwala na przenoszenie danych pomiędzy procesami w bezpieczny i wydajny sposób. Exchange heap ma uproszczony i restrykcyjny sposób użycia oraz półautomatyczne zarządzanie dealokacjami.