习题解答
第一章
实践题部分:
- 请上网找出目前Linux内核的最新稳定版与开发中版本的版本号码,请注明查询的日期与对应的版本。
Linux的内核版本有两种:稳定版与开发版;
Linux内核版本号是由3个数字构成:a.b.c
a:目前发布版的内核主版本。
b:偶数表权示稳固版本;奇数表示开发中版本。
c:错误修补的次数。
其中第一个数字是主版本号,第二个数字是次版本号,第三个数字是修订版本号。
(注:3.10版本之后就不再用奇数、偶数的编号格式了,所以百度回答的结果5年前还可以适用)
2021年3月2日查询的最新稳定版是5.12-rc1,在kerne.org网站上可以查到。
其中rc表示“候选发布”,它由开发者进行测试并“打磨”所有的这些很酷的新特性。基于他们这几轮测试的反馈,Linus 决定最终版本是否已经准备就绪。通常有 7 个每周预发布版本,但是,这个数字经常走到 -rc8,并且有时候甚至达到 -rc9 及以上。当 Linus 确信那个新内核已经没有问题了,他就制作最终发行版,我们称这个版本为“稳定版”,表示它不再是一个“候选发布版”。
参考网站
上一个版本为5.11.2,属于稳定版,5.12-rc1发布背后还有一个故事,有兴趣的可以看一下,链接
可以通过:
uname -r
查询自己机器的内核版本,如果过低可以自己升级一下内核版本。参考博客
不过不建议自己升级内核版本,因为每个发行版一般对应一个Linux内核版本,如何要升级的话,可能会导致一些旧的软件不能使用。如果想用新的Linux内核,最好的方式是下载安装最新的Linux发行版。
另外,电脑上如果存在多个内核的话,一般可以选择一个内核进入,多余的内核比较占用空间,可以删除,参考博客
下面这篇博客完美的解决了如何编译安装Linux内核,参考博客
- 请上网找出Linux吉祥物企鹅的名字,以及最原始的图形文件。(www.linux.com)
Tux,该网站上没有找到原始图片的文件,下面这张图片是必应图片。关于该吉祥物的来源可以看博客。
- 请上网找出Andriod与Linux内核版本间的关系。
Android的内核基于Linux内核的长期支持(LTS)分支。截至2020年,Android使用Linux内核的版本4.4、4.9或4.14。实际使用的内核版本取决于特定的机器。Android的Linux内核变体具有进一步的架构更改,这些更改由Google在典型的Linux内核开发周期之外实施,例如包含设备树,ashmem,ION等组件以及不同的内存不足(OOM)处理。Google归还Linux内核的某些功能,特别是称为“ wakelocks”的电源管理功能,[176]最初被主线内核开发人员拒绝,部分原因是他们认为Google没有表现出维护自己代码的意图。
具体内容参考,wikipedia
简答题部分
-
你在你的主机上面安装了一块网卡,但是开机之后,系统却无法使用,你确定网卡是好的,那么可能出现的问题出在哪里?该如何解决?
确定网卡没有问题,再排除硬件问题,即PCI插口有没有虚插,重新插一次。如果问题还没有解决,可以考虑是不是软件相关的问题。
a. 需禁用主板自带网卡,否则新的网卡会无法识别;
b. 网卡驱动未安装;
c. 网卡驱动过新或者过旧,找到适合自己网卡的驱动程序。 -
一个操作系统至少要能够完整控制整个硬件,请问操作系统应该要控制硬件的哪些单元?
运算单元、控制单元、寄存器组、总线接口单元、输入/输出单元。操作系统只是在管理整个硬件资源,包括CPU、内存、输入输出设备及文件系统,因此操作系统要控制的就是这些硬件的内部单元。 -
我在Windows上面玩的游戏可不可以拿到Linux去玩?
不可以直接玩。游戏属于应用程序,应用程序是参考操作系统提供的API所开发出来的软件,不同的操作系统会对应不同版本的应用程序软件。可以考虑对应的Linux系统的游戏。比如Linux和Window都是可以使用QQ应用程序。 -
Linux本身仅是一个内核与相关的内核工具而已,不过,它已经可以驱动所有的硬件,所以,可以算是一个很阳春的操作系统了。经过其他应用程序的开发之后,被整合成为Linux distributions。请问众多的distributions之间有何异同?
各大Linux Distributions的主要异同在于支持标准。“Linux kernel + Software + Tools + Documentation”组成的可完整安装的程序被称为Linux distributions。每一个Linux distributions使用的kernel都是http://www.kernel.org所发布的,而他们所选择的软件几乎都是目前很知名的软件,重复性相当高。此外,为了让所有的Linux distributions开发不至于差异太大,且让这些开发商在开发的时候有所依据,还有Linux Standard Base(LSB)等标准来规范开发者,以及目录架构的File system Hierarchy Standard(FHS)标准规范,它们的唯一差别可能就是该开发者自家所开发出来的管理工具以及套件管理的模式。所以说,基本上,每个Linux distributions除了架构的严谨度与选择的套件内容外,其实差异并不太大。
每个Linux发行版使用的内核都由https://www.kernel.org网站所发布。 -
UNIX是谁写出来的?GNU项目是谁发起的?
书上36页。
1973年,UNIX正式诞生,Ritchie和Tompson合作用C语言写出了第一个正式UNIX内核。
书上38页。
1984年,Richard Mathew Stallman发起GNU计划。 -
GNU的全名为何?它主要由哪个基金会支持?
书上38页,40页
GNU’s Not UNIX
由自由软件基金会FSF支持。 -
何谓多用户(Multi-user)多任务(Multi-task)?
书上40页。
多用户是可以在系统上创建多个用户,且多个用户可以同时使用系统资源;对于多任务,理论上一个CPU在一个时间内仅能进行一个程序,多任务,即计算机对于多个任务,会在不同的程序间切换,让用户感觉多个任务是在同步进行(现在的多核心计算机可以实现真正的多任务同时处理)。Linux是一个真实的、完整的多用户多任务操作系统,可以在Linux上建立多个用户,而多个用户可以在同一时间内登录同一个系统执行不同的任务而互不影响。所以Linux系统一般用作服务器的系统。 -
简单说明GUN General Public License(GPL)与Open Source的精神。
书上40~43页。
1.GPL的授权之软件,乃为自由软件(Free software),任何人皆可拥有他; 2.开发 GPL 的团体(或商业企业)可以经由该软件的服务来取得服务的费用; 3.经过 GPL授权的软件,其属于 Open source的情况,所以应该公布其原始码; 4.任何人皆可修改经由 GPL授权过的软件,使符合自己的需求; 5.经过修改过后 Open source应该回馈给 Linux社群。 -
什么是POSIX?为何说Linux使用POSIX时对于开发有很好的影响?
书上45,46页。
POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称,其正式称呼为IEEE 1003,而国际标准名称为ISO/IEC 9945。
主要针对在 Unix操作系统上面跑的程序来进行规范。若你的操作系统符合 POSIX,则符合 POSIX的程序就可以在你的操作系统上面运作。 Linux由于支持 POSIX,因此很多 Unix上的程序可以直接在 Linux上运作,因此程序的移植相当简易!也让大家容易转换平台,提升 Linux的使用率。扫描二维码关注公众号,回复: 12663895 查看本文章 -
简单说明Linux成功的因素。
a. 稳定的系统;
b. 免费;
c. 更新频率高,安全性好,漏洞少;
d. 多任务,多用户;
e. 用户与用户组的规划;
f. 系统对一些硬件资源消耗较少;
g. 对于便携嵌入式系统有很好的适用性;
h. 开源,背后有强大的开发团队,遵循Open Source的开发标准。