鸟哥的Linux私房菜基础学习篇(第二版) 课后习题与答案 --第一章

来源:岁月联盟 编辑:exp 时间:2012-02-14
第一章 什么是Linux
 
 
 
1、一个完整的操作系统至少要能够完整地控制整个硬件,请问,操作系统应该要控制硬件的哪些单元?
 
答:至少要能够控制:(1)input/output crontrol, (2)device control, (3)process management, (4)file management. 等等!
 
2、核心功能在于管理控制整个系统硬件,这包括CPU运算单元的管理、输入/输出的管理,内存的管理,等等。那么,请问一个较为完整的操作系统,应该包含哪些部分?
 
答:应包含Kernel + Kernel Tools + Applications 等等。
 
3、1GB硬盘空间等于多少KB?
 
答:1GBytes = 1024 MBytes * 1024 KBytes/MBytes = 1048576 KBytes
 
4、您在主机上安装了一张网卡,开机之后系统无法使用。您确定网络卡是好的,那么问题可能在哪里?该如何解决?
 
答:因为所有的硬体都没有问题,所以,可能出问题的地方在于系统的核心(kernel) 不支援这张网路卡。解决的方法,到网路卡的开发商网站,下载支援您主机作业系统的驱动程式, 安装网路卡驱动程式后,就可以使用了。
 
5、我在一台主机上安装Windows操作系统时,安装了显卡的驱动程序,它是没有问题的。但是安装Linux时,却无法完整地显示整个X  Windows。请问,是否可以将Windows上的显卡驱动程序安装在Linux上?
 
答:不行!因为核心不同,针对硬体所写的驱动程式也会不相同, 编译器也不同,当然,驱动程式也无法在两个作业系统间相容。 这也是为何开发商在他们的网站上面,都会同时提供许多不同作业系统的驱动程式之故。
 
6、在Windows上能玩的游戏,是否可以到Linux去玩?
 
答:当然不行!跟上一题相似的,因为游戏也是一个应用程式(application), 他必须要使用到核心所提供的工具来开发他的游戏, 所以这个游戏是不可在不同的平台间运作的。除非这个游戏已经进行了移植。
 
7、什么是软件的移植?
 
答:程式是由程式码(通成为ASCII格式)经过编译器编译成为binary file 之后, 才能够在该作业系统上面执行。因此,您可以将您的程式的程式码修改成可以适应 其他作业系统的环境,并且加以编译,使程式可以在其他平台上运作, 这个修改的动作即为移植。
 
8、Linux本身仅是一个核心与相关的核心工具而已,不过,它已经可以驱动所有的硬件,所以,可以算是一个很优秀的操作系统。经过其他应用程序的开发后,被整合成为Linux发行版。请问众多的版本之间有什么异同?
 
