The number of system calls says close to nothing of the actual API surface present here. It's a poor measure. What actually matters is: what can I run?
That said, 42 is not enough to run a lot of applications.
It'll be interesting to get to the point where they can run a language's runtime or unit tests.
Take it from someone who worked on gVisor: this is gonna take a long time, and eventually you'll end up with a system that's just Linux. You'll end up either being bug-for-bug compatible, which means bringing in loads of compatibility code and architecting your kernel just like Linux, or you'll end up having to change applications (and then you're not all that compatible anymore).
Neither are fun or sustainable compatibility stories. You'd probably actually get Linux apps to work on a random OS faster & nicer by porting gVisor.
> Moreover, since implementing a system call is typically pretty simple [...]
You're in for a fun ride, folks.
That said, 42 is not enough to run a lot of applications.
It'll be interesting to get to the point where they can run a language's runtime or unit tests.
Take it from someone who worked on gVisor: this is gonna take a long time, and eventually you'll end up with a system that's just Linux. You'll end up either being bug-for-bug compatible, which means bringing in loads of compatibility code and architecting your kernel just like Linux, or you'll end up having to change applications (and then you're not all that compatible anymore).
Neither are fun or sustainable compatibility stories. You'd probably actually get Linux apps to work on a random OS faster & nicer by porting gVisor.
> Moreover, since implementing a system call is typically pretty simple [...]
You're in for a fun ride, folks.