Linux并发(task_struct结构体)
2016-03-14 11:30
417 查看
Linux下的进程也好,线程也罢,在内核中统统都以任务(task)的面目示人,他们用一样的内核数据结构来表示。
拓展:
内核中用一个非常大的结构体来表达进程或者线程(统称任务task),下面是这个结构体的掠影:
如果没什么意外,这个结构体可能是这个宇宙中最大的单个变量了,一个结构体就有好几k那么大,想想他包含了一个进程的所有信息,这么庞大也不足为怪了。LINUX内核代码纷繁复杂,千头万绪,这个结构体是系统进程在执行过程中所有涉及的方方面面的缩影,包括系统内存管理子系统、进程调度子系统、虚拟文件系统等等,以这个所谓的PCB为切入点,是一个很好的研究内核的窗口。
总之,当一个程序文件被执行的时候,内核将会产生这么一个结构体,来承载所有该活动实体日后运行时所需要的所有资源,随着进程的运行,各种资源被分配和释放,是一个动态的过程。
相关文章推荐
- Linux g++编译 so文件出错:file not recognized: File trunccated
- Linux下设置MySQL编码
- Linux下PS命令详解 (转)
- Linux CPU affinity
- Linux 进程间通信-管道
- linux 学习之路(学linux必看)
- 你知道 Linux 内核是如何构建的吗?
- Linux 删除mysql数据库失败的解决方法
- 在Centos下用alternatives命令切换各个版本的jdk的方法
- linux系统优化
- Linux Makefile try-run
- Linux 下街机模拟器 mame 安装
- Redhat&CentOS 国内YUM源配置
- latencytop深度了解你的Linux系统的延迟
- CENTOS与时间服务器时间同步
- 初学linux—windows与ubuntu文件共享samba
- man 命令的使用,linux根分区详解!
- U盘安装Centos拔除U盘后无法启动问题解决
- 嵌入式Linux利用Wifi搭建无线服务器(物联网实践之无线网关)
- Linux 文件和目录的属性及权限