内核代码
文章平均质量分 92
笑看江湖路6
这个作者很懒,什么都没留下…
展开
-
内存管理架构
之所以这样分隔是因为每个虚拟区间可能来源不同,有的可能来自可执行映像,有的可能来自共享库,而有的可能是动态内存分配的内存区,所以对于每个由vm_area_struct结构所描述的区间的处理操作和它前后范围的处理操作不同,因此linux把虚拟内存分割管理,并利用了虚拟内存处理例程vm_ops来抽象对不同来源虚拟内存的处理方法。mm_struct是对进程的地址空间(虚拟内存)的描述。程序间断点就是程序数据段的结尾。如果间断点值增加,那么这个指针(指的是返回的之前的间断点地址)是指向分配的新的内存的首地址。原创 2022-11-29 00:20:32 · 302 阅读 · 0 评论 -
linux内核整体架构
操作系统属于软件范畴,负责管理系统的硬件资源。OS具备的功能:1.为应用程序提供执行环境。2.为多用户和应用程序管理计算机的硬件资源。3.虚拟化功能。4.支持并发。原创 2022-11-23 20:46:19 · 3472 阅读 · 0 评论 -
Linux内核启动代码之__create_page_tables函数分析
在分析__create_page_tables函数之前,需要知道以下的知识。1、head.S首先确定了processor type和 machine type,之后就是创建页表。通过前面的两步,我们已经确定了processor type 和m...转载 2018-07-23 21:15:01 · 511 阅读 · 0 评论 -
arm linux kernel 从入口到start_kernel 的代码分析
最近研究了一下arm linux的入口部分的代码, code不是太多,所以写了个笔记,详细的分析了每一条语句. 大家看看, 交流一下. 下面使正文. 由于内容比较多,分几层楼发吧 _______________________________________...转载 2018-07-24 20:07:50 · 269 阅读 · 0 评论 -
ARM920T MMU and Cache
操作MMU和Cache的内核启动代码   bootloader加载linux内核到内存并解压之后,Linux内核首先在汇编代码中读取CPU的基本信息,对CPU做一些基本设置,创建最简单的临时页表,然后开启MMU和Cache,启用虚拟内存管理(此后CPU核发出的地址都是虚拟地址),然后跳到C代码中完成其它初始化工作,比如创建完整的页表...原创 2018-07-24 21:46:36 · 293 阅读 · 0 评论