UNIX系统的出现
1969年在美国的贝尔实验室K.Thompson 和D.M.Richie开发了名为UNIX的多用户多任务操作系统。
UNIX操作系统相当可靠并运行稳定,至今仍广泛应用于银行、航空、保险、金融等领域的大中型计算机和高端服务器中。
UNIX的商业版本包括赫赫有名的SUN公司的Solaris,IBM公司的AIX,惠普公司的HP-UX等。
UNIX致命的弱点:
一是必须借助操作命令才能管理和使用UNIX系统,这使操作有一定的困难。(时至今日,UNIX系统已经能提供简便易用的窗口图形化用户界面供用户使用)。
二是作为可靠稳定的操作系统,其昂贵的价格虽然恰当地反映出UNIX令人信服的性能价格比,但却把个人用户拒之千里之外,使之无法应用于家庭。

个人操作系统Windows的出现

20世纪80年×××始 ,个人计算机的操作系统也应运而生。其中微软公司的产品便是其中最杰出的代表。从MS DOS到Windows,从Windows 95 到Windows XP,Windows系列操作系统提供给用户人性化的图形化用户界面,使得操作非常地简捷方便。

自由软件的兴起

1984年麻省理工学院(MIT)的研究员Richard Stallman提出自由软件(Free Software)的概念,并成立自由软件基金会(Free Software Foundation,FSF)实施GNU计划。

GNU与GPL

自由软件思想的由来
1971年,哈佛学生Richard Stallman找到了一份麻省人工智能实验室的工作,这期间里,Hacker的传统被他发展成为日后自由软件运动的思想核心:“思想共享,源码共享”。他于1984年创立了GNU,1985年创建了FSF(自由软件基金会),1991年公布了GPL2.0版(General Public License,普遍公用许可协议)。
GNU的本意代表 “Gnu's Not Unix”
虽然如此,它却是一个与UNIX完全相容的软体系统。二者最大不同在于,GNU是一个免费的软件体系,UNIX却是一个要付费的软件体系。
GNU之所以与 UNIX完全相容,是因为UNIX的使用者很多,为了让 UNIX的使用者在使用GNU的时候不会有陌生的感觉,所以GNU尽量与UNIX相容,
它的相容只是看起来与用起来像UNIX而已,GNU其实改进了所多UNIX的缺点。
自由软件基金会还提出了通用公共许可证(General Public License,GPL)原则,它与软件保密协议截然不同。通用公共许可证(GPL)允许用户自由下载、分发、修改和再分发源代码公开的自由软件,并可在分发软件的过程中收取适当的成本和服务费用,但不允许任何人将该软件据为己有。

GPL的主要条款(1/2):
第一条
只要您在每一程序副本上明显和恰当地宣告版权声明和不承担担保的声明,并原封不动保持此许可证的声明和没有担保的声明,并将此许可证连同程序一起给其它每位程序接受者,您就可以用任何媒体复制和发布您收到的程序的源码。 
您可以为转让副本的实际行动收取一定费用。您也可以自由决定是否以提供担保来换取一定的费用。

第二条
您可以修改程序的一个或几个副本或程序的任何部分,以此形成基于这些程序的衍生作品。只要您同时满足下面的所有条件,您就可以按前面第一条的要求复制和发布这一经过修改的程序或作品。(以下条件的意思是你修改可以,但是要说明,并且修改了的东西别人也能有权使用,具体内容略)

GPL的主要条款(2/2):
第三条
您可以以目标码或可执行形式复制或发布程序 ( 或符合第2条,本程序的衍生作品 ),只要您遵守前面的第1、2条,并同时满足下列三条中的任一条。
在通常用作软件交换的媒体上,和目标码一起附有机器可读的完整的本程序源码。
这些原始码的发布应符合上面第 1、2 条的要求。或者,在通常用作软件交换的媒体上,和目标码一起,附上书面报价,提供替第三方复制源码的服务。该书面报价有效期不得少于3年,费用不得超过完成原程序发布的实际成本,原始码的发布应符合上面的第 1、2条的要求。或者
和目标码一起,附有您收到的发布源码的报价信息。


Linux的出现



1991年芬兰赫尔辛基大学的大学生Linus Torvalds为完成自己操作系统课程的作业,开始基于Minix(一种免费的小型UNIX操作系统)编写一些程序,Linus Torvalds将这个操作系统命名为Linux,也就是Linus’s unix的意思,并且以可爱的胖企鹅作为其标志。
Linux的功能日趋完善,并已经成为世界上主流的操作系统之一。Linus Torvalds本人并没有因为Linux的成功而获得财富,但是他却为世界计算机界树立了良好的典范。

Linux的应用现状和前景

