第一次博客

来源:互联网 发布:淘宝登录页面代码 编辑:程序博客网 时间:2024/06/03 23:50

 一:Linux和Unix系统的关系和区别

        Linux和UNIX的最大的区别是,前者是开发源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件。这应该是他们最大的不同,这种不同体现在用户对前者有很高的自主权,而对后者却只能去被动的适应;这种不同还表现在前者的开发是处在一个完全开放的环境之中,而后者的开发完全是处在一个黑箱之中,只有相关的开发人员才能够接触的产品的原型。
 另外两大区别: 
  1) UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上. 
  2) UNIX是商业软件,而Linux是自由软件,免费、公开源代码的. 
  UNIX(5万美圆)而Linux免费 
  [历史] 
  Unix的历史久于linux. Linux的思想源于Unix 
  [产品] 
  unix和linux都是操作系统的名称.但unix这四个字母除了是操作系统名称外,还作为商标归SCO所有. 
  Linux商业化的有RedHat Linux 、SuSe Linux、slakeware Linux、国内的红旗等,还有Turbo Linux. 
  Unix主要有Sun 的Solaris、IBM 的AIX, HP的HP-UX,以及x86平台的的SCO Unix/Unixware 
  [其他区别] 
  linux的核心是免费的,自由使用的,核心源代码是开放的. 
  而unix的核心并不公开 
  在对硬件的要求上,linux比unix要低,没有unix那么苛刻.在安装上linux比unix容易掌握. 
  在使用上,linux相对没有unix那么复杂. 
  Unix多数是硬件厂商针对自己的硬件平台的操作系统,主要与CPU等有关,如Sun 的Solaris作为商用,定位在其使用SPARC/SPARCII的CPU的工作站及服务器上,当然Solaris也有x86的版本,而Linux也有其于RISC的版本。 
  但确切的讲,拿RISC上的Unix与x86上的Linux进行比较不太合适。 
  至于价格,个人使用的Linux基本上算是免费的,不同的Linux发行厂商针对企业级应用在基本的系统上有些优化,如RedHat的Enterprise产品,这些产品包括支持服务是比较贵的。 
  像IBM/HP/SUN的Unix,因为主要是针对其硬件平台,所以操作系统通常在设备价格中。(没有人单独去买一个Unix操作系统的) 
  在性能上,linux没有unix那么全面,但基本上对个人用户和小型应用来说是绰绰有余. 
  经常情况下,如果你有机会使用到Unix环境,比如银行、电信部门,那一般都是固定机型的Unix。比如电信里SUN的居多,民航里HP的居多,银行里IBM的居多。学习中,不同的Unix命令集有些不同,要注意。 
  至于学习,我看还是linux比较好学一点,而且现在喜欢和鼓捣linux的人也越来越多,各种有关linux的资料也很多.如果是自己想学习,那Linux或是BSD系统是不错的选择。一台x86的机器就可以。 
  应用上,除非是大型网站,一般企业或个人,使用Linux即可. 
  UNIX是一个功能强大、性能全面的多用户、多任务操作系统,可以应用从巨型计算机到普通PC机等多种不同的平台上,是应用面最广、影响力最大的操作系统。 
  Linux是一种外观和性能与UNIX相同或更好的操作系统,但,Linux不源于任何版本的UNIX的源代码,并不是UNIX,而是一个类似于UNIX的产品。Linux产品成功的模仿了UNIX系统和功能,具体讲Linux是一套兼容于System V以及BSD UNIX的操作系统,对于System V来说,目前把软件程序源代码拿到Linux底下重新编译之后就可以运行,而对于BSD UNIX来说它的可执行文件可以直接在Linux环境下运行。 
  一般说,Linux是一套遵从POSIX(可移植操作系统环境)规范的一个操作系统,它能够在普通PC计算机上实现全部的UNIX特性,具有多任务、多用户的能力。Linux受到广大计算机爱好者的喜爱的另一个主要原因是,它具有UNIX的全部功能,任何使用UNIX操作系统或想要学习UNIX操作系统的人都可以从Linux中获益。 
  在网络管理能力和安全方面,使用过Linux的人都承认Linux与UNIX很相似。UNIX系统一直被用做高端应用或服务器系统,因此拥有一套完善的网络管理机制和规则, Linux沿用了这些出色的规则,使网络的可配置能力很强,为系统管理提供了极大的灵活性。 



