嵌入式教程国嵌内核开发_第1页
嵌入式教程国嵌内核开发_第2页
嵌入式教程国嵌内核开发_第3页
嵌入式教程国嵌内核开发_第4页
嵌入式教程国嵌内核开发_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

物理地址是现在CPU地址总线上 嵌入式Linux技术咨询号嵌入式Linux学习交流 此只能65536个单元,64K。 存前16位二进制位来保存整个地址,所以每 在确定了某个单元所属的段后,只是知道了该单元所属的范围(段地址-内存单元在器中的具置。 PA*16 16位CPU有四个段寄存器,程序可同时四个 CSIP用于代码段的,CS指向存放程序的段 SS+SP:用于堆栈段的 DS+BX:用于数据段的。DS中的值的偏移量,得到一个单元的物理地址。ESBX:用于附加段的ES中的值左偏移量,得到一个单元的物理地址。 2值是段地址的“选择器”(Selector),用该“选择器”从内存中得到⼀个32位的段地址,单元的物理地址就是该段地址 被分为固定长度的组,称为 首先需要将它的页地址放到cr3寄存器中,将其他进程的 依据以下步骤进行地址转换 装入 2^32= 些CPU(Alpha64位)使用三级,甚至四级架构,Linux2.6.29内核为每种CPU提供统一的界面,采用了四级页管理架构,来兼容 (PageGlobalDirectory):即 (PageUpperDirectory):即pud (PageMiddleDirectory):即页表(PageTableEntry)pte (cat/proc/<pid>/maps 实际的物理内存只有当进程真的去 kmalloc原型是:#includevoid*kmalloc(size_tsize,intflags:分配标志kmalloc 分配标 帧) _page(unsignedint和 _pages(unsignedintflags,unsignedintorder _pages(unsignedlongaddr,unsignedlongorder) 内核空间分(DirectMemory间存性转换关系线性地址=3G物 内核空间分(Vmalloc应的物理⻚可能处于内存,也可能处于高 内核空间分(PKMapRegion 域 内核空间分 是的顺序性和组织链的空间损失。 域和指针域,数据域用于数据,指针 struct{structlist_head*next, list_add(structlist_head*new,structlist_head*head)list_add_tail(structlist_head*new,structlist_head*head) list_entry(ptr,type, {card=list_entry(entry,structcs_card,list);if(card->dev_midi==minor)} 度量时间 jiffies(unsignedlong)就加1,因此 unsignedlongj=jiffies+while{/*donothing} structtimer_liststructlist_headentry/*内核使用*/;unsignedlongexpires*超时的jiffies值*/void(*function)(unsignedlong)/*超时处理函数*/unsignedlongdata;/*超时处理函数参数*/structtvec_base*base*内核使用 voidinit_tim

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论