谢烟客-----Linux的发展史

框架

1)Multics (GE,MIT,Bell)

2)UNIX(Ken,Denis Ritch)

3)BSD(Bill joy,BSRG)

4)CP/M

5)Microsoft (Billgates,美国西亚图)

6)苹果(Jobs,美国西亚图)

7)Windows

8)OpenBSD,FreeBSD,NetBSD (首个PC兼容机的正统UNIX)

9)SUN公司(Solaris)

10)Windows NT

11)Minix (Andrew) 欧洲荷兰大学

12)Linux (Linus) 欧洲赫尔辛基大学

13)MIT Ritch Stallman (GNU,GPL)

故事

1964年,贝尔实验室与麻省理工学院以及通用电气公司联合开发的Multics系统项目。

1969年,因MULTICS项目的工作进度过于缓慢,最后终究遭裁撤的命运,贝尔实验室退出此项目。

贝尔实验室退出Multics计划后,在开发Multics系统期间Ken编写了一个名为“Space Travel”的游戏。后来贝尔实验室撤出了Multics计划。不能在免费使用Multics系统。

Ken向bell实验室的领导申请一台计算机,要开发一个游戏,领导肯定不乐意了。一日游荡于bell实验室,在布满灰尘的破布下面发现一台pdp7主机,Ken就仿照Multics内核重新用汇编语言写了一个内核,并且成功移植了"Space Travel"。

Ken向实验室的人推广自己的游戏,然而都并不对他的游戏感兴趣,都对他的内核感兴趣,要求移植一个内核,由于用汇编语言所写的内核,与硬件紧密相关,移植困难,不过移植成功了。他的同事戏谑地称之为”Unix“,与Multics相对,他的同事”丹尼斯·里奇 Dennis Ritchie,说用一种高级语言重写Unix内核,方便移植,Ken同意了,这对当时来说,是一个很大胆的想法,高级语言所有的程序,CPU难于理解,性能没有汇编语言的好。他们基于b语言增加指针和静态变量,开发出C语言,重写了Unix内核。

1974年,联合发表在美国计算机通信杂志:UNIX内核,当时每年一度的全国各地的科学家、教授都会去参加这个会议,他们听到这个UNIX后,都希望得到一份用于研究,当时的 美国AT&T公司的贝尔实验室是电话电报,美国反陇断法规定任何除了电话电报之外的贝尔实验室的都不能收费,所以Ken和Dennis Ritchie不得不,不情愿的提供给他们

在Bell实验室有重大贡献的人,每年都有一次年休,Ken在1975年休假时,并回到了他的母校加州大学伯克利分校。在那里,之前也获得过UNIX系统,有个叫Bill joy的人成立了一个小组叫BSRG,专门研究UNIX,由于Ken到了,所以"加州大学伯克利分校"成了研究的领头羊。

美国军方DARPA,需要能在网络上传输数据报文的协议,TCP/IP协议,又想不是闭源的,当时的dec公司也有属于自己的系统vax(vms),就找到bill joy,bill joy就基于UNIX系统和小组研发的一些程序打包成为一个新的系统BSD,并且打开售卖。

UNIX的Ken和Dennis Ritchie知道了,在Bell实验室分拆后,UNIX就开始和BSD打官司,"你该卖还是我该卖?""你应该赔我多少钱?"原生的UNIX的名字叫system V,这一场官司持续了10年之久。

80年时,IBM和康柏公司,生产PC兼容机,CPU是8060,8080,内核CP/M是美国科学家“加里·基尔达尔“Gary Arlen Kildall所创建。

当时一个主机3-4万,系统2-3万,普通人几乎没有能力去承受这个价格的,它们也需求一个廉价的系统。

当时UNIX系统并没有向PC兼容机移植,PC兼容机,刚出现,性能不咋的,UNIX用高级语言研发,对机器性能要不高,UNIX也不屑于向一个非常丑陋的机器上移植。

81年,美国西亚图的小公司,bill gates 开始卖BASIC编程语言,和封装发行UNIX取名,XENIX

