Charakterystyka Od początku projektu dążono do usunięcia z jądra jak największej liczby elementów, które nie były niezbędne do jego działania. Do wersji 2.5 włącznie jądro posiadało warstwę wyższego poziomu, która zawierała API zgodne z Uniksem BSD. Wersja 3.0 była już mikrojądrem, w którym warstwę BSD usunięto poza jądro (działało w przestrzeni użytkownika). Dodano w niej także mechanizm kontynuacji. Pliki wykonywalne dla Macha są w formacie Mach-O.
Mach jest architekturą zapewniającą: obsługę wieloprocesowości zarówno w jednej maszynie, jak i poprzez sieć, obsługę wielu aplikacji pracujących w trybie wielozadaniowości z wywłaszczeniem, wielowątkowość działania aplikacji, bezpośrednią komunikację międzyprocesową, bezpieczną ochronę pamięci.
Znacznie rozbudowano komunikację międzyprocesową (IPC) opierając ją na komunikatach, czyli zestawach danych, oraz portach, czyli kolejkach komunikatów. Wykorzystują je nie tylko procesy użytkownika, ale także samo jądro i jest podstawowym mechanizmem komunikacji.