折叠二:Linux诞生过程


Linux 操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU 计划、POSIX 标准和Internet 网络
林纳斯·托瓦兹

1981 年IBM公司推出微型计算机IBM PC

1981-1991 年间DOS操作系统一直是微机上操作系统的主宰此时计算机硬件价格虽逐年下降但软件价格仍居高不下当时Apple 的Mac OS 操作系统可以说是性能最好的但是其天价没人能够轻易靠近

1991 年GNU 计划已经开发出了许多工具软件最受期盼的Gnu C 编译器已经出现但还没有开发出免费的GNU 操作系统即使是MINIX 也开始有了版权需要购买才能得到源代码而GNU 的操作系统HURD 一直在开发之中但并不能在几年内完成对于林纳斯·托瓦兹来说已经不能等待了

1991 年4 月他开始酝酿并着手编制自己的操作系统刚开始他的目的很简单只是为了学习Intel 386 体系结构保护模式运行方式下的编程技术但后来Linux 的发展却完全改变了初衷

1991 年初林纳斯·托瓦兹开始在一台386sx 兼容微机上学习minix 操作系统通过学习他逐渐不能满足于minix 系统的现有性能并开始酝酿开发一个新的免费操作系统根据Linux 在comp.os.minix 新闻组上发布的消息可以知道他逐步从学习minix 系统到开发自己的Linux 的过程

1991 年的4 月份开始林纳斯·托瓦兹几乎花了全部时间研究386-minix系统(hack the kernel)并且尝试着移植GNU 的软件到该系统上(GNU gcc、bash、gdb 等)

1991 年4 月13 日在comp.os.minix 上发布说自己已经成功地将bash 移植到了minix 上而且已经爱不释手、不能离开这个shell 软件了

1991 年7 月3 日第一个与Linux 有关的消息是在在comp.os.minix 上发布的(当然此时还不存在Linux 这个名称当时林纳斯·托瓦兹的脑子里想的可能是FREAX FREAX 的英文含义是怪诞的、怪物、异想天开等)其中透露了他正在进行Linux 系统的开发并且在Linux 最初的时候已经想到要实现与POSIX(UNIX 的国际标准)的兼容问题了林纳斯·托瓦兹林纳斯·托瓦兹

1991 年8 月25 日在林纳斯·托瓦兹的下一发布的消息中他向所有minix 用户询问"What would you like to see in minix?"("你最想在minix 中见到什么")在该消息中他首次透露出正在开发一个(免费的)386(486)操作系统并且说只是兴趣而已代码不会很大也不会象GNU 的那样专业开发免费操作系统这个想法从4 月份就开始酝酿了希望大家反馈一些对于minix 系统中喜欢那些特色不喜欢什么等信息由于实际的和其它一些原因新开发的系统刚开始与minix 很象(并且使用了minix 的文件系统)并且已经成功地将bash(1.08 版)和gcc(1.40 版)移植到了新系统上而且再过几个月就可以使用了林纳斯·托瓦兹申明他开发的操作系统没有使用一行minix 的源代码而且由于使用了386 的任务切换特性所以该操作系统不好移植(没有可移植性)并且只能使用AT 硬盘对于Linux 的移植性问题林纳斯·托瓦兹当时并没有考虑但是Linux 几乎可以运行在任何一种硬件体系结构上

1991 年的10 月5 日林纳斯·托瓦兹在comp.os.minix 新闻组上发布消息正式向外宣布Linux 内核系统的诞生(Free minix-like kernel sources for 386-AT)这段消息可以称为Linux 的诞生宣言并且一直广为流传因此10 月5 日对Linux 社区来说是一个特殊的日子许多后来Linux 的新版本发布时都选择了这个日子所以RedHat 公司选择这个日子发布它的新系统也不是偶然的




三:GUN计划简介


GNU计划,有译为“革奴计划”,是由理查德·斯托曼在1983年9月27日公开发起的,它的目标是创建一套完全自由的操作系统。 理查德·斯托曼最早是在net.unix-wizards新闻组上公布该消息,并附带一份《GNU宣言》等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。 

GNU是“GNU's Not UNIX”的递归缩写,为避免与gnu(非洲牛羚,发音与“new”相同)这个单词混淆,斯托曼宣布GNU应当发音为“Guh-NOO”(/ˈgnuː/ (帮助·关于)),与“canoe”发音相似。 