不到几个月,他的朋友bob ali 的公司的一个小程序员用6周时间写了一个叫QDOS(Quick and Dirty Operating System),能运行在PC兼容机上,bill gates 敏锐的发现了这个商机,就通过自己的母亲,IBM董事会的董事长的关系找到IBM的董事长沃森,告诉他,"我有一个能运行在PC兼容机的系统,不收费,只要卖出一个系统给我几美分的授权费即可",沃森觉得这有前景、看在他母亲的面子上,就答应了bill gates 签了合同,bill gates此时仍然自己的系统,就托朋友花了5万美元买断那个小程序员的操作系统,程序员一听"我花了几周研发的系统,你们一群疯子,花5买,连忙忙不迭的答应",bill gates和bob  ali 拿到系统后对系统敲敲打打,叫做"dos"系统。

由于系统便宜了,很多人,都能买的起这个系统了,bill gates的生意也很好,直到另外3个人的出现。

美国西亚图,jobs,成立了一个公司,叫苹果公司,力图生产超越PC兼容的机器,机器在名为苹果机,用的是unix系统

jobs到Xerox PARC公司看到了图形程序和鼠标,心中预感这个东西将来必火,就找到PARC的领导,领导对这个东西非常厌恶(施乐是生产打印机的,别人都用图形程序显示文本了,谁还用打印机,作为输出设备?),就用很低的价格买到手了。

bill gates听说了,感觉到了危机,就找到乔布斯,说"你看你的研发团队那么忙,也没有研究出什么成果,不如我也来帮你研发,研发成果都是你的“乔布斯就给了他一份系统,不是完整的。

bill gates拿到系统后,回到公司让自己的研发团队研发,基于DOS + 图形程序,叫做 windows,并用更低的价格撬走了jobs的一个准备购买图形的unix系统的主机生产商,乔布斯就大骂"bill gates是小偷" bill gates就告诉他:”你能从我的代码找到属于你的程序的痕迹吗?" 当初Jobs并没有给所有图形程序的代码,他们边研发边修改,其内部完全都不一样了。

bill gates又赚到很多,

BSD和UNIX还在打官司,有程序员转向BSD,又转向UNIX,有的已经放弃了UNIX,UNIX此时被NOVALL收购,novall也很为难,就说你们把属于我的代码还给我,就行了。

BSD将所有UNIX的代码还给了UNIX,当然BSD的研究小组BSRG也在此时解散了,有的成员不甘心,就研发出能在PC兼容机上运行的首个UNIX的正统UNIX系统,OpenBSD,FreeBSD,NETBSD

在BSD小组接受DARPA的项目时,斯坦福捐给了CPU的精巧的指令集,Bill joy和另外几个人,成立了一家公司,Sun,用的是自己的系统BSD,后来System V打官司,为了避免纠纷就改用UNIX,并移植到自己的硬件上,经过特殊的优化后叫做"Solaris"

dec公司生产pdp7 pdp11小型机和vax,当ken在pdp7上实现了unix内核后,并且非常流行,所有买vax的买家都要求安装unix内核,vax本身安装的自己所独有的内核vms,一开始就不卖,到后来,"不装不买,不卖不行",后来公司越来越不行了,被康白收购,康柏被惠普收购。

公司被收购后,研发vms内核的一群程序员都没有工作了,被bill gates发现,将它们拉到微软公司,说:“来跟我干,大秤分金,大口吃肉,大碗喝酒”,于是到了微软公司后,基于vms内核和图形程序开发出了,windowsnt,vms服务器本身就有服务功能,并且是图形化的,所以当这个系统出来后,一年之内,当时的novall公司的服务器的市场份额被夺去半壁江山,两年之后,novall的服务器,销声匿迹了。

在UNIX开始收费时,所有曾经使用UNIX的大学将不能在免费使用UNIX了,其中有一位教授是 欧洲荷兰 Andrew 就自己用4000行代码写了一个操作系统,名为Minix,驱动程序用汇编所写的,当时许多黑客比较看好Minix系统,所有上课的学生都要手动为自己的电脑硬件编译驱动,有的学生甚至写了许多驱动,告诉教授要为他完善Minix,教授说:"不能用你们的代码污染我的系统",教授到欧洲各地任教,在芬兰赫尔辛基大学任教时,Linus也是这其中的一位,在Linus20岁生日时,他的外公送给他一个80386主机,1991年8月25日,他在上面实现了LINUX,并发布到网上,说:“我不像那个怪老头,你们随意使用,随意修改,只要将修改的结果反馈给我就可以了” 于是在1991年 0.01版本发布,1993年1.0就出现了

