操作系统主要在管理与驱动硬件,因此必须要能够管理内存、管理设备、负责任务管理以及提供应用程序开发接口等等。要使用硬件时,就得需要透过应用软件或者是壳软件(shell)的功能,来呼叫操作系统操纵硬件工作。因此,目前称为操作系统的,除了上述功能外,通常已经包含了日常工作所需要的应用软件在内了。
每种操作系统都有自己的核心与核心工具,故不同操作系统其操作硬件的方式也不同。
操作系统对下驱动硬件,对上提供应用程序开发接口。
Q1、你在你的主机上面安装了一张网卡,但是开机之后,系统却无法使用,你确定网卡是好的,那么可能的问题出在哪里?该如何解决?
A1:因为所有的硬件都没有问题,所以,可能出问题的地方在于操作系统的核心(kernel)不支持这张网卡。解决的方法:①到网卡的开发商网站 ②下载支持你主机操作系统的驱动程序 ③安装网卡驱动程序后,就可以使用了。
Q2、我在一部主机上面安装Windows操作系统时,并且安装了显示适配器的驱动程序,它是没有问题的。但是安装Linux时,却无法完整的显示整个X Window。请问,我可不可以将Windows上面的显示适配器驱动程序拿来安装在Linux上?
A2:不行。因为核心不同,针对硬件所写的驱动程序也会不相同,编译程序也不同,当然,驱动程序也无法在两个操作系统间兼容。这也是为何开发商在它们的网站上面,都会同时提供许多不同操作系统的驱动程序之故。
Q3、一个操作系统至少要能够完整的控制整个硬件,请问,操作系统应该要控制硬件的哪些单元?
A3:根据硬件的运作,以及数据再主机上面的运算情况与写入/读取情况,我们知道至少要能够控制:①input/output control ②device control ③process management ④file management等等
Q4、我在Windows上面玩的游戏,可不可以拿到Linux去玩?
A4:当然不行,因为游戏也是一个应用程序(application),它必须要使用到核心所提供的开发接口工具来开发它的游戏,所以这个游戏是不可在不同的平台间运作的。除非这个游戏已经进行了移植。
Q5、Linux本身仅是一个核心与相关的核心工具而已,不过,它已经可以驱动所有的硬件,所以可以算是一个很优秀的操作系统了。经过其他应用程序的开发之后,被整合成为Linux distributions。请问众多的distributions之间,有何异同?
A5:相同: ①同样使用http://www.kernel.org所释出的核心 ②支持同样的标准,如FHS、LSB等 ③使用几乎相同的自由软件(例如GNU里面的gcc/glibc/vi/apache/bind/sendmail…) ④几乎相同的操作接口(例如bash/KDE/GNOME等等)
不同: ①使用的kernel与各软件的版本可能会不同 ②各开发商加入的应用工具不同,使用的套件管理模式不同(dpkg 与 RPM)
Q6、何谓多人(Multi-user) 多任务(Multitask)?
A6:multiuser指的是Linux允许多人同时连上主机之外,每个用户皆有其个人的使用环境,并且可以同时使用系统的资源。multitask指的是多任务环境,在Linux系统下,CPU与其他例如网络资源可以同时进行多项工作,Linux最大的特色之一即在于其多任务时,资源分配较为平均。
Q7、什么是POSIX?为何说Linux使用POSIX对于发展有很好的影响?
A7:POSIX是一种标准规范,主要针对在Unix操作系统上面跑的程序来进行规范。若你的操作系统符合POSIX,则符合POSIX的程序就可以在你的操作系统上面运行。Linux由于支持POSIX,因此很多Unix上的程序可以直接在Linux上运作,因此程序的移植相当简易,也让大家容易转换平台,提升Linux的使用率。
Q8、Linux的发展主要分为哪两种核心版本?
A8:主要分为奇数的发展中版本(develop),如2.5,及偶数的稳定版本,如2.6