Linux 2.6内核的精彩世界

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
 http://www-128.ibm.com/developerworks/cn/linux/kernel/l-kernel26/index.html
Linux内核2.6版的开发已经接近尾声,2.6测试版发布已经二个月了,正式版预计明年年初发布。作为一个主要发布版本, 2.6相对于2.4有很大的改动;它引入了许多新的特性,同样也去除很多过时的特性。它在哪些方面有大的改动?它对Linux的开发人员以及其他层面的 Linux用户可能有什么样的影响?阅读本文,您将得到答案。--译者

尽管我们第一次启动 Linux 2.4似乎只是昨天的事,时间已经流走,内核开发团队的2.6版内核开发工作已经接近完成了。本文将试图描述2.6内核中的许多新特性(侧重i386平台的Linux)。和封闭源码的软件的预发布不一样的是,这里所描述的所有特性当前都是2.5版内核开发树中可用的(其中一些的bug少一些,另一些bug 多一些)。(按照Linux的传统,偶数版本的内核是稳定的,奇数版本的只是开发用的)。也就是说,这里所描述的一些特性在实际的2.6版本中仍可能被去除或标志为"experimental"(试验性)。然而内核当前处于特性冻结(feature-freeze)时期,最终的发行版本应该不大可能过于偏离这里的描述。同时也应该清楚这里描述的一些"新"特性在第一次出现在2.6系列内核后,可能被向后移植到了官方的或者发行版供应商的2.4版内核之中。

或许使得这篇文章更为晦涩的是,即将到来的内核的版本号至今仍未确定。最可能使用的版本号是2.6,但是一些人提议版本号可以使用3.0,因为这个版本中包含了NUMA以及无MMU系统的支持。为论述方便,本文将一直使用2.6作为即将到来的内核的版本号。

您正在阅读的是本文档(《Linux 2.6内核的精彩世界》)非正式版的第一版,完稿于2003年7月13日,基于2.5.75开发版内核。随着Linux内核最后工作的完成,这份文档将发布其他非正式版,但是这份文档的正式版直到2.6的最后发布才宣告完成。由于本文是非正式版的第一版,其中可能有错误或者疏漏;如果您发现了它们,请告诉我,我将很高兴地去修正它们。