答:相同:利用同样的Linux kernel (http://www.kernel.org),几乎相同的自由软体套件(例如GNU 裡面的gcc/glibc/vi/apache/bind/sendmail... ),几乎相同的操作介面(例如均使用bash/KDE/GNOME 等等)。
不同:使用的kernel 与各软体的版本可能会不同;各开发商加入的应用工具不同, 使用的套件管理模式不同(debian 与RPM)
 
9、UNIX是谁写出来的?GNU计划是谁发起的?
 
答:Unix 是Ken Thompson 写的,1973 年再由Dennis Ritchie 以C 语言改写成功。 至于GNU 与FSF 则是Richard Stallman 发起的。
 
10、GNU的全名是什么?主要由哪个基金会支持?
 
答:GNU 是GNU is Not Unix 的简写,是个无穷迴圈! 另外,这个计画是由自由软体基金会(Free Software Foundation, FSF) 所支持的! 两者都是由Stallman 先生所发起的!
 
11、如何获取Linux发行版的可安装光盘?
 
答: 目前各大版本的Linux distribution 大致上仍然依附在GPL 这个版权宣告上, 因此在网路上面都可以轻易的下载,若有兴趣的话可以到各发展的厂商主网页去下载。 然而为了频宽的节省起见,建议在台湾以映像站台来下载速度上会快上很多, 特别建议南台湾朋友可以到义守大学的FTP 站( http://ftp.isu.edu.tw/ )下载资料。
 
12、简单说明什么是GNU的GPL。
 
答:1. 任何个人或公司均可释出自由软体( free software );
2. 任何释出自由软体的个人或公司,均可由自己的服务来收取适当的费用;
3. 该软体的原始码( Source Code ) 需要随软体附上,并且是可公开发表的;
4. 任何人均可透过任何正常管道取得此一自由软体,且均可取得此一授权模式。
 
13、何为多用户(Multi-user)、多任务(Multitask)?
 
答:Multiuser 指的是Linux 允许多人同时连上主机之外, 每个使用者皆有其各人的使用环境,并且可以同时使用系统的资源!
Multitask 指的是多工环境,在Linux 系统下,CPU 与其他例如网路资源可以同时进行多项工作,Linux 最大的特色之一即在于其多工时,资源分配较为平均!
 
14、简单说明GNU General Public License(GPL)与开放源码的精神。
 
答:1. GPL 的授权之软体,乃为自由软体(Free software),任何人皆可拥有他;2. 开发GPL 的团体(或商业企业)可以经由该软体的服务来取得服务的费用;3. 经过GPL 授权的软体,其属于Open source 的情况,所以应该公布其原始码;4. 任何人皆可修改经由GPL 授权过的软体,使符合自己的需求;5. 经过修改过后Open source 应该回馈给Linux 社群。
 
15、有人问“Linux是什么?”该如何回答?
 
答: 简单的说,Linux 就是一个作业系统,或者说,Linux 是作业系统最底层的核心。 这个核心可以管理整个电脑硬体,让电脑硬体可以完整的运作起来,并等待使用者输入指令。 最早Linux 是由Torvalds 在1991 年写出来的,后来由于他承接了Unix 的良好传统:稳定性高、 多人多工的环境设计优良、要求配备较低等优点,所以很多软体开发商在这个核心上面开发, 而某些厂商将这些软体与核心整合成为可以完整安装的光碟,而成为目前大家常常听到的Linux 作业系统了。
 
16、什么是POSIX?为什么说Linux使用POSIX对开发者有好处?
 
答:POSIX 是一种标准规范,主要针对在Unix 作业系统上面跑的程式来进行规范。 若您的作业系统符合POSIX ,则符合POSIX 的程式就可以在您的作业系统上面运作。Linux 由于支援POSIX ,因此很多Unix 上的程式可以直接在Linux 上运作, 因此程式的移植相当简易!也让大家容易转换平台,提升Linux 的使用率。
 
17、Linux的开发主要分为哪两种核心版本?
 
答:主要分为奇数的发展中版本(develop),如2.5 ,及偶数的稳定版本,如2.6 。
 
18、简单说明自由软件(free software)与开放源码的差异。
 
答:自由软体意指:你可以拥有自由的取得、複製、修改、再发行该软体的权利, 由于具有这些权利,因此自由软体通常是Open source 的。
开放源码意指:软体释出时,同时释出原始码,但使用者取得原始码后,能否修改该原始码, 则依据该软体的授权而定。
意思就是说,自由软体是Open source 的,但是Open source 的软体则不见得是自由软体!
 
19、什么是Linux的Live CD?
 
答:所谓的Live CD 就是将完整的Linux distribution 放置到一片光碟(目前也有DVD 版本了) 当中, 然后透过重新开机以『光碟开机』,就能够不使用硬碟直接进入Linux 系统的环境。
 
20、简单说明Linux成功的因素?
 
答:1. 藉由Minix 作业系统开发的Unix like ,没有版权的纠纷;
2. 藉助于GNU 计画所提供的各项工具软体,gcc/bash 等;
3. 藉由Internet 广为流传;
4. 藉由支持POSIX 标准,让核心能够适合所有软体的开发;
5. 托瓦兹强调务实,虚拟团队的自然形成!


作者 chier_system的博客