Linux内核:简介

本文译自Linux.orgDevynCJohnson的系列文章《Linux内核》,本篇链接:http://www.linux.org/threads/%EF%BB%BFthe-linux-kernel-introduction.4203/,转载请注明出处及原作者。

1991年,一位芬兰学生Linus Benedict Torvalds制作了目前十分流行的内核。他于1991年九月和1992年二月发布了基于GPL协议的Linux的0.01版本。GNU通用公共许可协议(GPL)允许合法和免费地使用,拥有,修改以及发布源代码。这使得Linux的内核十分流行,因为任何人都可以免费地下载和使用Linux。了解如何获得,编辑,配置,编译以及安装Linux内核,对于想要制作自己专属的Linux内核的用户而言是很有意义的。

内核是操作系统的核心。操作系统是管理硬件以及允许用户在计算机上运行应用程序的软件集合。内核控制硬件和应用程序。应用程序并不与硬件直接通信,而是要通过内核。总之,软件运行在内核之上,内核操作硬件。没有内核,计算机将毫无用处。

用户有着各种各样的原因制作他们自己的内核。很多用户希望内核中只包含维持他们系统运行的代码。例如我的内核包含FireWire设备的驱动,但是我的计算机并没有这种端口。当系统启动的时候,时间和RAM空间被浪费在了一些我并没有安装的设备的驱动上。如果想要精简内核,我们可以制作属于自己的没有FireWire驱动的内核。除此之外,用户也可能有特殊的硬件,这些设备的驱动并不包含在当前运行的内核之中,但是最新发布的Ubuntu内核有这些硬件的驱动。这类用户可以下载最新的内核,然后制作包含他们需要驱动的内核。这就是用户们想要制作他们自己内核的最普遍的两个原因。

在下载内核之前,我们需要探讨一下一些重要的定义和事实。Linux是一种宏内核,这意味着整个操作系统在RAM上预留了一块内核区。澄清一下,内核是运行在RAM上的。内核区是内核在RAM上预留的,也仅有内核才能使用的区域,仅有在系统关闭以后这一区域才会被释放。与内核区相反的是用户区,用户区是RAM上用户程序可以使用的区域。像是浏览器,游戏,文字编辑器,媒体播放器,墙纸,主题等等应用程序都是运行在RAM上的用户区的。当应用程序被关闭了以后,任何其他程序都可以使用这些被释放了的区域。但是对于内核区来说,一旦这部分的RAM被占用了,没有其他程序可以使用这一区域。

Linux内核是抢占式多任务内核。这意味着内核会暂停一些任务以确保每个应用都有使用CPU的机会。例如,如果一个正在运行的程序A正在等待一些数据,内核就会把程序A挂起,然后允许程序B在程序A等待数据的这一段时间使用CPU被释放的资源。否则程序就会把资源浪费在程序A这种正在等待数据或是其他程序执行的程序上。内核会迫使程序等待或停止使用CPU。如果没有内核的许可,程序是不能够解除该程序的暂停或者是使用CPU的。

Linux的内核令设备以文件的形式出现在/dev中。比如说USB接口就在/dev/bus/usb中,硬盘分区在/dev/disk/by-label中。这就是大家都常挂在嘴边的特性:“在Linux中,一切都以文件的形式存在。”

Linux的内核具备可移植性,这一特性也是Linux非常流行的原因之一。可移植性是指内核能够在多种处理器和系统上运行的能力,内核支持的一些处理器型号包括:Alpha, AMD, ARM, C6X, Intel, x86, Microblaze, MIPS, PowerPC, SPARC, UltraSPARC等等,就不在此一 一列举了。

在启动文件夹中(/boot),用户可以看到一个名为”vmlinux”或是”vmlinuz”的文件。他们都是编译过的Linux内核,以z结尾的是压缩过的文件。”vm”是虚拟存储的简称。在SPARC[1]处理器上,用户会看到zlmage文件。还有一少部分用户会发现bzlmage文件,它也是一种压缩了的Linux内核。无论用户使用的是哪一个,他们都是启动文件,如非充分理解操作的意义,用户们最好还是不要修改它们,否则系统有可能无法启动。

源代码是程序的编码,程序员可以通过修改源代码来达到修改内核或了解内核的工作机制。

在了解了内核的一些基本概念之后,我们就可以开始下载源代码了。在kernel.org上点击download按钮就可以了。这篇文章是基于3.9.4版本的Linux内核,对于不同版本的内核来说,所使用的指令应该是相同或相近的。

在下一篇文章里,我们会聊一聊Linux内核的源代码是如何组织的。

[1]SPARC处理器:是RISC处理器的一种。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值