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

相关推荐

  • 看了还想看—普通权限及umask

        权限在操作系统是尤为重要的,无论是windows和linux中,都少不了权限这么一说,权限的大小决定了你能操作些什么,在linux中,权限对目录和文件的意义是不同的,并且还有特殊权限。今天,我们就来说说一说权限在linux中的重要性以及权限操作命令。     权限:权限决…

    Linux干货 2016-08-03
  • mysqld_multi 多实例部署

    序言:多实例?Why?   随着硬件层面的发展,linux系统多核已经是普通趋势,而mysql是单进程多线程,所以先天上对多进程的利用不是很高,虽然5.6版本已经在这方面改进很多,但是也没有达到100%,所以为了充分的利用系统资源,mysql有自己的补充,那就是可以部署多实例,一个实例一个端口。     1,准备好mysql环境…

    2017-11-16
  • 推荐-VSftpd使用MySQL存储虚拟用户进行认证

    VSftpd使用MySQL存储虚拟用户进行认证 VSftpd使用MySQL存储虚拟用户进行认证 前言 实验拓扑 实验环境 实验步骤 安装vsftpd并测试 安装MySQL并创建对应用户和表 配置vsftpd基于MySQL表的虚拟用户 测试 测试tom用户的权限 测试anyisalin用户的权限 总结 前言 周一的时候做这个实验失败了,当时以为是pam_mys…

    Linux干货 2016-04-04
  • Linux发展历史与基础知识

    工具: 亿图 CRT 思维图工具-Dream VPS-搬瓦工,亚马逊云,阿里云 网站: 阿里云-help.aliyun.com 企业新闻-36kr.com lnmp.org-如何配置web服务 中关村在线-zol.com:看服务器设备 计算机组成: 硬件,软件。 CPU类型 ·x86 ·x64 ·ARM ·m68k(moto) ·power ·Ultrasp…

    Linux干货 2017-03-26
  • 第二周博客作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理类命令:cp,mv,rm 常用的使用方法: cp命令: 单源复制: cp [OPTION]…[-T] SOURCE DEST 多源复制: cp [OPTION]… SOURCE …DIRECTORY cp [OPTION]… …

    Linux干货 2017-02-06
  • htop使用详解

        在管理进程时通常要借助一些工具,比较常用的就是ps和top了;不过CentOS还为我们提供了一个更加强大的工具htop,下面就来了解一下此工具的使用方法。 一、安装htop         htop工具在epel源中提供,请自行配置epel源,也可以直…

    Linux干货 2015-05-18