关于系统调用,ISO C, POSIX, SUS(single UNIX specification),以及,什么是UNIX操作系统
ISO C是C标准;POSIX是可移植操作系统接口标准;SUS是对POSIX中可选接口作出强制性要求的POSIX超集
符合SUS的才可以被称为是一种UNIX操作系统
ISO C的实现是C standard lib;POSIX对应的实现是C POSIX lib;C POSIX lib是C standard lib的超集;
Sockets, file descriptors, shared memory etc. are all part of POSIX, but do not exist in the C library.
但是,如果C标准库中新增了原来在POSIX中实现的功能,那么,是使用C标准库中提供的接口还是POSIX实现中提供的接口,自己选择
<pthread.h>是POSIX提供的,C11增加了<thread.h>。但是考虑到C11未大范围普及、<pthread.h>更加普遍使用的前提,使用<pthread.h>可能是更好的选择
系统调用是C POSIX lib的一部分。有的C POSIX lib工作在用户态,有的C POSIX lib用来沟通用户态和系统态