Linux内核
Linux内核源码分析
_wangLC
这个作者很懒,什么都没留下…
展开
-
crash工具的使用方法
https://www.jianshu.com/p/ad03152a0a53转载 2020-11-10 09:39:45 · 968 阅读 · 0 评论 -
Linux page cache映射方式
一开始接触到Linux page cache时,就有一些疑问。Linux page cache很大,是怎么通过虚拟内存访问的,一开始便想到的是通过mmap的机制,将文件映射到用户层的虚拟内存区间,然后通过触发page fault来从文件中读取,后来发现这完全是多次一举,我们先来看下linux 的page cache的存储方式。page cache是存放在struct inode中的,通过struct address_space(i_data)中的iru链表,串联起了该文件所有的page cache,原创 2020-11-02 21:06:50 · 568 阅读 · 0 评论 -
Linux CFS调度算法的理解
所有的进程的都应该处于“实际分配时间/应该分配时间”时间相同的情况下原创 2020-10-30 20:16:48 · 720 阅读 · 5 评论 -
Linux内核任务切换
#define switch_to(prev,next,last) do { \ asm volatile("pushl %%esi\n\t" \ "pushl %%edi\n\t" \ "pushl %%ebp\n\t" \ ...原创 2020-10-29 09:59:31 · 224 阅读 · 0 评论 -
napi
https://www.jianshu.com/sign_in?utm_source=desktop&utm_medium=not-signed-in-bookmark-note转载 2020-10-21 09:48:01 · 132 阅读 · 0 评论 -
i386 Linux内核 信号处理
Linux 在用户态进程通过中断或者系统调用(也是穿过中断门)或者陷阱返回用户空间时,进入内核的信号处理程序,入口如下://file : arch/i386/kernel/entry.S line:217ret_with_reschedule: cmpl $0,need_resched(%ebx) jne reschedule cmpl $0,sigpendi...原创 2020-04-02 01:08:43 · 244 阅读 · 0 评论 -
i386 Linux 处理缺页中断
一、情景描述在保护模式页式映射中,应用程序如果要访问物理地址,需要将线性地址通过设置的页面映射表进行映射,才能最终访问到物理地址。当然,这个过程中可能会遇到映射失败的情况,这时CPU会产生一次页面出错异常(PAGE FAULT)实际上就是缺页中断,进而通过中断向量表(LDT)进入指定的页面异常处理程序,如果经内核判断不是非法地址,在页面 异常处理程序中会建立这个线性地址到物理地址的页面映射,然...原创 2020-01-02 13:38:19 · 296 阅读 · 1 评论 -
Linux内核用户空间和内核空间数据交换
前些日子一直在纠结copy_from_user函数是怎么实现用户态空间复制到内核态空间的。下面先附上copy_from_user的代码相关函数的代码,函数的调用关系是copy_to_user->__generic_copy_from_user->__copy_user_zeroing。那么我们就来看__copy_user_zeroing的代码。//copy_to_u...原创 2019-12-26 13:31:46 · 810 阅读 · 0 评论 -
i386 Linux内核进入保护模式引导流程
在系统引导过程中,Bootloader将内核镜像加载到内存后,并将控制权转交给内核 ,通过长转移指令跳转到入口startup_32。 实际上进入startup_32入口前,CPU已经处于了保护模式下的段式寻址方式。而CS寄存器已经设置成了 Linux准备进入保护模式主要做了下面的几项初始化的工作:设置ds,es,fs,gs等段寄存器(在...原创 2019-12-22 15:46:22 · 692 阅读 · 0 评论