Chinaunix首页 | 论坛 | 博客
  • 博客访问: 166415
  • 博文数量: 37
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 15
  • 用 户 组: 普通用户
  • 注册时间: 2016-01-30 09:54
文章分类
文章存档

2018年(2)

2017年(14)

2016年(21)

我的朋友

发布时间:2016-05-24 20:16:18

......【阅读全文】

阅读(1923) | 评论(0) | 转发(0)

发布时间:2016-05-24 20:07:35

page fault不能发生在内核态么?为什么?
这里有3个问题:
1、为什么会产生page fault?
?2、发生缺页的上下文是否可以位于内核态
3、发生缺页的地址是否可以位于内核态地址空间......【阅读全文】

阅读(1801) | 评论(0) | 转发(0)

发布时间:2016-05-24 19:16:40

初学内核时,经常被“内核页表”和“进程页表”搞晕,不知道这到底是个啥东东,跟我们平时理解的页表有和关系。。
?内核页表:即书上说的主内核页表,在内核中其实就是一段内存,存放在主内核页全局目录init_mm.pgd中,硬件并不直接使用。
?进程页表:每个进程自己的页表,放在进程自身的页目录task_struct.pgd中。......【阅读全文】

阅读(2173) | 评论(0) | 转发(0)

发布时间:2016-05-24 17:10:29

一、概念
Linux系统中,应用程序以进程的方式存在,调度也以进程为单位,有关进程的概念就不多说了,参考教科书。
本文主要关注进程状态、偶然会见到的僵尸进程(Z状态)、以及很少见过的X状态进程。
每个进程都有相应的状态,如平常常见的R、S和D状态,也有在出现问题时见到的Z状态,即僵尸状态,还有极少见到的X状态,这也是本文重点分析和关注的。......【阅读全文】

阅读(2251) | 评论(0) | 转发(0)

发布时间:2016-05-24 17:05:22

进程调度时,当被选中的next进程不是current进程时,需要进行上下文切换。
进行上下文切换时,有一些问题不太容易理解,比如:
1、进程上下文切换必然发生在内核态吗?
2、上下文切换后原来的进程(prev)如果恢复执行,从什么地方开始执行?
3、上下文切换后,如何切换到新进程执行?新进程从什么地方开始执行?
5、上下文切换时,堆栈如何切换,如果保证不混乱?
6、A进程执行时被打断调度B进程运行,B进程正常执行过程中被打断调度C进程运行,C运行被打断中调度D运行,以此类推,看似一个无限嵌套,如何恢复到A进程运行,不会一层层返回吧?会不会有问题?
7、上下文切换后,如何恢复到新进程的用户态程序继续执行?
上述问题(可能还有其它疑问~)在理解了进程上下文切换的细节后,就都能回答了。......【阅读全文】

阅读(1801) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册