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