《Linux内核分析》第四周学习总结 ——扒开系统调用的三层皮 姓名:王玮怡 学号:20135116 理论总结部分: 第一节 用户态、内核态和中断 一、用户态、内核态和中断处理过程 一般现代CPU都有几种不同的指令执行级别 1、用户态 在相应的低级执行状态下,代码的掌控范围会受到限制,此时为用户态。
分类:
系统相关 时间:
2016-03-18 15:52:38
阅读次数:
398
协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此: 协程能保留上一次调用时的状态(即所有局部状态的一个特定组合
分类:
其他好文 时间:
2016-03-18 13:23:36
阅读次数:
152
用户态驱动模型 用户态驱动模型首先是一个应用程序,其次是在这个用户程序中通过内核调用来驱动设备。 IIC通用驱动代码 IIC通用驱动程序的代码在/drivers/i2c/i2c-dev.c中。一次读操作或者一次写操作就是一条消息。 EEPROM用户态驱动 IIC通用设备对应/dev/i2c-0设备文
分类:
其他好文 时间:
2016-03-17 21:25:02
阅读次数:
410
和系统调用打交道的方式:通过库函数,把系统调用给封装起来 用户态vs内核态: 一般现代CPU都有几种不同的指令执行级别 在高级别的状态下,代码可以执行特权指令,访问任意的物理地址,这种CPU执行级别对应着内核态 在相应的低级别执行状态下,代码的掌控范围会受到限制,只能在对应级别允许的范围内活动 为什
分类:
其他好文 时间:
2016-03-17 14:37:45
阅读次数:
173
《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 【知识点梳理】 (一)用户态、内核态和中断处理过程 1.内核态:在高的执行级别下,代码可以执行特权指令,访问任意的物理地址,这时的CPU就对应内核态 2.用户态:在低级
分类:
系统相关 时间:
2016-03-16 18:52:22
阅读次数:
294
扒开系统调用的三层皮(上) 一、用户态、内核态和中断 库函数将系统调用封装起来。 1、什么是用户态和内核态 一般现代CPU都有几种不同的指令执行级别。 在高执行级别下,代码可以执行特权指令,访问任意的物理地址,这种CPU执行级别就对应着内核态。 而在相应的低级别执行状态下(用户态),代码的掌控范围会
分类:
系统相关 时间:
2016-03-16 15:21:49
阅读次数:
248
1.进程间的切换很大程度上实际就是寄存中段基址的切换。
分类:
系统相关 时间:
2016-03-15 18:39:00
阅读次数:
370
扒开系统调用的三层皮(上) 一、用户态.内核态.中断 (上周课件有学习到) 1、地址空间是一个显著的标志(是逻辑地址,不是物理地址) 2、CPU每条指令的读取都是通过cs:eip这两个寄存器;0xc00000000以上的地址空间只能用内核态访问 3、中断处理是从用户态进入内核态的主要方式(系统调用是
分类:
系统相关 时间:
2016-03-15 16:05:45
阅读次数:
233
张忻(原创作品转载请注明出处) 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一、知识概要 (一)用户态、内核态和中断处理过程 (二)系统调用概述 系统调用概述和系统调用的三层皮 (三)使用库函数API和C代码中嵌
分类:
系统相关 时间:
2016-03-14 21:48:24
阅读次数:
280
//用于在LoadImageRoutine中使用,修改用户态内存 PMDL MapUserModeAddrWritable(PVOID BaseAddr,ULONG Length, PVOID *pNewAddr); VOID UnmapMemory(PVOID pAddr, PMDL pMdl);
分类:
其他好文 时间:
2016-03-09 06:56:02
阅读次数:
126