自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

linux内核

一切linux内核相关的知识、技能

  • 博客(60)
  • 资源 (2)
  • 收藏
  • 关注

原创 3)基于QEMU搭建KVM on ARM64的开发环境(续)

之前基于QEMU搭建KVM on ARM64的开发环境中已经搭建好了拥有KVM功能的环境,但是还没使用KVM跑虚拟机,下面接着搭建环境,在arm64虚拟机中跑arm64虚拟机。为了清晰起见,称X86 host为L0,arm64虚拟机为L1,arm64虚拟机中以KVM方式运行的虚拟机为L2。大概的搭建步骤就是,在L1中,编译带有KVM功能的QEMU,然后将之前备份的ubunt.qcow.bak从L...

2019-01-12 18:04:29 2499 2

原创 2)基于QEMU搭建KVM on ARM64的开发环境

KVM现在非常流行,多家主流云计算提供商已经用KVM取代了XEN作为云计算的默认hypervisor,所以我们有必要学习KVM的原理,特别是使用QEMU模拟的硬件来调试KVM,能达到事半功倍的效果。现在arm64的生态也越来越完善,对云计算提供商越来越有吸引力,特别是arm64 v8.1加入的VHE特性,虚拟化硬件架构上理论上比x86优越,以后前景看好。下面我们介绍一下怎么使用QEMU来搭建KV...

2019-01-12 17:26:54 8504

原创 1) 基于QEMU搭建XEN on ARM64的开发环境

过程主要是参考这里对于嵌入式开发学习来说,使用QEMU模拟的开发板可以达到事半功倍的效果。下面介绍如何在X86机器上通过QEMU模拟出arm64的开发板,如何运行XEN和Dom0。准备x86环境在X86机器上安装ubuntu 16.04 desktop版本,因为后面跑的Dom0是arm64 版本的ubuntu 16.04,为了后续在交叉编译的方便,推荐X86也安装ubuntu 16.04...

2019-01-12 16:53:30 5367 2

原创 virtio 传输协议简介

作者:John.Gong 微信:hitgom本打算放上前段时间team内部share的pdf的,但是pdf过于简单,只涉及了virtio-blk中读请求的实现。对于没有virtio基础的同学来说比较难于理解,故打算写一篇稍微详细点的关于virtio的文章。一、virtio是什么?virtio是一个传输协议,只在para-virtualization中使用的一个IO传输协议...

2018-03-16 16:03:24 5572

转载 【学习笔记】嵌入式Linux之内存管理

http://zzjlzx.blog.chinaunix.net/uid-26881389-id-3175703.html[地址映射](图:左中)linux内核使用页式内存管理,应用程序给出的内存地址是虚拟地址,它需要经过若干级页表一级一级的变换,才变成真正的物理地址。想 一下,地址映射还是一件很恐怖的事情。当访问一个由虚拟地址表示的内存空间时,需要先经过若

2017-06-22 17:37:22 437

转载 SystemTap----常用变量、宏、函数和技巧

http://blog.csdn.net/justlinux2010/article/details/10050265后面会持续更新,方便自己,方便大家.......一、宏1. kderef从指定的地址处读取指定大小的值格式为:kderef(size, address);其中address为要读取的地址值,size是要是读取的值的大小,返回值就是

2017-06-20 22:47:04 2130

原创 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 2633

转载 对“优秀工程师”的一点感悟

http://alanwu.blog.51cto.com/3652632/1106866今天在网上看到很多人对自己的IT技术人生路产生了怀疑,大龄工程师有竞争力吗?甚至有人将大龄工程师和“小姐”并论,提出了工程师职业也是青春饭的论断。几年前,我也经常问自己,以后的路该怎么走?能够一直做技术研发吗?做一段研发之后需要转市场或者转管理吗?技术研发有前途吗? 现在,我想说的是平庸的技术研发没有前途;没有...

2015-09-17 21:06:55 922 1

转载 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 572

转载 Linux 内核的测试和调试

http://x-slam.com/linux-kernel-testing-and-debuggingLinux 内核测试哲学不管是开源还是闭源,所有软件的开发流程中,测试是一个重要的、不可或缺的环节,Linux 内核也不例外。开发人员自测、系统测试、回归测试、压力测试,都有各自不同的目的,但是从更高一个层次上看,这些测试的最终目的又是一样的:保证软件能一直运行下去,当有新功能加