Linux的应用范围主要包括桌面、工作站、服务器、嵌入式系统等方面。
桌面
工作站
服务器
嵌入式系统
Linux在桌面应用领域还处于推广阶段,在服务器、嵌入式系统和集群计算机领域,Linux非常具有竞争力,并已经建立起自己稳固的地位。


桌面
但是随着Linux技术,特别是随着X Window领域技术的发展,Linux在界面美观、使用方便等方面都有了长足的进步,Linux作为桌面操作系统逐渐被用户接受。
根据IDC的调查,2003年Linux桌面操作系统的市场份额比2000年几乎增长了2倍,并将超过苹果公司的Mac OS,成为第二大最流行的操作系统
在中国,由于《软件政府采购管理办法》中明确规定中国政府支持国产软件的政策导向,所以在北京等城市进行的政府采购中,国产Linux软件(如红旗Linux)战胜了其他对手,成为部分政府机关的桌面操作系统。这也极大地推动了Linux桌面系统的普及和应用。

服务器

Linux服务器的稳定性、安全性、可靠性已经得到业界认可,政府、银行、邮电、保险等业务关键部门已经开始规模性使用。作为服务器,Linux 的服务领域包括:
网络服务
文件和打印服务
数据库服务


嵌入式系统

概念:
概括而言,凡是带有微处理器的非计算机系统都可以称为嵌入式系统。
我们身边×××的电子产品,小到MP3、PDA等微型数字化产品,大到网络家电、智能家电、车载电子设备都采用嵌入式系统。


Linux的概念和主要特点

操作系统怎么来的?
没有操作系统时,只能通过按钮来控制硬件
后来出现汇编,可以通过指令(通常以打孔纸带为输入设备)来控制硬件
出现操作系统后,用户和硬件的沟通就有了舒服的桥梁了,应用软件的开发才日渐丰富
操作系统包含两个东西:内核和应用(外壳)

内核的主要功能:
进程调度(操作CPU)
内存管理(操作内存条)
文件系统(操作硬盘、磁带、光盘等)
驱动程序(操作声卡、显卡、网卡等)

Linux到底是啥子?
Linux就是一个操作系统,包括内核和外壳:
Linux操作系统与其他商业性操作系统最大的区别在于它的源代码完全公开。

Linux系统的主要特点
开放性:指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。
多用户:是指系统资源可以被不同用户使用,每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。
多任务:它是指计算机同时执行多个程序,而且各个程序的运行互相独立。
良好的用户界面 :Linux向用户提供了两种界面:用户界面和系统调用。Linux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。
设备独立性:是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。
Linux是具有设备独立性的操作系统,它的内核具有高度适应能力
提供了丰富的网络功能:完善的内置网络是Linux一大特点。 支持防火墙、路由器、代理服务器×××以及各种网络服务。
可靠的安全系统:Linux采取了许多安全技术措施,包括对读、写控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。
良好的可移植性:是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。
Linux内核可免费获得,并可根据实际需要自由修改,这符合嵌入式产品根据需要定制的要求。
Linux功能强大并且内核很小。一个功能完备的 Linux 内核只要求大约 1 MB 内存,而最核心的微内核只需要 100 K 的内存。
Linux支持多种开发语言,如C、C+ + 、Java,为嵌入式系统上的多种应用提供了可能。

Linux的功能与优缺点
Linux的缺点:
没有特定支持厂商
因为所有的软件都是免费的,自然也就没有专人会×××。不过,这点倒是不需要太担心,因为拜网络风行之赐,你要问的问题几乎在网络上都可以找到答案。主要看你有没有用心去找。
图形接口作的还不够好
图形接口对于熟手来说几乎没用,但是对于初学者却非常需要,甚至影响使用Linux的积极性。

Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,
一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改和无约束地继续传播。
另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。


Linux的版本

Linux不同于其他Unix变体的原因:
Linux只定义了一个内核,内核必须同命令、守护进程以及其他软件一起打包来组成一个可以使用的完整操作系统,这种打包就是Distribution,中文一般称为发行版本。
选择那种发行版本,完全依据自己的喜好来定。可以参考这些方面来考虑:
该发行版本在5年后能否继续存在?
该发行版本有最新的安全补丁吗?
该发行版本会迅速发布更新软件吗?
如果有问题,能够快速找到答案吗?
狭义的Linux是指Linux的内核(Kernel),它完成内存调度、进程管理、设备驱动等操作系统的基本功能,但是并不包括应用程序。
广义的Linux是指以Linux内核为基础,包含应用程序和相关的系统设定与管理工具的完整的操作系统。
Linux的版本号分为两部分:内核版本和发行版本。
Linux的内核版本号由3个数字组成,一般表示为X.Y.Z形
式,如2.4.18。其中:
X:表示主版本号,通常在一段时间内比较稳定。
Y:表示次版本号。如果是偶数,代表这个内核版本是正式版本(或称稳定的核心版本),可以用于实际的产品中;而如果是奇数,则代表这个内核版本是测试版本还不太稳定,功能也不完善,仅供测试。
Z:表示补丁的版本号,这个数字越大,则表明修改的次数越多,版本相对更完善。
Linux的发行版本就是Linux内核再加上外围的实用程序组成的一个大软件包而已。
相对于操作系统内核版本,发行版本的版本号是随发布者的不同而不同,与Linux系统内核的版本号是相对独立的,
例如:RedHat Enterprise Linux 5.2的操作系统内核是linux-2.6.18。
Linux的发行版本大体可以分为两类:
一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,
前者以著名的RedHat Linux为代表,后者以Debian为代表。

