As an old MS-DOS programmer, I find it very strange that there wasn't a standard call list set down in the days of Unix. IIn MS-DOS, you always knew that function 09h was print $ delimited string at [dx], for example. That's what made it easy to write programs using debug.
Strace and similar tools can trace syscalls to see what kernel system calls are made by a process: https://en.wikipedia.org/wiki/Strace#Similar_tools
Google/syzkaller https://github.com/google/syzkaller :
> syzkaller ([siːzˈkɔːlə]) is an unsupervised coverage-guided kernel fuzzer. Supported OSes: Akaros, FreeBSD, Fuchsia, gVisor, Linux, NetBSD, OpenBSD, Windows
Fuschia / Zircon syscalls: https://fuchsia.dev/fuchsia-src/reference/syscalls
"How does Go make system calls?" https://stackoverflow.com/questions/55735864/how-does-go-mak...