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 14:16
下一篇 2016-10-19 14:17

相关推荐

  • Linux启动之GRUB详解

    GRUB 在BIOS读取先关信息之后,接下来就是去第一个可以启动的设备当中的MBR中读取Boot loader信息,bootloader具有菜单功能、直接加载内核信息,以及相关控制权限转交功能。所以说系统的启动必须有bootloader,然后才能去加载内核 grub:GRand Unified Bootloader  …

    Linux干货 2016-09-15
  • Nginx代理MogileFS并实现负载均衡和高可用

    Nginx代理MogileFS并实现负载均衡和高可用 MogileFS nginx 负载均衡 前言 实验拓扑 实验环境 实验步骤 配置MogileFS 配置Nginx 总结 前言 上篇文章我们了解分布式系统和MogileFS的基本使用, 但是那样的架构是有问题的, 本篇文章我们来了解一下如何使用nginx-mogilefs-module-…

    大数据运维 2016-05-05
  • 博客作业1

    一、linux 常用文件管理命令有哪些?其常用使用方法及相关实例演示 1、文件操作命令 (1).pwd       功能:显示当前目录       实例:     #pwd (2).cd           功能:改变当前目录 …

    Linux干货 2016-06-23
  • 压缩和解压缩总结

                      压缩和解压缩的命令很多,今天总结如下: gzip  压缩比1–9  默认是6  压缩比越高  耗费CPU资源也多,文件比较小的话,不建议使用gzip压缩,因为使用gzip越压缩越大。…

    Linux干货 2017-04-17
  • Redis学习手册(持久化)

    一、Redis提供了哪些持久化机制:     1). RDB持久化:     该机制是指在指定的时间间隔内将内存中的数据集快照写入磁盘。         2). AOF持久化:     该机制将以日志…

    Linux干货 2015-02-25
  • Hadoop hdfs 分布式文件系统

    Hadoop简介:一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件…

    Linux干货 2015-08-05