内核
文章平均质量分 70
HaveFunInLinux
这个作者很懒,什么都没留下…
展开
-
快速理解Docker - 容器级虚拟化解决方案
作者:刘旭晖 Raymond 转载请注明出处Email:colorant at 163.comBLOG:http://blog.csdn.net/colorant/是什么 简单的说Docker是一个构建在LXC之上的,基于进程容器(Processcontainer)的轻量级VM解决方案 拿现实世界中货物的运输作类比, 为了转载 2014-07-19 08:12:42 · 759 阅读 · 0 评论 -
为什么中断上下文无法睡眠
"...Let's discuss the fact that work queues run in process context. This is in contrast to the other bottom-half mechanisms, which all run in interrupt context. Code running in interrupt context is un转载 2014-07-21 17:16:05 · 1062 阅读 · 0 评论 -
操作系统开发的乐趣
对独立进行OS开发的人来说,经常会独自にOS開発をしている人に対して、こんなニュアンスの意見をよく目にする。「自分でOSを開発するなんてバカじゃねーの?」むずがゆい・・・。「スシはやっぱりカリフォルニア・ロールがイチバンね」と主張するカリフォルニア在住の米国人と出くわした時くらいに、むずがゆい。なぜなら、OS開発、特にカーネルの開発というのは、プログラミングの中でも格別の面翻译 2014-07-27 14:52:04 · 1036 阅读 · 0 评论 -
每个程序员都应该了解的 CPU 高速缓存
From: http://www.oschina.net/translate/what-every-programmer-should-know-about-cpu-cache-part2?print [编者按:这是Ulrich Drepper写“程序员都该知道存储器”的第二部。那些没有读过第一部的读者可能希望从这一部开始。这本书写的非常好,并且感谢Ulrich授权我们出版。转载 2014-08-01 17:36:51 · 30519 阅读 · 5 评论 -
国内公司的开源的开发工作
http://adc.taobao.com/ppts/Linux%E5%86%85%E6%A0%B8%E5%BC%80%E6%BA%90%E8%B4%A1%E7%8C%AE.pdf原创 2014-07-16 12:42:14 · 1194 阅读 · 0 评论 -
Linux 可加载内核模块剖析
2.6 内核透视图Linux® 可加载内核模块(从内核的 1.2 版本开始引入)是 Linux 内核的最重要创新之一。它们提供了可伸缩的、动态的内核。探索隐藏在可加载模块后面的原理,并学习这些独立的对象如何动态地转换成 Linux 内核的一部分。0评论:M. Tim Jones, 顾问工程师, Emulex Corp.2008 年 8 月 07 日转载 2014-07-09 17:25:16 · 582 阅读 · 0 评论 -
TASK_INTERRUPTIBLE
An uninterruptable process is a process which happens to be in a system call (kernel function) that cannot be interrupted by a signal.To understand what that means, you need to understand the concep转载 2014-07-11 13:12:52 · 1949 阅读 · 0 评论 -
Linux 内核的同步机制,第 1 部分
来源:http://www.ibm.com/developerworks/cn/linux/l-synch/part1/转载 2014-07-29 12:48:06 · 786 阅读 · 0 评论 -
Spinlocks
From : www.makelinux.net/ldd3/chp-5-sect-5 Semaphores are a useful tool for mutual exclusion,but they are not the only such tool provided by the kernel. Instead,most locking is implemented with a转载 2014-07-30 14:29:45 · 921 阅读 · 0 评论 -
How SMP schedule work in Linux kernel? (ARM architecture)
http://stackoverflow.com/questions/21182160/how-smp-schedule-work-in-linux-kernel-arm-architectureThe ARM SMP systems support two types of interrupts. SPI (shared peripheral interrupt) and PPI (转载 2014-07-11 17:11:05 · 1231 阅读 · 0 评论 -
如何回避 EXPORT_SYMBOL_GPL
仅仅是一种回避的方式, 并不表明这样做原创 2014-07-08 16:26:44 · 1435 阅读 · 0 评论 -
[小工具] modinfo - 快速查看内核模块文件信息
有时候忘了加载模块时参数的名称, 要原创 2014-07-31 15:00:53 · 4142 阅读 · 0 评论 -
Xenomai在不同域中的优先级问题
参考:http://www.xenomai.org/pipermail/xenomai/2005-December/001881.htmlhttp://www.xenomai.org/pipermail/xenomai/2005-December/001882.html翻译 2014-07-14 17:26:19 · 1178 阅读 · 0 评论 -
Xenomai 检测某一线程从Xenomai域切换到Linux域
参考:http://www.rts.uni-hannover.de/xenomai/lxr/source/ksrc/skins/native/snippets/sigxcpu.chttp://comments.gmane.org/gmane.linux.real-time.xenomai.users/1179转载 2014-07-14 16:24:04 · 1745 阅读 · 0 评论 -
Xenomai user irq 示例
在用户空间下通过实时任务来实现用户态下的中断处理.参考:转载 2014-07-22 09:26:39 · 1313 阅读 · 0 评论 -
Xenomai 的模式切换浅析
在Xenomai的用户空间下,有两种模式:primary mode 和 secondary mode.原创 2014-07-20 16:32:10 · 3213 阅读 · 0 评论 -
原子操作的实现原理
1. 引言原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为"不可被中断的一个或一系列操作" 。在多处理器上实现原子操作就变得有点复杂。本文让我们一起来聊一聊在Intel处理器和Java里是如何实现原子操作的。2. 术语定义术语英文解释缓存行Cache line缓存的最转载 2014-04-11 09:16:07 · 1166 阅读 · 0 评论 -
Linux 多核下绑定硬件中断到不同 CPU(IRQ Affinity)
硬件中断发生频繁,是件很消耗 CPU 资源的事情,在多核 CPU 条件下如果有办法把大量硬件中断分配给不同的 CPU (core) 处理显然能很好的平衡性能。现在的服务器上动不动就是多 CPU 多核、多网卡、多硬盘,如果能让网卡中断独占1个 CPU (core)、磁盘 IO 中断独占1个 CPU 的话将会大大减轻单一 CPU 的负担、提高整体处理效率。VPSee 前天收到一位网友的邮件提到了 SM转载 2014-07-31 13:51:48 · 965 阅读 · 0 评论 -
Xenomai ipipe spinlock
原文: I-pipe spinlocks Occasionally, some spinlocks need to be shared between the real-timeand Linux domains. We have talked about this in the"Hardware timer","Interrupt controller" and"GPIO翻译 2014-07-30 14:51:31 · 1463 阅读 · 0 评论 -
查找线程化的中断
参考内核kernel/irq/manage.c的代码:t = kthread_create(irq_thread, new, "irq/%d-%s", irq, new->name);会生成名为irq/-的线程, 所以可以用如下方法查找:$ ps aux |grep irq原创 2014-07-15 16:18:48 · 938 阅读 · 0 评论 -
Xenomai 进程间通信方式
Xenomai 进程间通信方式分成Xenomai域内的IPC以及Xenomai域和Linux域之间的IPC,目前采用的rtipc(RTDM驱动)的方式,主要是给用户空间提供socket接口,实时应用通过调用对应的接口可以避免切换到Linux域而导致实时性降低。rtipc对应了三个协议:XDDP (Xenomai域和Linux域之间的IPC)IDDP和BUFP (Xenomai域内的原创 2014-07-14 15:57:59 · 4671 阅读 · 0 评论 -
Xenomai 的发展路线
http://www.xenomai.org/index.php/Xenomai:RoadmapXenomai最开始的理念就是提供一套方案来解决传统的实时API在Linux上的移植问题。目前已经支持了多平台和对多个OS的对应。目前的版本是Xenomai2,主要是实现了用户态下的实时支持。包括POSIX 1003.1b和原生Xenomai skin的支持以及内核下的RTDM(实时驱动模块翻译 2014-07-14 11:11:12 · 2621 阅读 · 0 评论 -
淘宝内核组
http://kernel.taobao.org/index.php/%E9%A6%96%E9%A1%B5原创 2014-04-09 22:49:21 · 2094 阅读 · 0 评论 -
内核的延时函数
1.udelay(); mdelay(); ndelay();实现的原理本质上都是忙等待,ndelay和mdelay都是通过udelay衍生出来的,我们使用这些函数的实现往往会碰到编译器的警告implicit declaration of function 'udelay',这往往是由于头文件的使用不当造成的。在include/asm-???/delay.h中定义了udelay(),而在inc转载 2014-05-15 11:03:21 · 5277 阅读 · 0 评论 -
tty
如果当前进程有控制终端(Controlling Terminal)的话,那么/dev/tty就是当前进程的控制终端的设备特殊文件。使用命令”tty”可以查看它 具体对应哪个实际终端设备。/dev/tty有些类似于到实际所使用终端设备的一个联接。转载 2014-05-08 13:55:51 · 658 阅读 · 0 评论 -
Xenomai 3 和 PREEMPT_RT 相比有什么好处
Q: 我能在我的开发板PREEMPT_RT内核的环境上直接运行POSIX的应用, 那用Xenomai3 的理由是什么呢?A:如果你的应用已经完全是POSIX,并且性能也满足的话,那并没有什么理由用Xenomai3.但是你可能会基于以下两点考虑采用Xenomai3.- 你想移植遗留的嵌入式应用到Linux上而不用修改API. 比如说,你不想在POSIX接口上重写API, 这时候Xenom翻译 2014-07-23 10:46:25 · 9072 阅读 · 2 评论 -
2013 年十佳Linux视频
http://www.linux.com/news/featured-blogs/200-libby-clark/752470-best-linux-videos-of-2013转载 2014-07-13 09:56:18 · 871 阅读 · 0 评论 -
mlockall function
Themlockallfunction locks all of the pages mapped by aprocess's address space.On a successful call tomlockall, the specified process becomes locked andmemory-resident.Themlockallfunction takes two fla转载 2014-07-09 16:51:42 · 1095 阅读 · 0 评论 -
Ftrace 简介(转)
ftrace 是 Linux 内核中提供的一种调试工具。使用 ftrace 可以对内核中发生的事情进行跟踪,可以调试 bug 或者分析内核,也可以帮助开发人员了解 Linux 内核的运行时行为,以便进行故障调试或性能分析。最早 ftrace 是一个 function tracer,仅能够记录内核的函数调用流程。如今 ftrace 已经成为一个 framework,采用 plugin 的方式转载 2014-03-25 09:19:17 · 798 阅读 · 0 评论 -
Firefox OS 深入说明
http://www.app-edu.net/article-38821-1.html转载 2014-04-12 11:34:33 · 603 阅读 · 0 评论 -
CPU缓存刷新的误解
原文地址 作者:Mechanical Sympathy 译者:潘曦 校对:Simon-SZ ,方腾飞即使是资深的技术人员,我经常听到他们谈论某些操作是如何导致一个CPU缓存的刷新。看来这是关于CPU缓存如何工作和缓存子系统如何与执行核心交互的一个常见误区。本文将致力于解释CPU缓存的功能以及执行程序指令的CPU核心如何与缓存交互。我将以最新的Intel x86 CPU为例进行说明,其他C转载 2014-08-01 15:46:31 · 691 阅读 · 0 评论 -
Xenomai thread migration
Xenomai中的任务需要显示声明迁原创 2014-08-06 16:58:56 · 971 阅读 · 0 评论 -
Xenomai 设定中断亲和性
Xenomai中有提供相关的API来绑定中断到对应的CPU上.原创 2014-08-01 16:04:10 · 2462 阅读 · 0 评论 -
diff -u:内核开发的新项目
译至:http://www.linuxjournal.com/content/diff-u-whats-new-kernel-development-1Linux的一个问题是它的系统调用实现 。 正如Andy Lutomirski日前指出的,它非常的混乱。 他说,甚至确定哪些系统调用是为哪个架构所实现也是非常困难的,因为需要识别调用名和编号的映射关系,以及调用参数寄存器和系统调用参数之间的翻译 2014-08-21 17:44:49 · 1052 阅读 · 0 评论 -
seL4微内核开源
General Dynamics C4 Systems和NICTA宣布开源Secure Embedded L4(seL4)微内核,源代码托管在GitHub上,采用的是GPLv2许可证。seL4是世界上第一个形式证明安全增强的通用操作系统内核,开发者宣称它是第一种没有漏洞的软件,能防止系统崩溃或恶意攻击。From: http://www.solidot.org/story?sid=40536转载 2014-07-30 21:25:10 · 2164 阅读 · 0 评论 -
[资料推荐] 实时Linux
jserv (黄敬群),台湾开源开发的大牛。他的一篇介绍实时Linux的资料非常好,对Linux实时开发感兴趣的话一定要看一下。里面应该介绍的内容都提到了。主要包括以下三个方面:影响Linux实时性的因素Linux自身实时性的提高实时性扩展-Xenomai原有的资料在slideshare, 由于国内无法访问,我将它放在百度网盘:http://pan.baid原创 2014-08-11 12:15:35 · 2375 阅读 · 0 评论 -
大杀招之使用QEMU调试Linux内核代码
Linux内核代码的调试非常麻烦,一般都是加printk, 或者用JTAG调试。这里的方法是用QEMU来调试Linux内核。因为QEMU自己实现了一个gdb server, 所以可以非常方便的使用gdb来调内核。这对内核的学习也非常有帮助。为了尽量不多花时间在QEMU设置上,这里直接使用以下的内核image:http://free-electrons.com/community/d原创 2014-08-13 00:24:14 · 1356 阅读 · 0 评论 -
/proc/xenomai/sched 里状态符号的意思
$ cat /proc/xenomai/schedCPU PID CLASS PRI TIMEOUT TIMEBASE STAT NAME 0 0 idle -1 - master R ROOT/0参才原创 2014-08-11 18:04:24 · 2068 阅读 · 0 评论 -
成大资工Xenomai相关wiki
http://wiki.csie.ncku.edu.tw/embedded/xenomai转载 2014-07-02 23:25:13 · 4033 阅读 · 0 评论 -
Linux I/O Stack 结构图
转载至:https://linuxtoy.org/archives/linux-io-stack-%E7%BB%93%E6%9E%84%E5%9B%BE.html读图时代,一张图说明 Linux 系统的 I/O 栈结构,清晰明了,更新至尚未发布的 3.17 版本。点击此查看 PNG 格式大图该流程图由 Werner Fischer 制作,在其网站上,还可以看到他之前为转载 2014-09-03 07:33:17 · 2031 阅读 · 0 评论