现在位置: 首页 > 内核
一 概述 传统的应用编写时,每添加一个模块,都需要在main中添加新模块的初始化。也就是说增加的一个不能算是真正的独立模块,得在main中修改代码才能集成这模块功能。有没有什么办法可以实现main跟其他模块之间隔离呢?main不再关心有什么模块,模块的删减也不需要修改main? 二 liunx内核模块初始化 如果你对liunx模块有一定了解,你应该知道liunx模块都是独立加载,加载模块,不需要修改main代码。甚至不需要重新编译代码。...
阅读全文
2018-11-23 17:54 工业·编程 ⁄ 共 1635字 暂无评论
在具体的设备驱动开发中,将驱动编译为内核模块也有很强的工程意义,因为如果将正在开发中的驱动直接编译入内核,而开发过程中会不断修改驱动的代码,则需要不断地编译内核并重启内核,但是如果编译为模块,则只需要rmmod并insmod即可,开发效率大为提高。下面说明如何添加、编译并允许LINUX模块。 除此之外还有好多有用的功能比如KVM虚拟化,都是以内核模块的方式动态地添加到内核中的。       LINUX...
阅读全文
Win95以前系统基于Dos,只是在外面加了一层图形界面,不是基于事件响应的,线程也只是分时轮询。WinNT(new Technology)有了质的改变,才成为现代OS。现代OS有Linux和WinNT,一大特征是内核运行区和用户运行区,用户运行区之间彼此独立——线性内存运行空间和CPU运行状态支持独立。满足这一条才可以真正称为多任务OS,在这基础上才有现代OS特有的进程、IO访问等等功能。     PS:这一特征要求CPU硬件也支持状态保...
阅读全文
2016-03-04 06:50 工业·编程 ⁄ 共 10512字 暂无评论
创建型 Object Pool Object Pool模式可以提升性能,尤其是在对象的分配、初始化成本高,使用频率高但使用时间短的情况下。对象池可以设置对象池的大小和回收时间缓存预分配的对象。 NT和Linux都有简单的预分配缓存对象的机制,也就是Lookaside Cache机制。NT的对象管理器使用延迟删除和垃圾回收机制实现真正意义上的对象池。在调用NtClose关闭对象之后,对象使用的内存空间并不马上回收,而是挂在已删除对象列表之中,并且被设...
阅读全文
2016-02-27 08:39 工业·编程 ⁄ 共 5633字 暂无评论
针对好多Linux 爱好者对内核很有兴趣却无从下口,本文旨在介绍一种解读linux内核源码的入门方法,而不是解说linux复杂的内核机制; 一.核心源程序的文件组织: 1.Linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(例如2.0.30)都是一个稳定地发行的核心,而任何奇数的核心(例如2.1.42)都是一个开发中的核心。 本文基于稳定的2.2.5源代码,第二部分的实现平台为 Redhat Lin...
阅读全文
2016-02-26 09:19 工业·编程 ⁄ 共 4834字 暂无评论
3) 定义语句 define_bool /symbol/ /word/define_hex /symbol/ /word/define_int /symbol/ /word/define_string /symbol/ /word/define_tristate /symbol/ /word/ 不同于询问语句等待用户输入,定义语句显式的给配置变量 /symbol/ 赋值 /word/。 4) 依赖语句 dep_bool /prompt/ /symbol/ /dep/ ...dep_mbool /prompt/ /symbol/ /dep/ ...dep_hex /prompt/ /symbol/ /word/ /dep/ ...dep_int /prompt/ /symb...
阅读全文
2016-02-25 07:58 工业·编程 ⁄ 共 4701字 暂无评论
1. 配置系统的基本结构 Linux内核的配置系统由三个部分组成,分别是: Makefile:分布在 Linux 内核源代码中的 Makefile,定义 Linux 内核的编译规则; 配置文件(config.in):给用户提供配置选择的功能; 配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面以及基于 Xwindows 图形界面的用户配置界面,各自对应于 Make config、Make menuco...
阅读全文
2014-12-06 17:40 工业·编程 ⁄ 共 3325字 暂无评论
工作几年来,一直从事Linux内核驱动方面的开发。从接触Linux到现在,读过不少Linux方面的书籍,现把认为很不错的一部分列出来和大家分享一下。 入门类 一直认为,在一个系统上学习开发之前,首先需要熟悉这个系统的使用。鉴于天朝的国情,绝大部分人第一个接触的操作系统就是Windows,因此对于这绝大部分人来说,如果要学习Linux开发,学会使用这个系统都是必不可少的一个环节。 现在的Linux初学者是幸福的,随着Linux桌面环境...
阅读全文
2014-09-14 12:48 工业·编程 ⁄ 共 6869字 暂无评论
一、内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次。如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径。我们都知道,想成为优秀的程序员,需要大量的实践和代码的编写。编程固然重要,但是往往只编程的人很容易把自己局限在自己的知识领域内。如果要扩展自己知识的广度,我们需要多接触其他人编写的代码,尤其是水平比我们更高的人编写的代码...
阅读全文
    浏览器是我们每天几乎都必须使用的软件产品,可是对于自己每天都接触的浏览器,很多同学其实对其一无所知。今天求索阁就跟大家说说关于浏览器内核的一些事儿吧,好让你了解多一点稍微内在的东西。     在下面的文章中主要介绍一些常见的浏览器内核和JavaScript引擎,部分内容来自于在网上找到的资料,还有一些是我自己的理解,不保证完全正确,但是大致应该是没错的。如果有误,请指正…… 一...
阅读全文