Linux内核页表是段表么,内核页表和进程页表

发布时间:2014-07-02 10:39:08

初学内核时,经常被“内核页表”和“进程页表”搞晕,不知道这到底是个啥东东,跟我们平时理解的页表有和关系。。

?内核页表:即书上说的主内核页表,在内核中其实就是一段内存,存放在主内核页全局目录init_mm.pgd中,硬件并不直接使用。

?进程页表:每个进程自己的页表,放在进程自身的页目录task_struct.pgd中。......【阅读全文】

阅读(5818) | 评论(0) | 转发(15)

发布时间:2014-07-02 09:39:24

page fault不能发生在内核态么?为什么?

这里有3个问题:

1、为什么会产生page fault?

?2、发生缺页的上下文是否可以位于内核态

3、发生缺页的地址是否可以位于内核态地址空间......【阅读全文】

阅读(3308) | 评论(0) | 转发(5)

发布时间:2014-07-01 17:08:31

原理上,内核态是可以直接访问用户态的虚拟地址空间的,所以如果需要在内核态获取用户态地址空间的数据的话,理论上应该是可以直接访问的,但为什么还需要使用copy_from_user接口呢?......【阅读全文】

阅读(2277) | 评论(0) | 转发(4)

发布时间:2014-06-18 08:43:36

?nohz即通常说的非周期性时钟,或称tickless system,总体思想为:当系统idle的时候,使用非周期性时钟代替原有的每hz触发一次的周期性时钟,避免在系统idle时,不断的被时钟中断打断,主要目的是节能降耗。......【阅读全文】

阅读(3072) | 评论(2) | 转发(0)

发布时间:2014-06-06 10:26:58

kernel 3.10内核源码分析--file write流程

文件写入流程通常从用户态发起,总体分两部分:

1) 从用户态到页缓存

用户态进程先open指定文件,返回fd

用户态进程调用write库函数接口,fd作为入参

read库函数接口最终调用write对应的系统调用接口,sys_write,由此进入内核流程

--------用户态和内核态分界------------------------

内核态调用特定文件系统定义的对应相关操作接口,如ext2对应的write接口为ext2_file_operations->aio_write->generic_file_aio_write,

由于用户对写入速度不敏感,同时磁盘操作较慢,所以写操作通常被延迟,以提升性能,即通常说的“延迟写”。

基本原理为:数据先写入页缓存(page cache)中并设置脏标记,后续由pdflush内核线程周期性或者按需对脏页进行回写。写入操作在数据写入页缓存后即可返回,无需等待数据实际写入磁盘,页缓存(内存)的写入速度显然比磁盘快多了,所以如此能大大提升w......【阅读全文】

阅读(4826) | 评论(0) | 转发(2)

发布时间:2014-06-06 10:24:38

kernel 3.10内核源码分析--file read流程

基本原理

文件读取流程通常从用户态发起,总体流程为:

用户态进程先open指定文件,返回fd

用户态进程调用read库函数接口,fd作为入参

read库函数接口最终调用read对应的系统调用接口,sys_read,由此进入内核流程

--------用户态和内核态分界------------------------

内核态调用特定文件系统定义的对应相关操作接口,如ext2对应的read接口为ext2_file_operations->aio_read,由此进入mapping层(VFS层)

mapping层在进行相应处理后,构造并提交bio,进入通用块层。

--------mapping层和通用块层分界----------------

通用块层构造request,提交到IO调度层

--------通用块层和IO调度层分界----------------

IO调度层对request按特定的IO调度算法进行合并和排序后,将request放入对应块设备的reque......【阅读全文】

阅读(2828) | 评论(0) | 转发(4)

发布时间:2014-06-03 19:59:09

__attribute__((context())属性理解......【阅读全文】

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

发布时间:2014-05-24 15:40:16

linux启动代码之detect_memory()函数 ......【阅读全文】

阅读(1567) | 评论(0) | 转发(2)

发布时间:2014-04-22 13:49:13

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

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

发布时间:2014-04-21 09:49:14

Linux内核态抢占机制分析

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

阅读(1517) | 评论(0) | 转发(1)

发布时间:2014-04-18 16:07:38

softlockup(watchdog)用于检测系统调度是否正常,即软锁的情况,当发生softlockup时,内核不能调度,但还能响应中断,对用户的表现可能为:能ping通,但无法登陆系统,无法进行正常操作。

其基本原理为:为每个CPU启动一个内核线程(watchdog/x),此线程为优先级最高的实时线程,在该线程得到调度时,会更新相应的计数(时间戳),同时会启动定时器,当定时器到期时检查相应的时间戳,如果超过指定时间,都没有更新,则说明这段时间内都没有发生调度(因为此线程优先级最高),则打印相应告警或根据配置可以进入panic流程。......【阅读全文】

阅读(4878) | 评论(3) | 转发(2)

发布时间:2014-04-18 14:20:39

nmi_watchdog原理(用于检测关中断死锁)

nmi_watchdog用于检测内核中关中断死锁(也称硬死锁)的情况,是调测内核死机或死锁问题的一大利器。内核中,如果代码编写不好可能会出现关中断死锁的情况,即进入内核态后,关中断,然后在内核态中死锁,或长时间运行,导致该CPU无法响应中断(因为中断已关),也无法得到调度(对于没有启用内核抢占的内核来说),外在表现可能为系统挂死、无法ping通、没有响应。而nmi_watchdog正是针对这种情况而设计的。

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

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

发布时间:2014-04-11 12:51:51

读书笔记——Linux内核源代码情景分析——2.5 用户堆栈的扩展......【阅读全文】

阅读(1616) | 评论(0) | 转发(1)

发布时间:2014-04-11 12:50:30

linux下进程堆栈下溢出判断及扩展实现 ......【阅读全文】

阅读(4134) | 评论(0) | 转发(2)

发布时间:2014-04-10 12:48:26

KVM基本原理及架构四(内存虚拟化) 影子页表 EPT......【阅读全文】

阅读(6248) | 评论(0) | 转发(5)

发布时间:2014-04-10 12:38:08

KVM基本原理及架构三(CPU虚拟化)......【阅读全文】

阅读(11874) | 评论(0) | 转发(6)

发布时间:2014-04-01 15:19:48

又一次内存分配失败(关于overcommit_memory)......【阅读全文】

阅读(2288) | 评论(0) | 转发(4)

发布时间:2014-03-28 17:21:24

DMA32内存区的作用......【阅读全文】

阅读(2986) | 评论(0) | 转发(1)

发布时间:2014-03-26 08:55:59

内核中为防止用户对敏感数据(比如一些关键指针)的直接引用,通常会采用“掩饰”的方法,即在分配相关数据的时候,就对其进行掩饰,

然后在引用时,又对其进行还原,这样的话,用户就不能直接引用相应数据(会导致非法访问),而必须使用内核提供的标准接口来引用。......【阅读全文】

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

发布时间:2014-03-20 16:24:01

page结构和物理内存对应关系......【阅读全文】

阅读(2845) | 评论(0) | 转发(3)

给主人留下些什么吧!~~

f38382fab8346dbd5ec00ab00c24b732.png

啦哆A梦2014-02-21 11:08

4deff1eb95bb641b8e1f08588d4528b4.gif

留言热议

请登录后留言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值