![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unix源码【读书笔记】
文章平均质量分 60
会开花的树-
永远要清楚现在要做什么
展开
-
《Unix内核源码剖析》读书笔记03-进程管理【切换执行进程】
一、中断执行进程 执行中的进程执行内核函数sleep()后进入休眠状态并中断当前处理。 sleep()被调用的几种情况: 用户程序访问系统调用wait 等待周边设备处理完毕 等待使用中的资源释放 注意:只有处于可执行状态的进程才有机会被执行。处于休眠状态的进程除非休眠状态被结束否则无法再次被执行。二、怎样判断进程的状态? 进程的状态由proc.p_stat表示。SRUN表示可执行状态,SSLE原创 2015-06-08 19:08:08 · 571 阅读 · 0 评论 -
《Unix内核源码剖析》读书笔记01-用户模式与内核模式
一、用户模式与内核模式 为什么需要切换这两种模式重点内容? 用户程序由用户进程处理,所以无法访问加载内核程序的内存区域 ,所以需要切换到内核模式执行某些功能,这些功能执行完后,处理器的模式又切换回用户模式啦··· 处理器的两种模式是如何切换的? PSW MMU来实现内存映射的切换···【虚拟地址映射到用户的内存区域<—>内核的区域】 用户的空间和内核的空间如何交换数据? 一些函数:fu原创 2015-06-01 10:49:07 · 513 阅读 · 0 评论 -
《Unix内核源码剖析》读书笔记02-进程管理【父进程与子进程】
一、进程的生命周期 (1)某个进程通过系统调用fork,创建一个用于执行程序的进程。生成此进程的进程称为子进程。子进程通过复制父进程的数据得以创建。 (2)父进程执行系统调用wait,进入等待状态 。 (3)子进程通过系统调用exec将程序读取到内存中并开始执行。 (4)子程序执行完后,通过系统调用exit结束自身运行进入僵尸态。 (5)父进程得到控制权,得到子进程的执行结果后清除子进程。原创 2015-06-08 17:49:26 · 559 阅读 · 0 评论