在1985年时,Ritch Stallman MIT的教授,当时UNIX收费,他就不乐意了,就说软件是全人类的结晶,不是你们个人独有的,当时有许多黑客都支持他的想法,于是他成立了一个组织:GNU(Gnu is Not Unix) ,宣言是 GPL(General Public License),当时GNU组织的软件是在UNIX上实现的,正好与自己的组织相违背,并且它承诺会有一个系统的,过了几年都没有出现。

直到1991年,Linux出现,两者相遇,山无棱,天地合,才敢与君绝,惊天地,泣鬼神,原来你也在这里。。。

当时用GNU组织的C库,glibc,和GNU的bash程序,linus内核,组成一个系统,GNU/LINUX

遵循GPL开源协定

开源软件:自由下载、安装、使用、学习、修改、开放源代码、可以收取服务费

自由软件:  自由软件受到选定的“自由软件许可协议协议”保护而发布(或是放置在公有领域),其发布以源代码为主,二进制文件可有可无。自由软件许可证的类型主要有GPL许可证BSD许可证两种

GPL协定:任何采用GPL任意行代码的程序都要将所有的源码公开

LGPL lesser GPL : 采用GPL库调用接口的程序不用公开源码

Apache、BSD: 采用我的代码可商业化,源码中必须有相关协定,不能以我的组织名义发行代码。

GNU/Linux 只是提供源码,对于一个新的用户来讲,是不是过于有难度了?

所以就出现了一些组织,"世俗的、入流的、食人间烟火的"组织封装LInux系统,发行Linux系统,只不过各有各的特点:有的比较恋旧、有的追求新颖、Log不同罢了

Redhat 公司:美国 北卡罗来纳州

个人版本、企业版本,当个人版本到达0.7时,企业版本才发行0.1,在9.0时,红帽才放弃个人版,因为只有企业版才能有更好的发展,才能赚到钱。但是不能将个人版废弃,捐给Fedora社区,专门为红帽提供新软件测试使用:Fedora 6个月发行一次,redhat 18个月发行一次

Redhat是GPL协定,不同作为闭源软件,但是每次发行的redhat系统提供无偿提供后,出现BUG,补丁可以不提供给你,又或者就提供给你源代码,对于没有基础的人来说这也无济于是。

于是有一个组织就专门编译Redhat提供的源代码。CentOS在红帽提供补丁、发行一个版本后,一般一周后CentOS社区也会出现兼容格式的改造版,只是 Log不同。内部实现都相同

Debian 二次发行版Ubuntu基于Ubuntu的二次发行版mint

slackware 二次发行版S.U.S.E

基于SUSE的二次发行版

opensuse

sle SUSE Linux Enterprise

ARCH

Gentoo

LFS

Andorid Linux + busybox + java + java程序

时间: 2024-10-01 00:23:15

      谢烟客-----Linux的发展史的相关文章

谢烟客---------Linux之Bash基础特性条件测试&&自定义退出状态码(6)

条件测试 判断某需求是否满足,需要由测试机制来实现. 根据命令的执行状态结果,表达不同的测试条件 1.根据id命令的执行状态结果,判断用户是否存在 [[email protected] ~]# id root uid=0(root) gid=0(root) groups=0(root) [[email protected] ~]# echo $? 0 [[email protected] ~]# id help id: help: no such user [[email protected] 

     谢烟客-----Linux入门

为什么要学习 Linux 2050年人工智能或将超越人类智商,机器人产生了自主意识,,完全取代人脑思维甚至统治人类,或许.... 有人说:windows是漂亮的,Linux是智慧的.透明的. 全球TOP500超级计算机排行榜中99%都是linux内核. 任何手持智能终端设备就连电子表的底层都是Linux 你或许会认为Windows更为易用,Linux操作起来很慢,Linux入门曲线陡峭,其实当我们学会一些命令之后,一个命令所完成的事,Windows中需要几次步骤才能完成. 基于命令行,执行速度快

