Es kommt primär darauf an was für einen Kernel man sich vorstellt. Willst du einen monolithischen Kernel, dann sind die Syscalls wirklich die POSIX-Funktionen (oder WinAPI oder irgendeine eigene API), die halt die komplette Funktionalität die ein Betriebssystem ausmacht umfassen. Willst du einen Mikrokernel, dann sind die Syscalls primär nur Speichermanagement, (eventuell nur rudimentäres) Prozessmanagement und als wichtigsten Punkt IPC. Mit der IPC muss man dann mit irgendwelchen anderen Prozessen (virtuelles Dateisystem, Netzwerkstack, was auch immer) kommunizieren um die richtige Funktionalität ausschöpfen zu können, da der Kernel eben nicht viel anbietet. Beim Mikrokernel muss also mehr userspaceseitig gemacht werden, um eine der StandardAPIs zu implementieren.
Für ein Userspaceprogramm macht es keinen Unterschied, da es eben nur die Standard APIs sieht. Ob die nun über IPC laufen oder direkt Syscalls sind kann dem Programm egal sein.
edit: Die monolithisch/mikro-Entscheidung ist natürlich nicht schwarz/weiß, da sind alle Farben zwischendrin auch denkbar.