Linux内核篇
文章平均质量分 65
lwj103862095
新手交流,能者指教
展开
-
TQ2440之初级制作内核
1、首先拷贝TQ提供的已经移植好的内核到/usr/src/目录下。cp /mnt/hgfs/share/linux-2.6.30.4_20100531.tar.bz2 /usr/src/ 2、解压linux-2.6.30.4_20100531.tar.bz2压缩包tar -xvjf linux-2.6.30.4_20100531.tar.bz2 3、进入linux-原创 2012-11-26 21:19:47 · 2517 阅读 · 2 评论 -
Linux架构/开发板相关的引导过程(head.S)
分析内核顶层Makefile,以及arch/arm/Makefile可知,从u-boot跳到内核后,第一个启动的文件是arch/arm/kernel/head.S。接下来就围绕这个文件来分析Linux架构/开发板相关的引导过程。/******************************以下仅分析重要部分********************************/#include原创 2013-04-29 18:23:42 · 1469 阅读 · 0 评论 -
linux IO子系统和文件系统读写流程分析
以下内容的分析是基于2.6.32及其后的内核.我们在linux上总是要保存数据,数据要么保存在文件系统里(如ext3),要么就保存在裸设备里。我们在使用这些数据的时候都是通过文件这个抽象来访问的,操作系统会把我们需要的数据提交给我们,而我们则无需和块设备打交道。从下图,我们可以清除的看到:I/O子系统是个层次很深的系统,数据请求从用户空间最终到达磁盘,经过了复杂的数据流动。对设驱开发人员或与此相关原创 2014-07-29 14:36:43 · 7321 阅读 · 0 评论 -
pdflush进程详解
大家知道,在linux操作系统中,写操作是异步的,即写操作返回的时候数据并没有真正写到磁盘上,而是先写到了系统cache里,随后由pdflush内核线程将系统中的脏页写到磁盘上,在下面几种情况下,系统会唤醒pdflush回写脏页:1 、定时方式: 定时机制定时唤醒pdflush内核线程,周期为/proc/sys/vm/dirty_writeback_centisecs ,单位是(1/100原创 2014-07-29 14:14:19 · 7667 阅读 · 0 评论 -
浅谈IO调度算法
IO调度器(IO Scheduler)是操作系统用来决定块设备上IO操作提交顺序的方法。存在的目的有两个,一是提高IO吞吐量,二是降低IO响应时间。然而IO吞吐量和IO响应时间往往是矛盾的,为了尽量平衡这两者,IO调度器提供了多种调度算法来适应不同的IO请求场景。其中,对数据库这种随机读写的场景最有利的算法是DEANLINE。接着我们按照从简单到复杂的顺序,迅速扫一下Linux 2.6内核提供的几原创 2014-07-29 16:24:30 · 28053 阅读 · 0 评论 -
ARM Linux虚拟地址转换为内存物理地址
项目中经常需要把内存数据dump出来看看是否与自己设想的一样,dump之前我们需要把内核的虚拟地址先转换为物理地址才能借助工具dump出来。废话不多说,直接说正题。1. 内核里的地址是从3G开始算的,即起始地址为:0xc00000002. ARM小机端的内存起始地址并不是0,而是0x40000000也就是说虚拟地址与物理内存起始地址两者的差为:0x80000000那如果要将内核的虚拟地址转换为物理原创 2017-04-07 14:45:57 · 16777 阅读 · 0 评论