UNIX是一种广泛使用的商业操作系统的名称。由于GNU将要实现UNIX系统的接口标准,因此GNU计划可以分别开发不同的操作系统。GNU计划采用了部分当时已经可自由使用的软件,例如TeX排版系统和X Window视窗系统等。不过GNU计划也开发了大批其他的自由软件,这些软件也被移植到其他操作系统平台上,例如Microsoft Windows、BSD家族、Solaris及MacOS。

为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都包含一份在禁止其他人添加任何限制的情况下,授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL)。这个就是被称为‘公共版权’的概念。GNU也针对不同场合,提供GNU宽通用公共许可证(与GNU自由文档许可证这两种协议条款。


四:GPL协议简介

GPL,是General Public License的缩写,是一份GNU通用公共授权非正式的中文翻译。它并非由自由软件基金会所发表,亦非使用GNU通用公共授权的软件的法定发布条款─只有GNU通用公共授权英文原文的版本始具有此等效力。



POSIX 标准

1003.0 
  管理 POSIX 开放式系统环境(OSE)。IEEE 在 1995 年通过了这项标准。 ISO 的版本是 ISO/IEC 14252:1996。 
  1003.1 
  被广泛接受、用于源代码级别的可移植性标准。1003.1 提供一个操作系统的 C 语言应用编程接口(API)。IEEE 和 ISO 已经在 1990 年通过了这个标准,IEEE 在 1995 年重新修订了该标准。 
  1003.1b 
  一个用于实时编程的标准(以前的 P1003.4 或 POSIX.4)。这个标准在 1993 年被 IEEE 通过,被合并进 ISO/IEC 9945-1。 
  1003.1c 
  一个用于线程(在一个程序中当前被执行的代码段)的标准。以前是 P1993.4 或 POSIX.4 的一部分,这个标准已经在 1995 年被 IEEE 通过,归入 ISO/IEC 9945-1:1996。 
  1003.1g 
  一个关于协议独立接口的标准,该接口可以使一个应用程序通过网络与另一个应用程序通讯。 1996 年,IEEE 通过了这个标准。 
  1003.2 
  一个应用于 shell 和 工具软件的标准,它们分别是操作系统所必须提供的命令处理器和工具程序。 1992 年 IEEE 通过了这个标准。ISO 也已经通过了这个标准(ISO/IEC 9945-2:1993)。 
  1003.2d 
  改进的 1003.2 标准。 
  1003.5 
  一个相当于 1003.1 的 Ada 语言的 API。在 1992 年,IEEE 通过了这个标准。并在 1997 年对其进行了修订。ISO 也通过了该标准。 
  1003.5b 
  一个相当于 1003.1b(实时扩展)的 Ada 语言的 API。IEEE 和 ISO 都已经通过了这个标准。ISO 的标准是 ISO/IEC 14519:1999。 
  1003.5c 
  一个相当于 1003.1q(协议独立接口)的 Ada 语言的 API。在 1998 年, IEEE 通过了这个标准。ISO 也通过了这个标准。 
  1003.9 
  一个相当于 1003.1 的 FORTRAN 语言的 API。在 1992 年,IEEE 通过了这个标准,并于 1997 年对其再次确认。ISO 也已经通过了这个标准。 
  1003.10 
  一个应用于超级计算应用环境框架(Application Environment Profile,AEP)的标准。在 1995 年,IEEE 通过了这个标准。 
  1003.13 
  一个关于应用环境框架的标准,主要针对使用 POSIX 接口的实时应用程序。在 1998 年,IEEE 通过了这个标准。 
  1003.22 
  一个针对 POSIX 的关于安全性框架的指南。 
  1003.23 
  一个针对用户组织的指南,主要是为了指导用户开发和使用支持操作需求的开放式系统环境(OSE)框架 
  2003 
  针对指定和使用是否符合 POSIX 标准的测试方法,有关其定义、一般需求和指导方针的一个标准。在 1997 年,IEEE 通过了这个标准。 
  2003.1 
  这个标准规定了针对 1003.1 的 POSIX 测试方法的提供商要提供的一些条件。在 1992 年,IEEE 通过了这个标准。 
  2003.2 
  一个定义了被用来检查与 IEEE 1003.2(shell 和 工具 API)是否符合的测试方法的标准。在 1996 年,IEEE 通过了这个标准。


0 0
原创粉丝点击