I wrote an article explaining the inner workings of strace [1], and a detailed article about Linux system calls [2] which others interested in this article may find relevant.
[1]: https://blog.packagecloud.io/eng/2016/02/29/how-does-strace-...
[2]: https://blog.packagecloud.io/eng/2016/04/05/the-definitive-g...