Linux发展史

Linux 操作系统是UNIX操作系统的一种克隆系统。它诞生于1991年的10月5日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并经过全世界各地计算机爱好者的共同努力下,现已成为今天世界上使用最多的一种UNIX类操作系统,并且使用人数还在迅猛增长。下文简要介绍了Linux发展史。

1969年,美国贝尔实验室的Ken.Thompson和Dennis Ritchie在DEC PDP-7小型计算机上开发出一个分时操作系统-UNIX操作系统。当时Ken Thompson 为了能在闲置不用的PDP-7 计算机上运行他非常喜欢的星际旅行(Space travel)游戏,在1969年他花了一个月时间开发出了unix 操作系统的原型。当时使用的是BCPL 语言(基本组合编程语言),后经Dennis Ritchie 于1972 年用移植性很强的C语言进行了改写,使得UNIX系统在大专院校得到了推广。最开始Unix的原名是Unics,后来改名为Unix。

1979年,AT&T宣布了Unix的商业化计划,使软件业成为一种版权专有式的产业,围绕程序开发的那种创新活动被局限在某些骨干企业的小圈子里,源码程序视为核心"商业机密"。这种做法,一方面产生了大批的商业软件,极大的推动了软件业的发展,诞生了一批软件巨人;另一方面,由于封闭式的开发模式,也阻碍了软件业的进一步深化和提高。由此,人们为商业软件付出了巨大的财力。

1984年,Richard Stallman面对程序开发的封闭模式,发起一项国际性的源代码开放的GNU计划,力图实现开源的梦想。他为保护源代码开放的程序库不会再度受到商业性的封闭式利用,制定GPL条款。

1985年,Richard Stallman成立了一个自有软件基金会(Free Software Foundation-FSF),目的是执行GNU计划,开发更多的自由软件,实现免费获取、随意使用、再修改和开发。

1987年,荷兰Amsterdam 的Vrije大学教授Andrew S. Tanenbaum(AST)开发出了MINIX 系统,主要用于学生学习操作系统原理。当时该操作系统在大学使用是免费的。后来MINIX 也开始有了版权,需要购买才能得到源代码。

1989年,他制定了《GNU通用公共协议证书》,即GPL条款正式面世。

1991年,由于替代Unix内核的HURD仍只能在实验室等小范围内适用,所以最终HURD自身的开发过于严谨,扩展性不强,没用获得市场认可。Andrew S.Tanenbaum的GNU计划已经开发出了许多工具软件。最受期盼的GNU C编译器已经出现,但还没有开发出免费的GNU操作系统。

1991年8月Linus Benedict Torvalds宣布Linux项目:FREAX系统发布,即后来的Linux操作系统。他成功移植GNU 的软件到该系统上(GNU gcc、bash、gdb 等),同时也是一款免费、实用性很强的系统。

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

Richard Stallman博士后来要求Linus Benedict Torvalds将Linux系统改名为GNU/Linux,它的开源和免费使得世界更多的人和公司使用他们的操作系统。

原创文章,作者:galway,如若转载,请注明出处:http://www.178linux.com/51626

(1)
galwaygalway
上一篇 2016-10-17
下一篇 2016-10-17

相关推荐

  • apache服务器

    一、改变网页的默认位置 1、修改DocumentRoot和Directory,修改新的存放路径为/data/htdocs/ 2、创建/data/htdocs/index.html,注意权限问题 3、注意报错You don't have permission to access /index.html,此时去查看SElinux的状态。命令selinu…

    Linux干货 2016-10-09
  • shell脚本编程3

    补充,shift使用方法 root@localhost wang]# cat jiaoben1.sh  #!/bin/bash echo "$1" echo "$*" shift echo "$1" echo &quot…

    Linux干货 2016-08-24
  • N28-第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。

    2、编辑/etc/group文件,添加组hadoop。

    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。

    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。

    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。

    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;

    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;

    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;

    9、找出/etc/passwd文件中的一位数或两位数;

    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    Linux干货 2017-12-26
  • 内核及模块管理

    内核及模块管理基础 查询程序的依赖库 ldd命令ldd [OPTION]…FILE…     [root@centos6 ~]# ldd /bin/ls         linux-vd…

    Linux干货 2016-09-19
  • N21-北京-兔锅-马哥教育网络班21期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。    who | cut -d' ' -f1 | uniq   2、取出最后登录到当前系统的用户的相关信息。    who | ta…

    系统运维 2016-07-07
  • Linux软件包管理与实例

    Linux系统的早期,编译是利用程序代码生成可执行文件的过程的手动编译。虽具有一定优势,但是专业知识要求高,不利于实际操作。因此出现了许多软件包管理器,最具代表的是由Red Hat 推出的RPM。Yum则有利于解决linux安装软件时的依赖性。 所谓依赖性,就是linux系统中的软件将不同的功能模块单独写入到不同的软件包中,最后将多个相互依存的软件包结合起来…

    2017-08-13