深入Linux内核架构之进程篇一

好久没有翻书了,还接着上次的进程来吧!

Linux内核中涉及进程和程序的最重要的数据结构是定义在include/sched.h中的task_struct里边包含了很多将进程与内核子系统联系起来的成员,其中很多是指向其他数据结构的指针。

而Linux提供的资源限制机制,就利用了task_struct中的数据类型为struct rlimit(定义在resource.h中)的rlim数组。各个子系统都要遵循相应的限制,才能正常运行。


产生新进程的两个系统调用:

fork

exec一些列函数

同时还有clone系统调用,不过在Linux上一般用来实现线程。但是由于仅仅依靠clone又不足以实现线程,所以就有一些用户控件库才行,如Linuxthreads和NGPT。(现在终于知道,为什么编译多线程时线程库必须加了)


虚拟化的轻量形式——命名空间

命名空间提高了虚拟化的效率

现有的命名空间:

UTS命名空间

用户命名空间。


你可能感兴趣的:(多线程,数据结构,linux,struct,虚拟化,linux内核)