Linux的发展史

引言:

开源是什么?什么是Unix Linux ?这两种操作系统又有什么关联?

   大家当前在用最常见的电脑系统是眼前的Windows ,但为何我们要花学习Linux 的发展史?

通过下面的介绍,我们能大致了解互联网发展的一些问题,以及LinuxUnix的基本概念、历史、发展情况。

一、操作系统介绍

内核(kernel)负责控制硬件资源分配,而如果只有内核,则只能让计算机硬件运行,而不能有任何功能,因此需要系统调用提供给开发者使用,从而开发应用程序;

内核能够控制硬件,比如:让CPU可以运算、让硬盘可以读写数据等;只有内核的话,只能让计算机运行,但是我们不能控制计算机;

而系统调用是操作系统提供给开发者的调用接口;任何硬件都不会默认就被操作系统控制,而需要开发商根据操作系统提供的接口开发驱动程序,只有安装了驱动程序才能够控制硬件设备;

其实 Linux 就是一个操作系统,这个操作系统里头含有最主要的 kernel 以及 kernel 提供的工具啦!他提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构,软件开发者将他们的工作心血转移到这个架构上,那就是很多的应用软件啦!虽然Linux仅是其核心与核心提供的工具,不过由于核心、核心工具与这些软件开发者提供的软件的整合,使得Linux成为一个更完整、功能更强大的操作系统咯!我们可以将 Linux 的系统与使用者的相关性看成底下的图示:

Linux的发展史http://my.csdn.net/uploads/201208/06/1344234595_4186.GIF

 

二、Linux、Unix历史

早在20世纪60年代初期,MIT(麻省理工学院)开发所谓的兼容分时操作系统(Compatible Time-Sharing System),支持30台终端访问主机。主机负责运算,而终端负责输入输出。架构有点向这样:Linux的发展史

http://my.csdn.net/uploads/201208/06/1344234699_9093.GIF

在1965年,Bell实验室、MIT、GE(通用电气公司)准备开发 Multics系统,为了同时支持300个终端访问主机,但是1969年失败了;

  刚开始并没有鼠标、键盘,输入设备只有卡片机,因此如果要测试某个程序,则需要将读卡纸插入卡片机,如果有错误,还需要重新来过;

   注:Multics:Multiplexed Information and Computing Service多路传输信息和计算业务)

1969年,Ken Thompson(C语言之父)利用汇编语言开发了FIle Server System(Unics,即Unix的原型)但因为汇编语言对于硬件的依赖性,因此只能针对特定硬件。据说当时的Thompson只是为了移植一款叫“太空旅游”的游戏,才开发的这款操作系统,哈哈!

1973年,Dennis Ritchie和Ken Thompson发明了C语言,而后写出了Unix的内核,他们将那个操作系统以B语言改成C语言编写,最后发行出Unix的正式版本

  Unix90%的代码是C语言写的,10%的代码用汇编写的,因此只要修改那10%的代码,就可以移植到其他硬件上。

1977年,Berkeley大学的Bill Joy针对他的机器修改Unix源码,称为BSD(Berkeley Software Distribution),这个 BSD 是 Unix 很重要的一个分支, Bill Joy也是 Unix 业者『 Sun 』这家公司的创办者! Sun 公司即是以 BSD 发展的核心进行自己的商业Unix 版本的发展的。

1979年,由于 Unix 的高度可移植性与强大的效能,加上当时并没有版权的纠纷, 所以让很多商业公司开始了 Unix 操作系统的发展,例如 AT&T 自家的 System V、IBM 的 AIX 以及 HP 与 DEC 等公司,都有推出自家的主机搭配自己的 Unix 操作系统。;

