什么是 Linux ?
• Unix 与 Linux 的历史
o Multics 系统:由 Bell(贝尔实验室)、MIT(麻省理工学院)与 GE(美国通 用电器)合作开发的一个系统;
o 1969:K. Thompson 替 DEC 公司写了一个简单的 file system 系统,此为 Unix 的前身,但是 Unix 一词尚未出现
o 1973:由 Bell 的 D. Richie 以 C 语言改写了 Thompson 的小系统,全部以ASCII 文件进行改写,方便于应用!此时为第一次出现 Unix 这个操作系统的名词,不过,由于 Unix 乃针对不同的硬件而设定,因此仅出现在大型的 Server上面看到!经过数年后,有底下几种版本:
1. System V 来自于 ATT 公司;
2. BSD 来自于加州理工学院;
3. AIX 来自于 IBM 公司
o 1979:Richard Stallman 倡导 Open source 精神;
o 1984:GNU 与 Free Software Foundation (FSF)由 R. Stallman 倡导;
o 1986:Xfree86 出现在 Unix 上面,且在 1994 年整合于 Linux 中!
o 1991:芬兰大学生 Linus Torvalds 在网络上首次公告 0.02 版的 Linux Kernel ,称为 hobby。
• 简单说明 GNU General Public License (GPL)的精神:
o GPL 的授权之软件,乃为自由软件(Freeware),任何人皆可拥有他;
o 开发 GPL 的团体(或商业企业)可以经由该软件的服务来取得服务的费用;
o 经过 GPL 授权的软件,其属于 Open source 开源的情况,所以应该公布其原始码;
o 任何人皆可修改经由 GPL 授权过的软件,使符合自己的需求;
o 经过修改过后 Open source 应该回馈给 Linux 社群。
(PS. Open source 最大的优点为多人维护, debugs 的速度较快,程序亦较为安全,但是缺点则是缺乏"专人"维护!)
• 什么是 Linux Distribution?
基本上 Linux 是在 1991 年由芬兰大学生 Linus Torvalds 写的一个核心操作系统,最早仅只是核心而已,后来由于此一核心不但可以适合于主流 PC 的 x86 架构,并且稳定,因此有相当多的团队加入研究开发,后来某些公司将一些套件加入此一核心中,变成为完整的"安装光盘",亦即是 Linux Distribution 了!所以才会有这么多的 Linux 版本,各版本之间没有所谓的谁优谁劣,而是个有其优缺点!看你适合哪一款,就用那一款吧!
开发商针对 Linux Kernel 进行开发,并加入适合该 Kernel 的套件(如 ftp, apache,mail 等等),及配合开发商本身的支持软件,而制作出来的可安装光盘即可称为distribution。
• 市面上众多的 Linux 版本当中,有何异同?
唯一相同的地方在于 Linux 的"Kernel",目前 ( 2002/06/29 ) Kernel 发展至 2.4.xx版本,至于不同点则是 Linux 开发商自行加入或者是研发的软件。
• Linux Kernel 的功能:
o System call interface 系统调用接口
o Process control 进程控制
o Memory management 内存管理
o File System management 文件系统管理
o Device drivers 设备驱动
简单的说,任何跟系统硬件资源有关的都是 Linux Kernel 管辖的范围,所以编辑核心的时候,将核心编的越小越好!
• 试说明 Linux Kernel 与使用者之间的相关性?
硬件 <=> Kernel (Modules Loader) <=> Shell ( Terminal or GUI ) <=> Users
• 试说明什么是 GUI
GUI 为 Graphical User Interface 的简写,即为使用者图形界面,目前我们在 Linux 上面的 GUI 一般称为 X-Window ,而其核心为 Xfree86 这个 X-Server !请注意,这个Xfree86 最大的功能即是在控制"显示卡、硬件周边"等跟 Window 有关的界面,所以X-Window 无法启动时,通常是 Xfree86 这个 X-Window 的核心驱动程序设定不完全有关!
• Linux 的优点:
最大的优点来自于其良好的资源分配!所以具有:
o 良好的多人多任务环境,资源分配平均;
o 除了免费之外,在线更新速度快,除错与安全性均较佳;
o 为 Open source 的授权,故而具有 open source 的所有优缺点;
o 网络功能强大。
• Linux 是多人多任务的环境,请问何谓多任务(Multitask)与多人(Multiuser):
o Multitask 指的是多任务环境,在 Linux 系统下, CPU 与其它例如网络资源可以同时进行多项工作, Linux 最大的特色之一即在于其多任务时,资源分配较为平均!
o Multiuser 指的是 Linux 允许多人同时连上主机之外,每个使用者皆有其各人的使用环境,并且可以同时使用系统的资源!