Linux2.6内核标准教程(共计8-- 第1个) 共计8个压缩包 本压缩包是:part01.rar 出版社:人民邮电出版社 ·页码:368 页 ·出版日期:2008年 ·ISBN:7115187118/9787115187116 ·条形码:9787115187116 ·包装版本:1版 ·装帧:平装 ·开本:16 ·中文:中文 ·附带品描述:附光盘一张 ·市场价格:49元 内容简介 Linux内核Linux操作系统中最核心的部分,用于实现对硬件部件的编程控制和接口操作。《Linux2.6内核标准教程》深入、系统地讲解了 Linux内核工作原理,对Linux内核的核心组件逐一进行深入讲解。 全书共8章,首先讲解Linux系统的引导过程;然后对Linux内核的3大核心模块——内存管理、进程管理、中断和异常处理进行了深入的分析; 在此基础上,对时间度量、系统调用进行了分析和讨论;最后讲解了Linux内核中常见的同步机制,使读者掌握每处理器变量和RCU这两种新的 同步机制。 《Linux2.6内核标准教程》适合Linux内核爱好者、Linux驱动开发人员、Linux系统工程师参考使用,也可以作为计算机及相关专业学生深入学 习操作系统的参考书。 引用: 目录 第1章 Linux内核学习基础 1 1.1 为什么研究Linux内核 2 1.1.1 Linux的历史来源 2 1.1.2 Linux的发展现状 3 1.1.3 Linux的前景展望 3 1.2 选择什么版本进行研究 3 1.3 内核基本结构 4 1.3.1 内核在操作系统中的地位 4 1.3.2 Linux 2.6内核源代码目录树简介 5 1.3.3 Linux 2.6内核的新特性 8 1.4 如何阅读本书 9 1.4.1 内核探索工具 10 1.4.2 推荐阅读方法 122章 引导过程分析 14 2.1 内核镜像的构建过程 15 2.1.1 编译内核的步骤及分析 15 2.1.2 内核镜像构建过程分析 16 2.2 系统引导过程分析 18 2.2.1 傀儡引导扇区 18 2.2.2 探测系统资源 21 2.2.3 解压内核镜像 35 2.2.4 进入保护模式 40 2.2.5 系统最终初始化 47 2.3 系统引导过程总结 47 第3章 内存管理 50 3.1 基础知识 51 3.1.1 存储器地址 51 3.1.2 分段机制 52 3.1.3 分页机制 59 3.2 内核页表的初始化过程 65 3.2.1 启用分页机制 65 3.2.2 构建内核页表 68 3.3 物理内存的描述方法 76 3.3.1 内存节点 77 3.3.2 内存区域 81 3.3.3 物理页框 85 3.4 物理内存的初始化过程 86 3.4.1 探测系统物理内存 87 3.4.2 初始化内存分配器 89 3.5 物理内存的分配与回收 101 3.5.1 伙伴分配算法 101 3.5.2 对象缓冲技术 103 3.6 内核地址空间 105 3.6.1 常规映射地址空间 105 3.6.2 固定映射地址空间 107 3.6.3 长久内核映射空间 109 3.6.4 临时内核映射空间 116 3.6.5 非连续映射地址空间 119 第4章 进程管理 128 4.1 进程与线程的概念 129 4.1.1 程序与进程 129 4.1.2 进程与线程 129 4.2 进程描述符 131 4.2.1 进程标识符 132 4.2.2 进程的状态 132 4.2.3 进程上下文 134 4.2.4 当前进程 139 4.3 进程的组织形式 143 4.3.1 进程标识符构成的哈希表 143 4.3.2 所有进程构成的双向链表 148 4.3.3 执行态进程组成的运行队列 149 4.3.4 阻塞态进程组成的等待队列 152 4.4 进程的创建过程 155 4.4.1 进程创建的接口函数 156 4.4.2 进程创建的处理过程 162 4.5 进程调度算法 177 4.5.1 进程的分类 178 4.5.2 进程优先级 178 4.5.3 时间片分配 181 4.5.4 进程调度时机 182 4.6 进程切换过程分析 183 4.6.1 选取合适进程 183 4.6.2 完成上下文切换 184 4.7 空闲进程的初始化 187 4.7.1 空闲进程的内核态栈 187 4.7.2 空闲进程的内存描述符 188 4.7.3 空闲进程的硬件上下文 190 4.7.4 空闲进程的任务状态段 190 第5章 中断和异常 192 5.1 基础知识 193 5.1.1 中断和异常的定义 193 5.1.2 中断和异常的分类 193 5.1.3 中断和异常的对比 194 5.2 处理机制 195 5.2.1 IA32架构下的处理机制 195 5.2.2 Linu 立即下载

相关推荐

Linux2.6内核总结

Linux2.6内核总结,供大家学习参考。。