【华为云技术分享】Linux内核发展史 (1)

openEuler是基于Linux 内核的企业级Linux 服务器操作系统平台的开源社区发行版.openEuler支持鲲鹏架构,可运行在TaiShan服务器上.本技术连载将会从理论基础.源码分析和实操方法三个方面来比较全面地介绍内核编程与应用编程的基础知识,到2020年8月之前主要介绍内核编程部分.通过本连载的介绍,您将对openEuler内核编程和应用编程的理论和实践知识有一个基本的了解.本小节将从Linux内核发展史出发,带您走进openEuler的世界,一起学习操作系统的基础知识和open

Linux学习记录-01(Linux系统发展史)

对计算机一直感觉很神秘,想要学习,奈何不是计算机专业出身,最近决定开始学习,也算是充实一下自己,希望自己可以坚持下去. 一.Linux系统Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统.Linux操作系统诞生于1991 年10 月5 日(这是第一次正

谢烟客---------Linux之深入理解anaconda使用

获取详细的帮助: 官方文档: <Installation Guide> anaconda位置 anaconda命令行 anaconda配置方式 kickstart文件格式 kickstart创建 基于光盘安装linux anaconda位置 光盘.ftp.nfs.httpd.nfs **基于光盘,安装linux,见文未** anaconda命令行 boot: linux [options] options anaconda配置方式 kickstart文件格式 位置:~/anaconda-ks.

谢烟客---------Linux之程序包管理yum使用和编译安装

yum命令及仓库创建与配置 YUM 原理 安装.卸载.查询.升级.检查,本地缓存.重装.降级.历史.获取帮助 仓库 变量.事务.URL.开销.镜像.元数据存储方式及组成 createrepo作用.命令.lftp命令 编译安装  目的 原理 开发工具及开发环境 编译后的处理 获取程序包源代码的途径 YUM Redhat二次发行版 Yellow Dog Linux,上使用的yum(Yellowdog Update Modifier),由yellow dog 研发 yum命令的工作原理 1.接收用户命

谢烟客---------Linux之文件系统管理创建与挂载

文件系统在哪实现? 内核 内核级文件系统的组成?模块.用户空间中的程序 哪些是内核级文件系统?除了分布式文件系统 模块的定义 中间层定义 文件如何按名存取 查找文件.创建文件.存储文件文件系统.格式化 swap,虚拟内存 日志型文件系统和非日志型文件系统工作原理 超级块 文件按名存取的实现 文件系统实现按名存取将分区后的存储空间划分为数据区和元数据区. 数据区:   存储大小相同的数据块    元数据区:有多个inode块,每个inode块中存储:filename,perm,owner,grou

谢烟客---------Linux之find查找

查找的区别 grep 根据PATTERN逐行匹配目标文本,打印字串所在行至标准输出 find  根据查找条件在给定的路径下,查找文件名对应的文件 查找的分类 实时查找: find 根据用户给出的路径,在路径下查找 非实时查找:locate,whatis 依据事先构建的索引,在数据库中查找 手动更新数据库的命令: updatedb, makewhatis 查找的特性 find:实时.速度慢.精确匹配 locate: 非实时.速度快.模糊匹配 查找语法 2.获取帮助 # man find 或 fin

谢烟客---------Linux之DNS请求流程及资源记录定义

DNS类型/同步类型/域和区域的区别 SOA内部数据特性 DNS负载均衡(Load balance)的实现 缓存DNS服务器 缓存定义.作用.多级缓存 一次完整的解析请求 解析答案 DNS分布式特点 区域解析库/RR/RR_TYPE A记录的轮循.多主机名对同一个主机.泛域名解析 <<反反复复,多次权衡的结果 >> DNS类型.同步类型.区域和域的区别 SOA内部数据特性 DNS负载均衡(Load balance)的实现 缓存DNS服务器 缓存定义.作用.多级缓存 一次完整的解析请