Linux时间服务器同步频率是多久

Linux下的线程分为用户级线程和内核级线程两种,从内核的角度来看,线程和进程其实是一样的,本质上没有太大区别。内核提供的是创建进程的接口do_fork(),同时提供了clone()和fork()两个系统调用,最终都会用不同的参数调用do_fork()这个核内API。要想实现线程,核心必须支持多进程共享数据段,do_fork()提供了很多参数来实现这一点,比如CLONE_VM用于共享内存空间,CLONE_FS共享文件系统信息,CLONE_FILES共享文件描述符表,CLONE_SIGHAND共享信号句柄表,还有CLONE_PID共享进程ID。使用fork系统调用时,内核不使用任何共享属性,进程拥有独立的运行环境;而使用pthread_create()创建线程时,则会设置所有这些属性来调用__clone(),最终创建的进程拥有共享的运行环境,只有栈是独立的。如果想深入了解,可以参考《深入理解Linux内核》第三版,里面讲得非常详细。

评论 (0)