linux kernel
文章平均质量分 72
gong0791
这个作者很懒,什么都没留下…
展开
-
linux虚拟文件系统浅析
http://hi.baidu.com/_kouu/item/6bfca5cc5d9778d4964452d0虚拟文件系统(VFS)在我看来, "虚拟"二字主要有两层含义:1, 在同一个目录结构中, 可以挂载着若干种不同的文件系统. VFS隐藏了它们的实现细节, 为使用者提供统一的接口;2, 目录结构本身并不是绝对的, 每个进程可能会看到不一样的目录结构转载 2013-10-17 21:30:21 · 645 阅读 · 0 评论 -
Linux进程的睡眠和唤醒简析
http://www.2cto.com/os/201204/127771.html作者 chumojing1 Linux进程的睡眠和唤醒在Linux中,仅等待CPU时间的进程称为就绪进程,它们被放置在一个运行队列中,一个就绪进程的状 态标志位为TASK_RUNNING。一旦一个运行中的进程时间片用完, Linux 内核的调度器会剥夺这个进程对CPU的控制权,并且从运行队列中转载 2013-10-06 21:38:20 · 756 阅读 · 0 评论 -
Linux内存:内存管理的实质
http://bbs.chinaunix.net/thread-2055231-1-1.html1. 内核初始化: * 内核建立好内核页目录页表数据库,假设物理内存大小为len,则建立了[3G--3G+len]::[0--len]这样的虚地址vaddr和物理地址paddr的线性对应关系; * 内核建立一个page数组,page数组和物理页面系列完全是线性对应,pag转载 2014-01-22 15:58:02 · 457 阅读 · 0 评论 -
linux kernel测试初探
http://www.aikaiyuan.com/tag/kernel前言Linux基金会在4月3日公布了Linux开发年报,向我们展示了linux kernel作为世上最大开源合作项目之一的魅力。自2005年以来,共有800家公司7800名开发人员参与Linux kernel开发,最近一年也有200家公司共1000名开发人员参与。目前在Linus Torvalds的监督之下,Linux核心约2到...转载 2014-08-29 10:02:18 · 682 阅读 · 0 评论 -
Understanding a Kernel Oops!
http://opensourceforu.efytimes.com/2011/01/understanding-a-kernel-oops/By Surya Prabhakar on January 1, 2011 in Coding, Developers Understanding a kernel panic and doing the forensics to trace the bug...转载 2015-07-30 14:56:18 · 489 阅读 · 0 评论 -
Linux 文件系统:procfs, sysfs, debugfs 用法简介
http://www.tinylab.org/show-the-usage-of-procfs-sysfs-debugfs/by falcon wuzhangjin@gmail.com ofTinyLab.org2014/08/25目录 [隐藏]1 前言2 debugfs3 procfs4 sysfs5 小结前言内核中有三个常用的伪文件系统:procfs,debugfs和sysfs。procfs ...转载 2015-07-30 15:45:31 · 702 阅读 · 0 评论 -
Linux-0.11-Lab: 五分钟实验环境
http://www.tinylab.org/project/linux-0-11-lab/目录 [隐藏]1 项目描述2 相关文章3 五分钟教程3.1 准备3.2 下载3.3 编译3.4 从硬盘启动3.5 调试3.6 获得帮助3.7 生成 main 函数调用关系项目描述该项目致力于快速构建一个 Linux 0.11 实验环境,可配合《Linux内核完全注释》 一书使用。使用文档: README.m...转载 2015-07-30 17:54:40 · 2804 阅读 · 0 评论 -
SSDAlloc:用 SSD 扩展内存
http://www.tinylab.org/ssdalloc-using-ssd-for-expandable-memory/by Chen Jie of TinyLab.org2014/10/05目录 [隐藏]1 前言2 SSDAlloc 简介2.1 分配与释放2.2 读与写3 小结前言IPhone 6 面世,其内存容量维持了 1GB 的大小。据一些分析,更大的内存带来了能耗增加,是苹果不愿贸...转载 2015-07-30 17:02:57 · 1181 阅读 · 0 评论 -
Linux 内核补丁测试
你试过自己写内核补丁吗?本节介绍在把你的补丁包提交到 Linux 邮箱列表之前,需要做哪些操作。另外我们还会介绍如何把它发送出去。写好代码后,编译它。把 make 过程产生的输出保存到文档中,查看新代码有没有警告信息。找到所有的警告信息,处理掉。当你的代码编译过程没有任何不正常的输出,安装这个内核,然后启动测试。如果启动正常,查看 dmesg 里面有没于错误,与老内核生成的 dmesg 日志做个比...转载 2015-07-24 18:52:35 · 542 阅读 · 1 评论 -
Linux跟踪工具:虚幻的肥皂闹剧
http://os.51cto.com/art/201305/395819.htmLinux跟踪工具在内核的发展就像是肥皂剧一样,剧情婉转,主题反复并且相互竞争。本文试图总结当前Linux中众多跟踪工具现状和历史原因。Attention: 编者对于以下内容并非亲历者(主要来自LWN和maillist),如有歪曲请拍砖。以下部分虽属八卦,但是,学习一些模块的设计方案和历史进程是我学习方法论的一部分,...转载 2015-07-24 18:24:26 · 981 阅读 · 0 评论 -
Linux 3.2中回写机制的变革
http://alanwu.blog.51cto.com/3652632/1109952/writeback机制模型 在Linux-3.2新内核中,page cache和buffer cache的刷新机制发生了改变。放弃了原有的pdflush机制,改成了bdi_writeback机制。这种变化主要解决原有pdflush机制存在的一个问题:在多磁盘的系统中,pdflush管理了所有磁盘的page/b...转载 2015-09-17 20:57:12 · 596 阅读 · 0 评论 -
Linux 内核的测试和调试
http://x-slam.com/linux-kernel-testing-and-debuggingLinux 内核测试哲学不管是开源还是闭源,所有软件的开发流程中,测试是一个重要的、不可或缺的环节,Linux 内核也不例外。开发人员自测、系统测试、回归测试、压力测试,都有各自不同的目的,但是从更高一个层次上看,这些测试的最终目的又是一样的:保证软件能一直运行下去,当有新功能加转载 2015-09-17 20:44:56 · 4548 阅读 · 1 评论 -
linux io storage stack之我的理解
出自:https://www.thomas-krenn.com/de/wikiDE/images/e/e0/Linux-storage-stack-diagram_v4.10.png原创 2017-04-21 10:36:24 · 2667 阅读 · 0 评论 -
SystemTap----常用变量、宏、函数和技巧
http://blog.csdn.net/justlinux2010/article/details/10050265后面会持续更新,方便自己,方便大家.......一、宏1. kderef从指定的地址处读取指定大小的值格式为:kderef(size, address);其中address为要读取的地址值,size是要是读取的值的大小,返回值就是转载 2017-06-20 22:47:04 · 2332 阅读 · 0 评论 -
【学习笔记】嵌入式Linux之内存管理
http://zzjlzx.blog.chinaunix.net/uid-26881389-id-3175703.html[地址映射](图:左中)linux内核使用页式内存管理,应用程序给出的内存地址是虚拟地址,它需要经过若干级页表一级一级的变换,才变成真正的物理地址。想 一下,地址映射还是一件很恐怖的事情。当访问一个由虚拟地址表示的内存空间时,需要先经过若转载 2017-06-22 17:37:22 · 467 阅读 · 0 评论 -
下一代Linux文件系统将如何发展?
http://www.enet.com.cn/esoftware/ 2010年04月20日05:42 来源:51CTO 字号:小 |大【文章摘要】GNU/Linux在支持文件系统创新方面已经取得了极大的成功,目前已支持超过50种文件系统,毫无疑问,这一成功与Linux一向的开源策略是密不可分的。随着数据的爆炸式增长,存储行业已经发生了翻天覆地的变化,文件系统如何才能紧跟时代步伐,满足越来越高...转载 2013-06-19 17:59:04 · 669 阅读 · 0 评论 -
Linux设备驱动之Ioctl控制
大部分驱动除了需要具备读写设备的能力之外,还需要具备对硬件控制的能力。 一、在用户空间,使用ioctl系统调用来控制设备,原型如下:int ioctl(int fd,unsigned long cmd,...);/*fd:文件描述符cmd:控制命令...:可选参数:插入*argp,具体内容依赖于cmd*/ 用户程序所作的只是通过命令码告诉驱动程序它想做什么,至于怎么转载 2013-09-28 13:22:55 · 607 阅读 · 0 评论 -
计算机系统和中断的概念
http://blog.csdn.net/dog250/article/details/6329511概念: cpu:特指处理器核心,而不是处理器封装,因为很多处理器将桥芯片和内存控制器芯片都封装在一起,造成一种误解,实际上处理器核心并不包含这些内容。外设:带有处理逻辑的集成电路核心。一、CPU和外设芯片1、功能对等性和地位的不平等外设芯片也可以处理数据,因此和cp转载 2013-08-07 16:44:32 · 932 阅读 · 0 评论 -
linux kernel测试初探
原文地址:http://qa.baidu.com/blog/?p=1026 前言 Linux基金会在4月3日公布了Linux开发年报,向我们展示了linux kernel作为世上最大开源合作项目之一的魅力。自2005年以来,共有800家公司7800名开发人员参与Linux kernel开发,最近一年也有200家公司共1000名开发人员参与。目前在Linus转载 2013-04-07 09:53:29 · 776 阅读 · 0 评论 -
内存与I/O操作
原文地址:http://blog.chinaunix.net/uid-20688955-id-1569319.html我们讨论Linux设备驱动究竟怎样访问外设的I/O端口(寄存器)。 几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种:转载 2013-03-25 15:31:40 · 707 阅读 · 0 评论 -
HBA(pm8001)的probe过程 之内核路径
参考:struct device_driver的probe的调用http://bbs.chinaunix.net/thread-2120664-1-1.html弄了HBA驱动几个月了,现在把学习到的东西总结一下。首先是关于HBA的probe过程。在kernel里面是怎么调用的,看下面:module_init(pm8001_init)----->pm8001_init(void)----原创 2013-03-19 16:10:39 · 1277 阅读 · 1 评论 -
kmalloc()和__get_free_pages()
在Linux内核中对应进程内存区域的数据结构是: vm_area_struct, 内核将每个内存区域作为一个单独的内存对象管理,相应的操作也都一致。采用面向对象方法使VMA结构体可以代表多种类型的内存区域--比如内存映射文件或进程的用户空间栈等,对这些区域的操作也都不尽相同。vm_area_strcut结构比较复杂,关于它的详细结构请参阅相关资料。我们这里只对它的组织方法做一点补充说明。vm_转载 2013-04-18 15:22:36 · 563 阅读 · 0 评论 -
linux模块编程(三)——线程的约会completion
http://blog.csdn.net/qb_2008/article/details/6837262上节中我们已经掌握了创建大量内核线程的能力,可惜线程之间还缺乏配合。要知道学习ITC(inter thread communication),和学习IPC(inter process communication)一样,不是件简单的事情。本节就暂且解释一种最简单的线程同步手段—completi转载 2013-04-26 15:18:32 · 576 阅读 · 0 评论 -
linux内核部件分析(一)——连通世界的list
原文地址:http://blog.csdn.net/qb_2008/article/details/6839230在linux内核中,有一种通用的双向循环链表,构成了各种队列的基础。链表的结构定义和相关函数均在include/linux/list.h中,下面就来全面的介绍这一链表的各种API。[cpp] view plaincopyprint?struc转载 2013-04-26 14:24:30 · 443 阅读 · 0 评论 -
linux内核中的内存屏障
http://blog.csdn.net/qb_2008/article/details/6840593前言 之前读了关于顺序一致性和缓存一致性讨论的文章,感觉豁然开朗。对linux内核中出现的种种同步和屏障,想做一点总结。缓存一致性 之前一直认为linux中很多东西是用来保证缓存一致性的,其实不是。缓存一致性绝大部分是靠硬件机制实现的,只有在带转载 2013-04-26 16:04:42 · 525 阅读 · 0 评论 -
pm8001_pci_probe分析(一)
/** * pm8001_pci_probe - probe supported device * @pdev: pci device which kernel has been prepared for. * @ent: pci device id * * This function is the main initialization function, when register原创 2013-05-06 15:52:08 · 1337 阅读 · 1 评论 -
pm8001_pci_probe函数分析之pm8001_pci_alloc
接着分析pm8001_pci_probe中调用的pm8001_pci_alloc和scsi_scan_host。先分析pm8001_pci_alloc,在下一篇文章中分析scsi_scan_host先把pm8001_pci_alloc的代码贴在下面:/** * pm8001_pci_alloc - initialize our ha card structure * @pdev:原创 2013-05-06 16:52:23 · 944 阅读 · 0 评论 -
Linux驱动程序开发 - 设备IO
序言:前面我们提到,设备驱动程序的主要功能操作设备,更准确的说就是如何操作设备寄存器或设备内存。不同的计算机体系结构提供了不同的设备操作接口,主要就是 IO端口映射(Ports)或IO内存映射(Memory-Map )。例如X86平台,它对设备的访问就同时提供了IO端口映射方式或IO内存映射方式,这个在大学的汇编语言课程里有详细的介绍,当然还有一些平台紧提供 IO内存映转载 2013-07-03 17:27:10 · 1025 阅读 · 0 评论 -
地址空间分布
http://www.cnblogs.com/chengxuyuancc/archive/2013/04/17/3026920.html 最近看了本书,突然对于地址空间有些疑惑。在深入理解linux内核中把地址分为三类:逻辑地址(汇编语言中操作数地址或指令的地址,对于80x86的cup,逻辑地址是段+段内偏移地址)、线性地址(也叫虚拟地址)和物理地址。但在Stott Maxwell的转载 2013-07-03 15:46:59 · 588 阅读 · 0 评论 -
linux中断嵌套以及中断丢失
http://blog.csdn.net/adaptiver/article/details/6834337在linux内核里,如果驱动在申请注册中断的时候没有特别的指定,do_irq在做中断响应的时候,是开启中断的,如果在驱动的中断处理函数正在执行的过程中,出现同一设备的中断或者不同设备的中断,这时候新的中断会被立即处理,还是被pending,等当前中断处理完成后,再做处理。转载 2013-07-24 10:22:45 · 969 阅读 · 0 评论 -
内核中的同步与任务调度
http://blog.sina.com.cn/s/blog_4912010c01009bx3.html本文作者:康华:计算机硕士,主要从事Linux操作系统内核、Linux技术标准、计算机安全、软件测试等领域的研究与开发工作,现就职于信息产业部软件与集成电路促进中心所属的MII-HP Linux软件实验室。如果需要可以联系通过kanghua151@msn.com联系他。转载 2013-08-01 15:38:34 · 536 阅读 · 0 评论 -
网卡性能分析-Intel8257X芯片手册读后感
http://blog.csdn.net/dog250/article/details/6313854引:在《《OpenVPN性能》之后,我进一步阅读了硬件的解决方案,希望能得到一些思想,然后进一步的改进我的设计,由于工作的便利性和实际工作的需要,我阅读了intel的82571EB,82574L,82575等以太网芯片的datesheet的相关特性描述部分(由于我不打算亲自写驱动,因此转载 2013-07-26 11:37:40 · 939 阅读 · 0 评论 -
Linux设备模型学习参考方法
Linux设备模型学习参考方法 看LDD3中设备模型一章,觉得思维有些混乱。这里从整体的角度来理理思路。 本文从四个方面来总结一些内容: 1.底层数据结构:kobject,kset. 2.linux设备模型层次关系:bus_type,device,device_driver. 3.集成:PCI设备驱动模型实例及设备,设备驱动注册源码的简单分转载 2013-03-18 13:45:55 · 514 阅读 · 0 评论