Linux内核学习-进程管理
来源:互联网 发布:淘宝商品列表代码 编辑:程序博客网 时间:2024/06/06 05:32
进程管理:
线程,每一个线程都拥有一个独立的程序计数器,进程栈和一组进程寄存器。内核调度的对象是线程。
进程提供两种机制:虚拟处理器和虚拟内存,给进程一种假象,感觉是在独享处理器和内存。
程序并不是进程,进程是处于执行期的程序及其包含的资源的总称。
内核把进程存放在任务队列(task list)的双向循环链表中,链表中的结构为task_struct(进程描述符),task_struct是通过slab分配器分配的
pid最大值默认为32768,为了与老版本UNIX和Linux兼容
进程的五种状态:运行,可中断,不可中断,僵死,停止
所有的进程都是init进程的子进程,所有的进程都具有父进程。
Linux的fork采用的是写实拷贝的机制,只有在写入操作是才会发生复制
线程在内核的角度上来看,就是与其他进程共享某些资源的普通进程。每个线程都具有自己的进程描述符,对于那些支持线程的系统中,通常会有一个包涵四个不同线程的指针的统一进程描述符。线程的创建与进程创建的区别在于调用clone()的时候需要传递一些参数指明需要共享的资源
内核线程:它和普通进程之间的区别在于没有独立的地址空间,只在内核空间运行,可以被调度和抢占。
进程退出:内核释放其占有的所有资源,并把这一消息告知父进程,处于僵死状态,可以保留进程描述符,为父进程提供信息,父进程可以删除子进程的进程描述符,当父进程退出时,会给其子进程寻找进程组内的其他进程来作为父进程,或者之间让init进程做父进程。这样不会造成子进程僵死,白白耗费内存。
- Linux内核学习-进程管理
- linux内核学习----进程管理
- Linux内核学习记录--进程管理
- linux内核学习——进程管理
- Linux内核学习3:进程管理1
- linux内核学习(一):进程管理
- 【Linux 内核】进程管理
- Linux内核-进程管理
- Linux内核学习笔记之进程管理1
- 《linux内核设计与实现》学习笔记3进程管理
- linux内核学习之进程管理------task_struct结构体
- linux内核学习之进程管理(待续)
- Linux内核学习6:内存管理(2)-进程地址空间
- Linux内核驱动学习(五)----进程管理子系统
- Linux内核驱动学习(五)----进程管理子系统
- Linux内核之进程管理(学习笔记)
- Linux内核学习笔记——进程管理
- Linux内核之进程管理
- 简单聊聊TestNG中的并发
- 人脸检测和识别通用API和库
- gcc linker简要手册
- Python数据库连接池DBUtils.PooledDB
- 【个人】Bootstrap知识点补充
- Linux内核学习-进程管理
- 最火的3个Python机器学习库
- TypeError: Path must be a string. Received undefined
- JavaSE_44th_自定义异常
- C#将图像存成视频
- Hibernate查询和缓存
- javascript学习笔记(一)
- java项目上线时摘取更新文件工具
- myeclipse中安装SVN插件