(1)RedHat Linux/Fedora
在众多Linux的发行版本中,Red Hat Linux是业内最富盛名,也是做得最出色的,在服务器市场占有80%的份额。
目前Red Hat Linux的发行版分为Fedora Core和Enterprise版两种。Fedora由Red Hat公司赞助,以社群主导、支持的方式来开发Linux的新发行版,主要提供给Liux业余人士使用。
Red Hat公司的研发重心主要放在Linux的商用企业服务器--Red Hat Linux Enterprise,该种发行版又细分为AS、ES和WS三种版本。
AS(Advanced Server)版:是Red Hat Linux家族最强大的版本,是专为企业关键业务提供服务的Linux解决方案,它内置HA/Cluster功能,适合运行数据库、中间件、ERP/CRM和集群/负载均衡系统等关键业务,支持各种平台的服务器,提供了最全面的支持服务。适合大型企业部门及数据中心使用。
ES(Entry Server)版:提供广泛的网络服务应用,适用中型企业部门应用。
WS(Workstation Server)版:是AS和ES版的桌面/客户端伙伴,提供了一个理想的开发平台,支持众多的开发工具,让用户高效快捷地开发自己的应用程序。

(2)SUSE
德国最著名的Linux发行版
(3)Debian
Debian系列,包括Debian和Ubuntu。Debian由Ian Murdock于1993年创建,是迄今为止最遵循GNU规范的Linux系统,是100%非商业化的社区类Linux发行版,由黑客自愿者开发和维护。
(4)Ubuntu
Ubuntu(乌班图)由开源厂商Canonical公司开发和维护。Ubuntu严格来说不能算一个独立的发行版本,Ubuntu是基于Debian的unstable版本加强而来,拥有Debian所有的优点。根据选择的桌面系统不同,Ubuntu有三个版本可供选择:基于Gnome的Ubuntu、基于KDE的Kubuntu以及基于Xfc的Xubuntu
5)RedFlag
RedFlag是北京中科红旗软件技术有限公司开发。


Linux的系统组成:内核;shell;应用程序
内核
内核(Kernel)是整个操作系统的核心,管理着整个计算机系统的软硬件资源,如CPU和内存。
Linux的内核源代码主要用C语言编写,只有部分与驱动相关的用汇编语言Assembly编写。
Linux内核采用模块化的结构,其主要模块包括:CPU和进程管理、存储管理、文件系统管理、设备管理和驱动、网络通信以及系统的引导、系统调用等。
各Linux发行版本的内核源代码通常安装在/usr/src/linux目录中,可供用户查看和修改。

Shell
Linux的内核并不能直接接受来自终端的用户命令,也就不能直接与用户进行交互操作,因此需要Shell这一交互式命令解释程序来充当用户和内核之间的桥梁。
当用户启动Linux,并成功登录到Linux后,系统就会自动Shell。从用户登录到用户退出登录,用户输入的每个命令都要由Shell接收,并由Shell去解释。
Shell不仅是一种交互式命令解释程序,而且还是一种程序设计语言,它跟MS-DOS中的批处理命令类似,但比批处理命令功能强大。
应用程序
Linux的应用程序主要来源于以下几个方面:
专门为Linux开发的应用程序,如gaim。
原来是UNIX的应用程序移植到Linux,如vi。
原来是Windows的应用程序移植到Linux,如RealOne播放器、Oracle等。


Red Hat Linux中部分常用的应用软件
软件类型 软件名称
办公软件 OpenOffice.org
文本编辑 vi、gedit、Emacs、X Emacs、Nedit、joe、pico、
开发工具 gcc、perl、java、python
图像处理 GIMP、GQview、Electric Eyes、GNOME Ghostview、ImageMagick、xpdf
多媒体工具 xmcd、xcdplayer、XMMS、GTV MPEG Player
刻录工具 Xcdroast、cdwrite、cdrecord
网络管理 Ethereal、xtraceroute、Traceroute、Network Configuration、Internet Configuration
游戏 FreeCell、Gnibbles、gataxx、Chess、xbill
Internet工具 Mozilla、gFTP、lynx、Licq、X-Chat IRC client
X窗口管理 Enlightenment、Sawfish、twm、Window Maker