1.1 什么是Linux
● Linux是一种类似UNIX的操作系统
● Linux指的是由Linus Torvalds维护的内核
● Linux是遵守GNU的GPL协议的软件
操作系统(Operating System):操作系统是一组软件。一方面,它全面管理计算机的软硬件资源。;另一方面,它向用户提供友好高效的接口来使用计算机。
UNIX是世界上最流行的操作系统之一。它是Open Group的商标,不过它最初是由AT&T的Ken Thompson、Dennis Ritchie和其他人开发的。UNIX是一个分时操作系统。所谓分时操作系统是指它至少具备两个条件:可允许多人同时访问计算机,并且与此同时每个人可运行多个应用程序,这样的操作系统称为多用户多任务操作系统。UNIX最初在70年代就被设计为这样的运行于大型和小型计算机上的多任务系统。
UNIX几乎可以在已有的所有平台上运行。可以运行于从工作站到高级服务器各种平台上。许多厂商购买了其源代码,并开发了他们自己的版本。多年来,不同的厂商( IBM、惠普、Sun等)都在其中加入了自己的特色。不过对UNIX进一步进行修改的并不只是他们。UNIX刚被开发出时,源代码就被免费地分发给学院和大学,加州大学伯克利分校与麻省理工学院这两个学校从一开始就处于开发的前沿。可以想象,UNIX的发展如火如荼,全世界都有人在为UNIX开发各种工具。不幸的是,由于没有统一的标准来引导对UNIX的开发,从而导致在不同的UNIX版本之间存在许多差异。后来,标准开始出现。UNIX的许多标准被归入到IEEE POSIX.1标准中。
UNIX的不足之处在于它比较庞大,并且价格比较昂贵,特别对于PC版本来说更是这样。这正是Linux流行起来的原因。Linux是一种类似UNIX的操作系统。Linux最初由芬兰赫尔辛基大学的Linus Torvalds创建。Linus把Linux建立在一个基于PC机上运行的、小的、名为minix的UNIX基础之上。Minix是一种运行于Intel硬件平台的UNIX操作系统。Andrew S. Tanenbaum设计Minux的目的是用于教学。到目前为止,Minux仍然用于学习操作系统如何工作。所以,Minux包含的东西很简单,以便于每个人都可以来学习操作系统。因为Linus对Minux不满意,所以开始在Minux的基础上开发自己的操作系统,这就是Linux。在1991年接近年底时, Linux被首次公布于众;同年11月,该系统0.10版被发行;一个月后,也就是12月,0.11版被发行。Linus把自己的工作结果放在Internet上,而且代码是完全开放的。这样所有人就可以修改或开发Linux了。Linus允许免费地自由运用该系统源代码,并且鼓励其他人进一步对其进行开发。人们也的确开始这样做。今天,在Linus带领下,通过Internet,一个世界范围内的开发组正在对Linux进行坚持不懈的开发。
通常的,我们提到Linux,指的是:一个类似UNIX的开放的操作系统,它包括系统内核、系统工具、应用程序以及一个完整的的开发环境。实际上,准确点说,Linux指的是:一个类似UNIX的开放的操作系统内核。也就是说,Linux指的是操作系统内核。
Linux目前稳定的版本是2.4.x版。Linux没有利用来自AT&T或任何其他专有资源的代码。为Linux开发的许多软件是由自由软件基金会(Free Software Foundation)的GNU计划组开发的。因此,Linux十分便宜;事实上,它是免费的。
Linux是免费的。它像UNIX-样,是一个非常强大的实时操作系统,并且同其他UNIX操作系统相比又非常小。许多UNIX操作系统需要500MB磁盘空间或者更多,而Linux只要150MB空间就能运行,并且运行时也只要求2MB RAM。不过,在实际情况中,也需要有开发工具、数据等所需的空间,它们可以占去250MB或更多的空间,并且RAM应该是12-16MB(当然是越多越好)。
● 完全的多任务—同时能够完成多个任务并且能够访问多个设备。
● 虚拟内存—Linux能够利用硬盘的一部分作为虚拟内存,它通过把处于活动状态的进程保留在RAM,而把使用频率较低或非活动状态的内存放置在硬盘,来提高系统的效率。虚拟内存也利用系统的所有内存并且不允许内存分段出现。
● X-Window系统— X-Window系统是用于UNIX机器的一个图形系统。这一强大的界面系统支持许多应用程序并且是业界的标准界面。
● 内置网络支持—Linux使用标准的TCP/IP协议,包括网络文件系统( NFS,Network FileSystem )和网络信息服务( NIS ,Network Information Service,以前称为YP )。通过利用一块以太网网卡或modem把自己的系统同其他系统相连,便可以访问Internet。
● 共享库—每个应用程序共享一个公用的、运行时可被调用的子程序库,而不是保留各自的软件备份。这可为系统节省大量空间。
● 同IEEE POSIX.1标准兼容—由于这一兼容性, Linux支持许多为所有UNIX系统提出的标准。
● 非专有资源代码—Linux内核既没有利用来自AT&T的代码,也没有利用来自任何其他专有资源的代码。其他组织,诸如商业公司、GNU项目组以及来自全世界的程序员,都在为Linux开发软件。
● 费用低于大多数UNIX系统和UNIX的克隆系统—如果你有耐心和时间,可以从Internet上把Linux下载下来。许多图书都附有它的拷贝。
● GNU软件支持—Linux能够运行GNU计划的大量免费软件,这些软件包括诸如应用程序开发(GNU C和GNU C++)、系统管理( gawk、groff等等)、游戏(例如GNU Chess 、GnuGo、NetHack )等方面的所有内容。
● Linux运行于多种硬件平台
● Linux的主要组成部分
Linux运行于多种硬件平台,包括:Inter(386,486,Pentium)、SPARC、ALPAH、PowerPC、PalmPilot等。另外,Linux还支持SMP(symmetric multiprocessing),即对称多处理器。这样,一个操作系统可以使用多于一个的处理器。
Linux主要的组成部分有:内核(Kernel)、文件系统(File System)、外壳程序(Shell)、网络通讯(Communication/networking)、文字处理(Text Processing)、编程环境(Programming)、系统管理(System Management)、在线文档(Online Documentation)及图形环境(Graphical Environment)等。
内核(Kernel):指的是操作系统的核心模块。内核管理着系统内的各处理器,而且内核调度多用户及控制系统安全。内核控制系统的输入输出,并管理磁盘及控制文件的存取权限。Linus Torvalds仍然控制着Linux内核的开发工作。关于内核的情况,可以访问 http://www.kernel.org 获得信息。
Linux系统上所有的文件都存放在树型文件系统中。Linux的文件分为三类:普通文件、目录及特殊文件。
外壳程序(Shell):用户与系统交互的界面。Linux支持的外壳程序有bash、pdksh、zsh等,其中默认的为bash(Bourne Again Shell)。外壳程序的主要作用是命令解释器,并提供一个编程环境。
文字处理:在Linux,常用的文字处理程序有vi(vim-Vi IMproved)、ed、emacs等。其中vi是最常用的。
编程环境:Linux提供多种编程环境。其中Shell编程包括:bash、korn shell、tcl/tk、perl、Python等。编程语言有:C/C++、Java、Basic等。
系统管理任务主要有:安装程序、管理用户帐号、配置外围设备、分配磁盘空间、备份数据、监视系统性能、解决系统问题等。
在线文档包括:用户手册(Manual Pages)、Info文档、HOWTO文档、FAQ及Internet上的信息。