2015-09-17 20:44:56 4322 1

转载 W: GPG error: http://extras.ubuntu.com precise Release

http://blog.csdn.net/kevin6216/article/details/9377491ubuntusudo apt-get update错误:W: GPG error: http://extras.ubuntu.com precise Release: The following signatures couldn't be verified because the publ...

2015-08-22 01:01:22 623

转载 为什么计算机的学生要学习 Linux 开源技术

http://www.tinylab.org/why-computer-students-learn-linux-open-source-technologies/目录 [隐藏]1 为什么计算机的学生要学习Linux开源技术1.1 研究平台1.2 专业视野1.3 工作机会1.4 课程实践1.4.1 硬件方面1.4.2 引导程序/BIOS1.4.3 操作系统1.4.4 汇编语言1.4.5 C语言1....

2015-07-30 18:45:25 760

转载 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 2665

转载 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 1126

转载 Linux 文件系统:procfs, sysfs, debugfs 用法简介

http://www.tinylab.org/show-the-usage-of-procfs-sysfs-debugfs/by falcon [email protected] ofTinyLab.org2014/08/25目录 [隐藏]1 前言2 debugfs3 procfs4 sysfs5 小结前言内核中有三个常用的伪文件系统:procfs,debugfs和sysfs。procfs ...

2015-07-30 15:45:31 671

转载 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 464

转载 常用 Git 开发模型

http://www.tinylab.org/git-development-model/by falcon [email protected] ofTinyLab.org2014/07/18Git已被广泛使用于各种项目,很多同学虽然用Git跟了很多项目,但是还停留在基本使用阶段,导致开发效率低下。这里介绍一个常用的开发模型或者说开发过程来展示Git的用法。目录 [隐藏]1 初始化一个项目2...

2015-07-30 13:57:43 1295

转载 Contribute/Submit A QEMU Patch

http://wiki.qemu.org/Contribute/SubmitAPatchQEMU welcomes contributions of code (either fixing bugs or adding new functionality). However, we get a lot of patches, and so we have some guidelines about...

2015-07-29 17:41:32 735

转载 Linux 内核补丁测试

你试过自己写内核补丁吗?本节介绍在把你的补丁包提交到 Linux 邮箱列表之前,需要做哪些操作。另外我们还会介绍如何把它发送出去。写好代码后,编译它。把 make 过程产生的输出保存到文档中,查看新代码有没有警告信息。找到所有的警告信息,处理掉。当你的代码编译过程没有任何不正常的输出,安装这个内核,然后启动测试。如果启动正常,查看 dmesg 里面有没于错误,与老内核生成的 dmesg 日志做个比...

2015-07-24 18:52:35 514 1

转载 Linux跟踪工具:虚幻的肥皂闹剧

http://os.51cto.com/art/201305/395819.htmLinux跟踪工具在内核的发展就像是肥皂剧一样,剧情婉转,主题反复并且相互竞争。本文试图总结当前Linux中众多跟踪工具现状和历史原因。Attention: 编者对于以下内容并非亲历者(主要来自LWN和maillist),如有歪曲请拍砖。以下部分虽属八卦,但是,学习一些模块的设计方案和历史进程是我学习方法论的一部分,...

2015-07-24 18:24:26 942

转载 硬件虚拟化技术浅析

http://csrd.aliapp.com/?p=1513====================================目录1 硬件虚拟化技术背景2 KVM的内部实现概述2.1 KVM的抽象对象2.2 KVM的vcpu2.3 KVM的IO虚拟化2.3.1 IO的虚拟化2.3.2 VirtIO3 KVM-IO可能优化地方3.1 Virt-IO的硬盘优化3.2 普通设备的直接分配(Dire...

2015-07-24 14:10:02 754

转载 Ceph浅析(中):结构、工作原理及流程

http://www.csdn.net/article/2014-04-08/2819192-ceph-swift-on-openstack-m摘要:其命名和UCSC(Ceph诞生地)的吉祥物有关,这个吉祥物是“Sammy”,一个香蕉色的蛞蝓,就是头足类中无壳的软体动物。这些有多触角的头足类动物,是对一个分布式文件系统高度并行的形象比喻。【编者按】Ceph,当下已成为OpenStack上最通用的存...

