按类别查询搜索结果
关于关键词 的检测结果,共 112673
shzach | 2016-09-05 11:35:26 | 阅读(870) | 评论(0)
前言:(总结已经基本写完,这段时间我会从新排版和修正。错误总会有的,望能指正!)前段时间学习了嵌入式驱动,趁着没开始找工作,这段时间我会每天抽出时间来复习。 我的总结是根据学习时的笔记(李杨老师授课)、《linux内核设计与实现》第三版、《linux设备驱动程序》第三版和《linux设备驱动开发详解》第一...【阅读全文】
shzach | 2016-09-05 11:35:07 | 阅读(910) | 评论(0)
shzach | 2016-09-05 11:34:56 | 阅读(840) | 评论(0)
shzach | 2016-09-05 11:34:41 | 阅读(880) | 评论(0)
shzach | 2016-09-05 11:34:31 | 阅读(740) | 评论(0)
shzach | 2016-09-05 11:34:19 | 阅读(920) | 评论(0)
shzach | 2016-09-05 11:34:09 | 阅读(880) | 评论(0)
lingxiaokai | 2016-09-05 10:34:01 | 阅读(1540) | 评论(0)
前言:(总结已经基本写完,这段时间我会从新排版和修正。错误总会有的,望能指正!)前段时间学习了嵌入式驱动,趁着没开始找工作,这段时间我会每天抽出时间来复习。 我的总结是根据学习时的笔记(李杨老师授课)、《linux内核设计与实现》第三版、《linux设备驱动程序》第三版和《linux设备驱动开发详解》第一...【阅读全文】
Linux的粉丝 | 2016-09-04 21:26:30 | 阅读(1250) | 评论(0)
        在说Linux的内存管理之前,先说一下X86的内存管理方式。        16位的CPU内部拥有20位地址总线,它的寻址范围是2的20次方,也就是1M的内存空间,数据总线却有16位,16位CPU用于存放地址的寄存器(IP,SP ......)只有16位,因此能有访问65535个存储...【阅读全文】
juruqiang | 2016-09-04 16:46:55 | 阅读(740) | 评论(0)
memblock算法是linux内核初始化阶段的一个内存分配器(它取代了原来的bootmem算法),实现较为简单。负责page allocator初始化之前的内存管理和分配请求。分析memblock算法,可以从几点入手:1、 memblock算法初始化;2、 memblock算法管理内存的申请和释放; memblock算法前的准备:前...【阅读全文】
juruqiang | 2016-09-04 14:08:01 | 阅读(470) | 评论(0)
本文主要总结一下Intel的x86架构处理器所支持各式内存映射情况。 实模式实模式下,没有什么内存映射的概念,逻辑地址简单地转换一下就是物理地址。实模式下的逻辑地址表现形式为[Base:Offset](即[基地址:偏移量],虽然Base类似于保护模式下的段选择符,但是实模式下,它仅表示基地址,无任何的段...【阅读全文】
juruqiang | 2016-09-04 13:13:06 | 阅读(570) | 评论(0)
前面分析了linux内核如何开启保护模式和启用段页映射模式,也都分析了段式映射和段页式映射的一个概况。不过前面的分析只是侧重地讲解了x86 32位环境4Kbytes页面大小的情况,但是实际上x86可支持的分页映射模式远不止于此。所以特地总结一下。 这里先基于保护模式下IntelIA-32架构处理器非PAE下4kbytes页面...【阅读全文】
dp30737 | 2016-09-04 11:46:58 | 阅读(2050) | 评论(0)
juruqiang | 2016-09-04 11:20:52 | 阅读(430) | 评论(0)
前面的初探内存保护模式里面,Linux最初进入保护模式,仅仅是一种纯段式的内存映射模式,而且也未起到很明显的保护作用,明显这不是linux内存管理的最终模式。Linux是不使用段保护的,使用的是页保护,所以它还需要开启分页管理。 分页说简单也简单,就是通过页全局目录找到页表接着通过页表找到页面,诸如...【阅读全文】
juruqiang | 2016-09-03 23:59:33 | 阅读(330) | 评论(0)
近期深入学习linux内核,先从内存管理下手吧,考虑到老版本的内核分析文章已经较多,于是找了一个较新的LTS内核版本尝试自行分析,这里选择了linux 3.14版本,环境主要是x86。 Linux系统的内存管理是一个很复杂的“工程”,它不仅仅是物理内存管理,同时包括虚拟内存管理、内存交换和回收等,还有管理中的各...【阅读全文】
juruqiang | 2016-09-03 23:57:09 | 阅读(610) | 评论(0)
至此linux首次进入保护模式所需的准备工作已经基本完成,段描述符表准备好了,而且GDTR也设置完毕了。 那么接下来看一下go_to_protected_mode()最后的调用:protected_mode_jump(boot_params.hdr.code32_start,(u32)&boot_params + (ds() 【阅读全文】
juruqiang | 2016-09-03 23:54:42 | 阅读(540) | 评论(0)
接下来,我们看看linux首次进入的保护模式的内存映射方式,然后再看一下linux是如何实现保护模式的进入,进入前做了什么准备和设置。 还是借用Intel文档中的图来说明这个保护模式的保护功能:根据不同的段寄存器内容查找到对应的段描述符,描述符指明了此时的环境的可以通过段访问到内存基地址、空...【阅读全文】
juruqiang | 2016-09-03 21:47:11 | 阅读(430) | 评论(0)
既然都说是分析x86环境的linux系统内存管理,如果不分析一下x86那绕来绕去的内存映射机制,个人感觉等于什么都没分析。其实x86的内存映射机制,说复杂也不复杂,说简单也不简单,简单点说x86内存映射莫过于就两个映射:段式映射和页式映射。其中页式映射是基于段式映射的基础上而形成的,那就意味着可以是:纯段式映射和...【阅读全文】
juruqiang | 2016-09-03 21:18:02 | 阅读(340) | 评论(0)
机器启动到linux初始化是一个比较复杂并且细节性较强的过程,大部分的实现都是由于历史遗留问题以及各种协议约定而来的,衔接性比较强,而且比较难跟踪,毕竟不是C语言那么简单,一个函数调用一个函数,整个脉络比较清晰明了。这里主要是以linux-3.2.55版本内核为基础,将整个系统的初始化流程梳理了一下。进入正...【阅读全文】
u0402 | 2016-09-03 15:40:58 | 阅读(2210) | 评论(0)
diff 用来比较、输出两份文件(目录)的差异, diff [options] A_file B_file. 在SVN环境下,使用:svn diff 比较、输出当前版本与主线版本之间的改动。一般会将这些输出重定向到.diff文件或.patch文件中。patch 用来将.diff文件或.patch文件中的改动应用到当前版本上。1.为单个文件生成补丁...【阅读全文】