1984年,因为Unix规定:“不能对学生提供源码”,Tanenbaum老师自己编写兼容于Unix的Minix,用于教学;同年,Stallman开始GNU(GNU's Not Unix)项目,创办FSF(Free Software Foundation)基金会,FSF基本内容如下:

   ~ 开发产品:GCC、Emacs、Bash Shell、GLIBC;

   ~ 倡导“自由软件”;

   ~ GNU的软件缺乏一个开放的平台运行,只能在Unix上运行;

   ~ 自由软件指用户可以对软件做任何修改,甚至再发行,但是始终要挂着GPL的版权;

   ~ 自由软件是可以卖的,但是不能只卖软件,而是卖服务、手册等;

1985年,为了避免GNU开发的自由软件被其他人用作专利软件,因此创建GPL(General Public License)版权声明;

1988年,MIT为了开发GUI,成立了XFree86的组织; 

1991年,芬兰赫尔辛基大学的研究生Linus Torvalds基于gcc、bash开发了针对386机器的Lniux内核; 

1994年,Torvalds发布Linux-v1.0;

1996年,Torvalds发布Linux-v2.0,确定了Linux的吉祥物:企鹅; 

三、Linux的优缺点

目前 Linux已经是相当成熟的一款操作系统了,由于他的系统硬件要求很低,而且不耗资源又可以自由取得,这也是造成 Linux 成为最近几年来最受瞩目的操作系统之一。Linux的主要优点有以下几种:

1、稳定的系统:

Linux 本来就是基于 Unix 概念而发展出来的操作系统,因此, Linux 具有与 Unix 系统相似的的程序接口跟操作方式,当然也继承了 Unix 稳定并且有效率的特点。

2、免费或少许费用:

由于 Linux 是基于 GPL 的基础下的产物,因此任何人皆可以自由取得 Linux , 至于一些『安装套件』的发行者, 他们发行的安装光盘也仅需要些许费用即可获得!

3、安全性、漏洞的快速修补:

  Linux 由于支持者日众,有相当多的热心团体、个人参与其中的开发, 因此可以随时获得最新的安全信息,并给予随时的更新,亦即是具有相对的较安全!

4、多任务、多使用者:

与 Windows 系统不同的, Linux 主机上可以同时允许多人上线来工作, 并且资源的分配较为公平。你可以在一部 Linux 主机上面规划出不同等级的使用者,而且每个使用者登入系统时的工作环境都可以不相同,此外,还可以允许不同的使用者在同一个时间登入主机,以同时使用主机的资源。

5、使用者与群组的规划:

在 Linux 的机器中,档案的属性可以分为『可读、可写、可执行』 等参数来定义一个档案的适用性,此外,这些属性还可以分为三个种类, 分别是档案拥有者、档案所属群组、其它非拥有者与群组者。 这对于项目计划或者其它计划开发者具有相当良好的系统保密性。

6、相对比较不耗资源的系统:

Linux 只要一部 p-100 以上等级的计算机就可以安装并且使用愉快啰!还不需要到 P-4 或 AMDK8 等级的计算机呢!不过,如果你要架设的是属于大型的主机(服务上百人以上的主机系统),那么就需要比较好一点的机器了。不过,目前市面上任何一款个人计算机均可以达到这一个要求

7、适合需要小核心程序的嵌入式系统:

由于 Linux 只要几百 K 不到的程序代码就可以完成一个完整的操作系统, 因此相当适合于目前家电或者是小电子用品的嵌入式操作系统。

当然,Linux也存在没有特定的支持厂商和图形接口做的不过好等不足之处,不过相对于这么多的优点,这些不足也就无关痛痒啦!等大家学习好Linux之后在以后或许能够自己弥补这些不足之处呢!

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

(0)
lyxlyx
上一篇 2016-10-19
下一篇 2016-10-19

相关推荐

  • linux基础入门之一

    一、计算机的组成与功能 计算机由硬件和软件组成 硬件: 按冯·洛伊曼体系划分 1、CPU:包括运算器、控制器、寄存器、缓存,对数据控制和计算 2、存储器:内部存储器、外部存储器,对数据提供存储功能 3、输入设备:具有下指令,提供数据输入 4、输出设备:输出数据加工的结果 软件: 1、低级语言:汇编语…

    Linux干货 2016-09-19
  • 马哥教育的第一天

    春天的北京,比想象中的更加温暖,跨越一千三百公里的距离,我来到马哥教育位于北京昌平区的校区,传说中的春寒料峭似乎遗忘了北京,自湖北出门的时候,车外还是淅淅沥沥的小雨,到达北京,迎接我的却是春风拂面熏人醉。 安顿了两天之后,我们三十期的开班典礼在三月二十六号早上的九点钟准时开始,由云珍老师主持,传说中的马哥、王老师、张sir、宗华老师纷纷登台致辞,分别从运维工…

    2018-03-26
  • 文件查找find和locate

            在Linux这个一切皆文件的系统中怎么能快速和精确的查找到文件,是我们必不可少的技能。而文件查找的命令可以让我们在很短的时间内在文件系统中找到我们要查找的文件。这就是我们要掌握的,因此我来介绍一下文件查找的这两个命令locate和find。 文件查找:在文件系统上…

    Linux干货 2016-08-24
  • python 10第二周博客作业

    1.取磁盘利用率:cut -d命令 df|tr –s  ‘ ’   ‘%’ |cut –d “%” –f5正则表达式:df -h |grep “^/dev/sd” |grep -o “[[:digit:]]\+%”|grep -o “[[:digit:]]\+”2. paste 合并两个…

    Linux干货 2018-03-17
  • Linux下文件权限管理轻微总结

    Linux下文件权限管理轻微总结       此文对linux下文件的权限及其如何管理权限进行介绍,涉及到读“r”写“w”执行“x”三个权限,特殊权限SUID、SGID、STICKY、ACL、attr的使用。同时对更改文件的指令chmod、getfacl、setfacl、chattr、lsattr等进行说明。  &nb…

    Linux干货 2016-11-07
  • 循环语句

    冯罗伊曼体系架构 1. 输入设备 2. 输出设备 3. 存储器 4. 运算器 5. 控制器 转义序列:\\, \t , \r , \n , \”,  \’ Python:是动态语言,强类型语言 算数运算符 + – */ % ** /是自然除,//是整除 位运算符 & |  ~  ^  <<  >> 原码 5=&gt…

    Linux干货 2018-03-26