2014-12-09 23:34:55 1815

转载 Ceph浅析(上):概况与设计思想

http://www.csdn.net/article/2014-04-01/2819090-ceph-swift-on-openstack摘要:其命名和UCSC(Ceph 的诞生地)的吉祥物有关,这个吉祥物是 “Sammy”,一个香蕉色的蛞蝓,就是头足类中无壳的软体动物。这些有多触角的头足类动物,是对一个分布式文件系统高度并行的形象比喻。【编者按】Ceph,当下已成为OpenStack上最通用的...

2014-12-09 23:28:43 861

转载 华为章宇:如何学习开源项目及Ceph的浅析

http://www.csdn.net/article/2014-04-10/2819247-how-to-learn-opensouce-project-&-ceph/1摘要:开源技术的学习和采用确实存在着一定门槛,然而学习各种开源项目已经成为许多开发者不可回避的工作内容。那么,对于类似OpenStack的大型开源项目,开发者该如何着手,这里我们看章宇的分享。【编者按】在 上一届Open...

2014-12-09 23:21:19 1038

转载 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 649

转载 关于IT行业人员吃的都是青春饭?

http://kb.cnblogs.com/page/131719/  国内一个很著名的企业老板曾经说过:在IT行业超过35岁的技术人员将被淘汰,所以不要35岁以后的技术人员。导致整个业界尤其是在软件开发行业都在排斥年龄超过35岁的人员,也导致很多工程师为自己35岁以后的前途发愁而转行。因为很多人都认为IT行业是年轻人的行业,而软件开发就是吃青春饭,过了35岁就没用了。  很多企业也在自己的企业宣...

2014-07-11 17:54:39 754

转载 八位二进制数为什么表示范围是:-128~~+127?

http://blog.sina.com.cn/s/blog_7090a2d101012jmq.html计算机对带符号数的表示有三种方法:原码、反码和补码   8位原码和反码能够表示数的范围是-127~127   8位补码能够表示数的范围是 -128~127  所以既然范围是-128~127,那肯定是用补码表示的。10000000-11111111表示-128到-1, 00000000-01111...

2014-05-28 09:25:52 717

转载 访问PCIe配置空间using Intel Chipsets

http://blog.csdn.net/htyang725/article/details/8523205访问PCIe配置空间using Intel Chipsets      目前用于访问PCIe配置空间寄存器的方法需要追溯到原始的PCI规范。为了发起PCI总线配置周期,Intel实现的PCI规范使用IO空间的CF8h和CFCh来分别作为索引和数据寄存器,这种方法可以访问所有PCI设备的255...

2014-02-20 23:44:13 1169

转载 探秘X86架构CPU流水线

http://ee.ofweek.com/2013-07/ART-11001-2805-28704745.html导读:CPU 是如何工作的呢?一条指令执行需要多长时间?当我们讨论某个新款处理器拥有 12 级流水线还是 18 级流水线,甚至是更深的 31 级流水线时,这到些都意味着什么呢?作为程序员,CPU 在我们的工作中扮演了核心角色,因此了解处理器内部的工作方式对程序员来说不无裨益。  CPU...

2014-02-17 10:22:58 4577

转载 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 438

转载 linux虚拟文件系统浅析

http://hi.baidu.com/_kouu/item/6bfca5cc5d9778d4964452d0虚拟文件系统(VFS)在我看来, "虚拟"二字主要有两层含义:1, 在同一个目录结构中, 可以挂载着若干种不同的文件系统. VFS隐藏了它们的实现细节, 为使用者提供统一的接口;2, 目录结构本身并不是绝对的, 每个进程可能会看到不一样的目录结构

2013-10-17 21:30:21 626

转载 Linux进程的睡眠和唤醒简析

http://www.2cto.com/os/201204/127771.html作者 chumojing1 Linux进程的睡眠和唤醒在Linux中,仅等待CPU时间的进程称为就绪进程,它们被放置在一个运行队列中,一个就绪进程的状 态标志位为TASK_RUNNING。一旦一个运行中的进程时间片用完, Linux 内核的调度器会剥夺这个进程对CPU的控制权,并且从运行队列中