Linux内核学习(二)—— 进程管理(基于Linux 2.6内核

通常,创建新的进程是为了立即执行新的程序,而接着调用exec()系统调用就可以创建新的地址空间,把新的程序载入其中。但是传统的fork是直接把父进程的所有资源复制给创建的子进程,这种实现效率过于低下,所以后面的linux系统中的fork使用写时拷贝技术,只有在需要写入的时候,数据才会被复制,在此之前,资源都是以只读的方式共享。PID是一个数,在Linux中的类型为pid_t(实际上就是一个int类型),它同时也限制了进程的上限(默认上限为32768),内核把每个进程的PID存放在它们各自的进程描述符中。

欢迎一起交流问题! 1218

Linux2.6最终稳定内核版本-linux-2.6.32.63.tar.xz

Linux2.6最新最稳定的内核版本源码,Linux-2.6.38.4,加入了新的功能,下载体验吧

Linux内核学习(包含Linux 2.6内核编译安装流程)

Linux内核官方网站为:http://www.kernel.org或者使用git将源码clone下来(我这里使用的版本为2.6): clone下来的源码目录结构如下: 其中比较重要的目录的官方描述如下: 对应的中文描述如下: 2、升级GCC版本 由于腾讯云初始gcc版本为4.8.5,而编译内核需要的最低版本为5.1.0,所以需要安装高于5.1.0版本的gcc。 设置devtoolset-7 为默认的gcc编译器 : 再用gcc -v指令查看gcc版本可以看到已经升级到7.3.1了

欢迎一起交流问题! 4144

linux内核2.6linux内核4.0的区别

这种方法的好处是,它允许同一个 Makefile 在两个不同的上下文中工作:一次是作为一个外部模块的构建脚本,一次是作为内核构建系统的一部分。总之,从 2.64.0,Linux 内核经历了巨大的发展,不仅在性能和稳定性上有所提高,还引入了许多新的功能和技术。指向的是你当前运行的 Linux 内核版本的源代码目录。是在 Linux 内核构建过程中设置的一个变量,它包含了正在构建的内核的版本。综上所述,这个命令的作用是:在当前目录中查找源代码,然后在内核构建系统的上下文中编译这些源代码为内核模块。

Ecoman123的博客 1298

Linux2.6内核调度器介绍

     Linux2.6的调度器新的特性改善调度器的性能有提供完全的O(1)调度算法,也就是说,不管系统中进程数量的多少,调度器中所有的算法都必须在常数时间内完成。应该对SMP有良好的可伸缩性,理想情况下,每个处理器应该有独立的可执行进程队列和锁机制。应该提高SMP的处理器亲和性,但是同时也应该有在负载不平衡的时候在处理器间迁移进程的能力。    新的调度器都实现了这些目标,具体方法是。基于每个

arm7arm9的专栏 305

Linux 2.6内核源码深度解读:kernel/signal.c文件分析

Linux内核的signal.c文件是信号处理机制的核心,负责管理进程间异步通信和异常处理。该文件在Linux 2.6内核中经历了重大改进,支持实时信号队列、精确线程投递和丰富的信号上下文信息。主要功能包括信号发送与传递、处理执行、系统调用接口等,通过精巧的栈帧篡改技术实现用户态信号处理。内核严格区分线程私有和共享信号,并设置了SIGKILL/SIGSTOP等不可捕获信号作为安全机制。随着NPTL的引入,2.6内核解决了多线程环境下的信号处理难题,使信号从简单的进程控制工具发展为强大的事件通知系统。

412

Linux 2.6内核精彩世界(转)

Linux 2.6内核精彩世界(转)翻译: 《Linux 2.6内核精彩世界》翻译小组2003 年 9 月Linux内核2.6版的开发已经接近尾声,2.6测试版发布已经二个月了,正式版预计明年年初发布。作为一个主要发布版本,...

cizn2013的博客 333

Linux 2.6内核精彩世界(一)

      2003年岁末,Linux社区最鼓舞人心的消息莫过于期盼已久的Linux内核2.6版正式推出。2003年岁末,Linux社区最鼓舞人心的消息莫过于期盼已久的Linux内核2.6版正式推出。作为一个主要发布版本,2.6相对于2.4有很大的改动;它引入了许多新的特性,同样也去除很多过时的特性。     它在哪些方面有大的改动?它对Linux的开发人员以及其他层面的Linux用户可能有什么样

CSDN_document的专栏 2万+

我的linux内核2.6

我的linux内核2.6

linux2.6内核源码

linux2.6.38 内核源码,学习linux内核的必备代码工具。

Linux 2.6内核精彩世界(四)

      输入输出设备 在任何计算机系统的更"外部"的一层是输入输出设备,包括像键盘、鼠标、声卡、显卡等显而易见的东西,还包括像游戏操纵杆以及辅助设备等不那么常见的东西。在2.6的开发周期里,许多Linux的用户端子系统得到了扩展,但大部分常见设备都已经非常成熟了。Linux 2.6中对这些设备的改进多半衍生于内核对外部总线支持的改进,比如蓝牙无线键盘以及其它类似设备。尽管如此,Linux 在好

CSDN_document的专栏 1万+

Linux 2.6内核精彩世界(zz)

From:  http://www-128.ibm.com/developerworks/cn/linux/kernel/l-kernel26/index.html内容:到目前为止的故事...多种平台支持深入Linux统一设备模型核心硬件支持块设备支持输入输出设备软件方面的改进其他特性写在最后参考资料 关于作者对本文的评价订阅:developerWorks 时事通讯Joseph Praneich2

unizero的专栏 1151

Linux 2.6 内核精彩世界

 转载地址:http://www-128.ibm.com/developerworks/cn/linux/kernel/l-kernel26/index.html2003 年 9 月 11 日Linux内核2.6版的开发已经接近尾声,2.6测试版发布已经二个月了,正式版预计明年年初发布。作为一个主要发布版本,2.6相对于2.4有很大的改动;它引入了许多新的特性,同样也去除很多过时的

cybertan的专栏 892
上一篇: 公元2005年春,blog页建立
下一篇: PE文件格式详解(一)
4U
4U
博客等级 码龄24年 1粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值