2013-10-06 21:38:20 731

转载 Linux设备驱动之Ioctl控制

大部分驱动除了需要具备读写设备的能力之外,还需要具备对硬件控制的能力。 一、在用户空间,使用ioctl系统调用来控制设备,原型如下:int ioctl(int fd,unsigned long cmd,...);/*fd:文件描述符cmd:控制命令...:可选参数:插入*argp,具体内容依赖于cmd*/  用户程序所作的只是通过命令码告诉驱动程序它想做什么,至于怎么

2013-09-28 13:22:55 584

转载 QEMU模拟FriendlyArm的Mini2440开发板

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始 出处 、作者信息和本声明。否则将追究法律责任。本篇博文是基于参加网上法国OpenWide公司 http://www.openwide.fr/ 举办的嵌入式Linux竞赛 (自由,免费报名,可以个人也可以组队)的经历(今年题目是在Mini2440上实现一个可触摸数字/模拟示波器)。第一阶段是在QEMU下模拟Mini2440开发板并运行编写的...

2013-09-06 11:25:40 1109

转载 计算机系统和中断的概念

http://blog.csdn.net/dog250/article/details/6329511概念: cpu:特指处理器核心,而不是处理器封装,因为很多处理器将桥芯片和内存控制器芯片都封装在一起,造成一种误解,实际上处理器核心并不包含这些内容。外设:带有处理逻辑的集成电路核心。一、CPU和外设芯片1、功能对等性和地位的不平等外设芯片也可以处理数据,因此和cp

2013-08-07 16:44:32 910

转载 内核中的同步与任务调度

http://blog.sina.com.cn/s/blog_4912010c01009bx3.html本文作者:康华:计算机硕士,主要从事Linux操作系统内核、Linux技术标准、计算机安全、软件测试等领域的研究与开发工作,现就职于信息产业部软件与集成电路促进中心所属的MII-HP Linux软件实验室。如果需要可以联系通过[email protected]联系他。

2013-08-01 15:38:34 517

转载 网卡性能分析-Intel8257X芯片手册读后感

http://blog.csdn.net/dog250/article/details/6313854引:在《《OpenVPN性能》之后,我进一步阅读了硬件的解决方案,希望能得到一些思想,然后进一步的改进我的设计,由于工作的便利性和实际工作的需要,我阅读了intel的82571EB,82574L,82575等以太网芯片的datesheet的相关特性描述部分(由于我不打算亲自写驱动,因此

2013-07-26 11:37:40 886

转载 linux中断嵌套以及中断丢失

http://blog.csdn.net/adaptiver/article/details/6834337在linux内核里,如果驱动在申请注册中断的时候没有特别的指定,do_irq在做中断响应的时候,是开启中断的,如果在驱动的中断处理函数正在执行的过程中,出现同一设备的中断或者不同设备的中断,这时候新的中断会被立即处理,还是被pending,等当前中断处理完成后,再做处理。

2013-07-24 10:22:45 948

转载 Linux驱动程序开发 - 设备IO

序言:前面我们提到,设备驱动程序的主要功能操作设备,更准确的说就是如何操作设备寄存器或设备内存。不同的计算机体系结构提供了不同的设备操作接口,主要就是 IO端口映射(Ports)或IO内存映射(Memory-Map )。例如X86平台,它对设备的访问就同时提供了IO端口映射方式或IO内存映射方式,这个在大学的汇编语言课程里有详细的介绍,当然还有一些平台紧提供 IO内存映

2013-07-03 17:27:10 996

转载 地址空间分布

http://www.cnblogs.com/chengxuyuancc/archive/2013/04/17/3026920.html  最近看了本书,突然对于地址空间有些疑惑。在深入理解linux内核中把地址分为三类:逻辑地址(汇编语言中操作数地址或指令的地址,对于80x86的cup,逻辑地址是段+段内偏移地址)、线性地址(也叫虚拟地址)和物理地址。但在Stott Maxwell的

2013-07-03 15:46:59 570

virtio-blk read request处理流程

基于virtio-blk 讲解linux guest和host处理read request的流程

2018-03-16

linux driver of pmc sas HBA chip(pm8001&pm8018)

linux driver of pmc sas HBA chip(pm8001&pm8018) include libsas

2013-03-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除