01

_____egon新书来袭请看:https://egonlin.com/book.html

 

一 引入

1、什么是计算机?图灵的故事

  hello world的故事

2、什么是编程语言?什么是编程?为何要编程?什么是程序?

  硬件以外的都是程序

3、程序分为两大类

  应用程序

  操作系统

4、计算机体系三层结构

  应用程序

  操作系统

  计算机硬件

5、运维的职责

  1、应用7*24*365不间断运行=》围绕三层、做好监控

  2、备份

  3、优化性能:提升用户访问速度

  

  运维人员的原则:

  简单,易用,高效===(简单,粗暴)

 

==================围绕运维的职责,我们展开介绍========================

先来看计算机硬件组成与基本工作原理

二  计算机硬件组成与基本工作原理

分类

2.1 家用台式电脑

作用:一般用来家庭娱乐使用,游戏,电影之类!

 

2.2 笔记本电脑

作用:携带方便快捷,大部分用来办公使用。

2.3 服务器

服务器是大家工作的主战场

功能:搭建网站所使用的服务器,相对于其他台式机,笔记本电脑来说,更加稳定更加可靠

简介:服务器,也称伺服器(台湾),是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力稳定性、可靠性、安全性可扩展性、可管理性等方面要求较高。 

2.3.1 服务器按照尺寸分类

  • 1U服务器U表示服务器的厚度1U=1.75英寸=4.445CM=4.45CM

 

  • 4U服务器(U表示服务器的厚度)

 

服务器内脏:

 

关于对于服务器不了解或者不会的问题可以咨询买服务器的,相信他一定会很乐意回答!

2.3.1 服务器按照外形分类

(1)机架式服务器

机架式服务器的外形看来不像计算机,而像抽屉,有1U1U=1.75英寸=44.45毫米)、2U4U等规格。机架式服务器安装在标准的19英寸机柜里面。这种结构的多为功能型服务器。

 

(2)刀片式服务器

所谓刀片服务器(准确的说应叫做刀片式服务器)是指在标准高度的机架式机箱内可插装多个卡式的服务器单元,实现高可用和高密度。每一块"刀片"实际上就是一块系统主板。它们可以通过"板载"硬盘启动自己的操作系统,如Windows NT/2000Linux等,类似于一个个独立的服务器,在这种模式下,每一块母板运行自己的系统,服务于指定的不同用户群,相互之间没有关联,因此相较于机架式服务器和机柜式服务器,单片母板的性能较低。不过,管理员可以使用系统软件将这些母板集合成一个服务器集群。在集群模式下,所有的母板可以连接起来提供高速的网络环境,并同时共享资源,为相同的用户群服务。在集群中插入新的"刀片",就可以提高整体性能。而由于每块"刀片"都是热插拔的,所以,系统可以轻松地进行替换,并且将维护时间减少到最小。

 

刀片服务器的优势

(3)塔式服务器-更强壮的计算机

塔式服务器(Tower Server)应该是最容易理解的一种服务器结构类型,因为它的外形以及结构都跟立式PC差不多,当然,由于服务器的主板扩展性较强、插槽也多出一堆,所以个头比普通主

板大一些,因此塔式服务器的主机机箱也比标准的ATX机箱要大,一般都会预留足够的内部空间以便日后进行硬盘和电源的冗余扩展。但这种类型服务器也有不少局限性,在需要采用多台服务器同时工作以满足较高的服务器应用需求时,由于其个体比较大,占用空间多,也不方便管理,便显得很不适合。

 

常见服务器品牌如下

 

 Dell服务器品牌

代表图片:

  • Dell R720

 

 

 

 

 

 

 

加上盖子

Dell R620

 

 

还有一些IBM品牌,例如

1U 3550/m3 3550/m5 

2U 3650 

4U 3850 

8U 3950

HP品牌,例如

DL380G7/G82u

 

2013年5月17日,阿里集团最后一台IBM小机在支付宝下线。这是自2009年“去IOE”战略透露以来,“去IOE”非常重要的一个节点,什么是去IOE???
"IOE": I -- IBM公司、O -- Oracle公司、E -- EMC公司

企业的数据库架构有三个不可或缺的部分: 数据库服务器、数据库软件、数据存储设备。而IOE这三家公司恰恰分别在这三个领域实现了垄断,造成的结果就是由这三驾马车构成的数据库系统占领了全球数据库市场的很大份额。

牵扯到数据安全以及数据设备成本的问题,有公司提出了"去IOE"运动:用mysql替代Oracle,用PC服务器代替IBM服务器。

 

2.4 电脑和服务器的主要构成

 一台电脑是由许许多多的零部件组成,只有这些零部件组合在一起协调的工作,才能称之为电脑。电脑发展到现在,其零部件都有了很大的变化,但其工作原理却没有变化,其中包括主板、CPU内存、硬盘、显卡、声卡等等。

 

 

 

 

对电脑硬件有个简单认识就可以,我们来着重介绍一下服务器核心硬件。

(1)机箱

 

 

 

 

(2)电源

  • 相当于人体的心脏,保障电源供应,要选择质量好的电源。

    生产中一般单个服务器核心业务最好使用双电源AB线路

    如果集群(一堆机器做一件事)的情况可以不用双电源。

    UPS(不间断电源):UPS全名为Uninterruptable Power System(或Uninterruptable Power Supply),在因事故停电或电源品质不佳时,UPS能提供高品质及最经济的电源,确保电脑资料的完整及精密仪器的正常操作。

 

 

 

 

(3)CPU(中央处理器)

  • 相当于人体的大脑,负责计算机的运算和控制,是服务器性能效率的最核心部件。

    常见品牌:Intel(志强 xeon),AMD

  • CPU 时,只能同时装同一型号的。
  • 一般的企业里的服务器,CPU个(颗)数2-4颗,单个(颗)CPU是四核。内存总量一般是16-256G(32G,64G)
  • 做虚拟化的宿主机(eg:安装vmware(虚拟化软件)的主机),CPU颗数4-8颗,内存总量一般是48-128G6-10个虚拟机。

 

(4)CPU风扇

  • 功能:为CPU降温
  • 作用:如果一开机CPU的温度就很高,时间长了搞不好就是一屡黑烟。然后你上千大元的CPU就完了,所以,选一个好的风扇是十分重要的。

 

 

 

(5)内存条

  • 功能:内存是电脑的一个临时存储器,它只负责电脑数据的中转而不能永久保存。它的容量和处理速度直接决定了电脑数据传输的快慢,和CPU、硬盘一起并称为电脑的三大件。
  • 作用:内存是CPU能够直接访问的存储器,CPU从内存中读取操作指令和数据,又把运算或处理结果送回内存。

(6)硬盘

磁盘就是永久存放数据的存储器,磁盘上也是有缓存的(芯片)。

常用的磁盘(硬盘)都是3.5英寸的(sas,sata,pci-e,nvme),常规的机械硬盘,读取(性能不高)性能比内存差很多,所以,在企业工作中,我们才会把大量的数据缓存到内存,写入到缓冲区,这是当今互联网网站必备的解决网站访问速度慢的方案

磁盘的接口:IDESCSISASSATAIDE,其中SCSI已退出历史舞台。 

 

硬盘类型:机械与固态

硬盘接口:IDE、SATA、SCSI、SAS、光纤通道

早期的PATA(Parallel ATA)接口,即IDE接口,IDE采用的并行接口,在传输数据和信号时的总线是复用的,传输速率会受到一定限制。如若提高传输速率,那么传输的数据和信号往往会产生干扰,导致错误。在这种情况下,串行接口技术就产生了。 

  

SATA是Serial AT Attachment的缩写,即串行ATA接口,有SATA、SATA II、SATAIII几种标准,是将主机总线适配器连接到大容量存储设备(如硬盘驱动器,光驱和固态驱动器)的计算机总线接口。

(2000年11月由“Serial ATA Working Group”团体所制定,取代旧式PATA(Parallel ATA或旧称IDE)接口的旧式硬盘,因采用串行方式传输数据而得名)Serial ATA采用串行连接方式,串行ATA总线使用嵌入式时钟信号,具备了更强的纠错能力,还具有结构简单、支持热插拔的优点。

目前已经成了桌面硬盘的主力接口。

 

 

SCSI主要用于服务器,英文全称为“Small Computer System Interface”(小型计算机系统接口),是同IDE(ATA)完全不同的接口,IDE接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术

 

 

SAS(Serial Attached SCSI)即串行连接SCSI,是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。SAS是并行SCSI接口之后开发出的全新接口。此接口的设计是为了改善存储系统的效能、可用性和扩充性,并且提供与SATA硬盘的兼容性。

(以往我们都是通过SCSI或者SATA接口及硬盘来完成数据存储工作。正因为SATA技术的飞速发展以及多方面的优势,才会让更多的人考虑能否存在一种方式可以将SATA与SCSI两者相结合,这样就可以同时发挥两者的优势了。在这种情况下SAS应运而生。)

 

 

光纤通道主要用于高端服务器场景,价格昂贵,英文拼写是Fibre Channel,和SCSI接口一样光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中

 

性能与价格:SSD(固态)>SAS> SATA

企业级应用:

1、常规正式工作场景(线上的生产环境,给客户/用户用)主选SAS(结合SATASCSI的优点)硬盘(转速是15000/分,机械磁盘转数高的性能好)。

2、比较核心的业务SAS

 生产环境==>已经对外提供服务的环境

3、不对外提供访问的服务器(自己人用的),例如:线下的数据备份,可选SATA720010000/分)。 

SATA特点:容量大,价格便宜,但是速度比较慢。 

4、高并发访问,小数据量,可以选择SSD

淘宝网企业案例:服务器会把satassd结合起来用,热点存储,程序动态调度。 

用户访问 80% 访问的内容都是一些比较小的数据。====用户经常访问的数据--热点数据

用户访问的这80%的内容占了磁盘25%空间(125G/500G

剩余的75%空间375G,不经常被用户访问。===========冷数据

高并发,小数据量。====>ssd

剩余的75%空间375G,不经常被用户访问。====sata

 

热点数据--ssd

冷数据---sata

开发团队发明了一套算法,把那些访问很集中的一些东西放在那个SSD盘上,因为SSD提供很好的一个读性能,我们就让这些80%左左右的这种读从SSD上产生,剩下的图片我们把它放在传统那种SAS或者更低廉的一些SATA盘上,这样我们整个节点的性能非常好,单机可以支撑三千到四千IO,这是我们系统没有任何显示出访问慢,或者其他不好的表现。

因为每台机器的成本又降得非常低,如果可以,比如说追求一个大的存储,我可以用全SSD,但是我SSD的成本相对要高很多,我可以用比较廉价的SAS或者SATA来存一些访问频度不是很高的,用SSD存访问频度高的文件,这样整体上的性能就协调的非常好,成本也非常低。整体上可以这么说,我们通过这样一年的优化,在原来硬件基础上投资50%实现了性能是原来两倍的一个架构。现在我们总体的这种TCO是原来的1/4左右。

 

企业级硬盘适合7*24使用的,一般较贵

 

DELL阵列卡(RAID卡)

  • 网站数据量很大的时候,单块盘装不下了,购买多块盘,又不想单个盘存放数据,就需要工具(raid)把所有硬盘整合成一个大磁盘,再在这个大磁盘上在分区(划分隔断、虚拟磁盘)放数据。
  • 另外一大功能,多块盘放在一起可以有冗余(备份)。

总结:阵列卡,RAID卡好处:

1.把所有硬盘的容量加在一起

2.你可以让数据更安全

3.可以获得更高的性能

 

RAID有多种整合方式,RAID 0 1 5 10

RAID卡后,一般磁盘就会插到RAID卡上,而不是直接插到主板上了。 

代表图片:

 

 

 

 

 

 

 

 互联网公司服务器一般都会购买RAID卡(主板自带、独立RAID卡),RAID卡上也是有缓存的。

  • 冗余从好到坏:raid1raid10raid5raid0
  • 性能从好到坏:raid0raid10raid5raid1
  • 成本从低到高:raid0raid5raid1raid10 

不同RAID级别的企业应用举例: 

根据数据的存储和访问的需求,去匹配对应的RAID级别。==>适用于互联网公司

  • 单台服务器,很重要,盘不多,系统盘raid1
  • 数据库/存储服务器,主库raid10,从库raid5\ raid0(为了维护成本,raid10
  • web服务器,如果没有太多数据的话,raid5,raid0(单盘)。
  • 有多台,监控\应用服务器,raid0,raid5

 

磁盘的大小

1024

1kb 1mb 1gb 1tb 1024

 

1MB=1024KB

1GB=1024MB

1TB=1024GB

 

1byte=8bit 1K=1024 byte 1M=1024K 

1G=1024M 1T=1024G 1PB=1024T

字节 byte):8个二进制位为一个字节(B)

市面上卖硬盘的都是按1000计算,号称500G硬盘=500*1000B*1000KB*1000MB

 

(7)主板

  • 主板和CPU都是电脑中最关键的部件。
  • 所有的板卡必须通过主板发挥作用,主板性能和质量的好坏直接影响到整个系统。
  • 电脑主板按不同的架构标准和各种不同的主要部件、接口组合而成。

 

 

 

 

 

  其中:PCI-E x16插槽常用于插显卡,PCI-E X16插槽可以插所有PCI-E接口的显卡。

  PCI扩展槽可以插

 

(8)主板芯片组

主板芯片组是主板上最重要的部件,主板的功能主要取决于芯片组。芯片组负责管理CPU和内存、各种总线扩展以及外设的支持。

(9)BIOS芯片

  • BIOS  (basic input  output system ) 芯片(CMOS芯片):负责主板通电后各部件自检,设置,保存,一切正常后才能启动操作系统。记录了电脑最基本的信息,是软件与硬件打交道的最基础的桥梁,没有它电脑就不能工作。
  • 常见的三种BIOSAwardAMIPhoenix

 

(10)总线扩展槽

  • 总线扩展槽:按功能分为内存插槽、PCI/ISA扩展槽、AGPPCIPCIE显示卡插槽等。

 

  • 各类I/O接口:软硬盘、键盘鼠标、打印机、USB(通用串行总线)、COM1/COM2等。

 

 

 (11)显卡

功能:显卡的作用就是提供对图像数据的快速处理,显卡也是电脑的重要组成部件之一,而且也是更新换代最快的一个部件,目前很多3D游戏对显卡的要求都很高,因此我们不得不掏钱从新买一块显卡来更新换代。

 (12)光盘驱动器

功能: 听歌,看牒,装软件,用游戏光牒打游戏,等等。不过,服务器一般都是网络安装或者U盘安装系统软件。因此,越来越多的电脑不配光驱了。

 (13)机房机柜里的服务器摆放

标签===>标记出每根线的用途

 

 

专业布线:什么是专业和不专业? 

参考文章:http://mt.sohu.com/20150504/n412315357.shtml

 

 (14)远程管理卡

 

作用:开关服务器,并可以查看服务器开关的过程等信息。

远程管理卡有服务器自带的,也有独立的。

服务器自带的远程管理卡,可以关机、开机,但是看不到开关的显示过程

所以,选择独立远程管理卡,稍微200块钱。

有了管理卡就可以快速恢复服务。

大客户有KVM远程管理,特大客户会有自己的人员驻扎机房。

 

IDRAC远程控制卡的介绍:

iDRAC卡相当于是附加在服务器上的一台独立运行的小型pc,通过与服务器主板上的管理芯片BMC进行通信,监控与管理服务器的硬件状态信息。它拥有自己的系统和IP地址,与服务器上的OS无关,是服务器管理员进行远程访问和管理的便利工具。iDRAC分为 Express和Enterprise 两种版本,iDRAC Express 默认是用服务器1号网口来连接, iDRAC Enterprise默认使用专用网口连接。专用网口的位置可参考下图所示(不同机型存在差异)。R630, R730,R830,R930 默认均使用专用网口进行连接。

 

 

三 计算机体系三层结构与优化

应用程序

操作系统

计算机硬件

 

运维的职责:

  1、7*24*365持续提供服务,不宕机==》做好监控

  2、备份

  3、优化

如何优化???

企业网站来讲,都会尽量让用户从内存读取数据,而不是硬盘。 

几乎企业运维和架构师的网站优化、服务器、软件的优化核心,都是磁盘内存的使用比例优化。

 

具体方案:

  1、硬件优化=》缓存、集群

  2、操作系统内核优化

  3、应用程序优化

  4、网络优化

 

 

 

 

 

 

 

企业案例:提升用户体验的网站解决方案

1. 门户(大网站)极端案例:大并发入案例(抢红包、微博)

高并发大数据量数据:会把数据先写到内存,积累一定的量后,然后再定时或者定量的写到磁盘(j减轻磁盘的压力,减少磁盘IO Input/Output 磁盘的输入/输出 磁盘读写),最终还是会把数据加载到内存中再对外提供访问。

特点: 

a.优点:写数据到内存,性能高速度快(微博,微信,SNS,秒杀)。 

b.缺点:可能会丢失一部分内存中还没有来得及存入磁盘的数据

解决数据不丢的方法: 

a.服务器主板上安装蓄电池,在断电瞬间把内存数据回写到磁盘 

b.UPS(一组蓄电池)不间断供电(持续供电10分钟,IDC数据中心机房-UPS 1小时)。 UPSUninterruptible Power System/Uninterruptible Power Supply),即不间断电源,是将蓄电池(多为铅酸免维护蓄电池)与主机相连接,通过主机逆变器等模块电路将直流电转换成市电的系统设备

c.双路电的机房,使用双电源、分别接不同路的电,服务器要放到不同的机柜、地区。

d.柴油发电机+油罐,一般机房会和附近的加油站签订紧急供油协议。

2、中小企业案例

对于并发不是很大、数据也不是特别大的网站,读多写少的业务,会先把数据写入到磁盘,然后再通过程序把写到磁盘的数据读入到内存里,再对外通过读内存提供访问服务。

3、提升用户体验的网站解决方案-小结

 

企业面试题:【Abuffercache什么区别?

简单解答: 

写入数据到内存里,这个数据的内存空间称为缓冲区buffer),写入到内存buffer  缓冲区, 写缓冲。 

从内存读取数据,这个存数据的内存空间称为缓存区cache),从内存cache读取 缓存区,读缓存。

提醒: 

这里提到的内存和磁盘,是由多台机器组成的集群架构环境 memcached(纯内存)/redis(内存加磁盘)。

 

 

 

 

 

cpu ===>内存 ===>磁盘

cpu<===内存<====磁盘

 

由于99%的网站都是以读取为主,写入为辅,读写比例至少10:1,所以并发写入一般不是问题。

 

 

 

小结

企业面试题1:你用过的服务器型号有哪些?配置如何?

Dell r720 2U 双路 16SAS硬盘  32G,64G 

1cpu  4个核  16G

企业面试题2:程序、进程和守护进程的区别

 

企业面试题3:提升用户体验的网站解决方案

企业面试题4buffercache区别?

 

企业面试题5:描述Raid 0 1的特点?

 

cpu 内存 磁盘

三  操作系统及发展史

操作系统发展的洪荒时代

https://www.cnblogs.com/linhaifeng/p/6295875.html

现代操作系统发展史

1、B语言与C语言

B语言之父:Ken Thompson(肯.汤普森)

1969年前后,Ken Thompson(肯.汤普森)在Dennis Ritchie丹尼斯.里奇(Dennis Ritchie)的支持下设计出来的一种通用的程序设计语言,现在使用者已经很少了。

C语言之父:Dennis Ritchie(丹尼斯·里奇)

1969-1973年,Dennis Ritchie(丹尼斯·里奇)在美国电话电报公司(AT&T)的贝尔实验室内开始了C语言的最初研发。根据丹尼斯·里奇说,C 语言最重要的研发时期是在1972年。
C语言之所以命名为C,是因为C语言源自Ken Thompson发明的 B语言,而B语言则源自BCPL语言,所以先B后C嘛哈哈

2、Unix系统

Unix之父还是他们哥俩:Ken Thompson(肯.汤普森)与Dennis Ritchie(丹尼斯·里奇)


Unix诞生于1969年,ken Tphmpson最初用汇编语言编写,后来他和Dennis Ritch一起用高级C语言重写。

事实上,C语言的诞生是和UNIX操作系统的开发密不可分的,原先的UNIX操作系统都是用汇编语言写的,1973年UNIX操作系统的核心用C语言改写,从此以后,C语言成为编写操作系统的主要语言。

UNIX 第一次公开露面是 1973 年丹尼斯·里奇和肯·汤普森在操作系统原理(Operating Systems Principles)上发表的一篇论文,然后 AT&T 发布了 UNIX 系统第 5 版,并授权给教育机构使用,之后在 1975 年第一次以 $20.000的价格授权企业使用 UNIX 第 6 版。应用最广泛的是 1980 年发布的 UNIX 第 7 版,任何人都可以购买授权,只是授权条款非常严格

Unix的诞生对整个后续操作系统发展具有深远的影响,Ken Thompson(肯.汤普森)与Dennis Ritchie(丹尼斯·里奇)也因此获得了1983的图灵奖(计算机界的诺贝尔奖)

3、Go语言

Go语言是在2007年由三个创始人在业余时间联合开发:Robert Griesemer(罗伯特.格利茨默)、Rob Pike(罗伯.派克)、Ken Thompson(肯.汤普森)

 

 

================1、Multics操作系统================
MULTICS 其实是"MULTiplexed Information and Computing System"的缩写
伟大的一步
Bell(贝尔实验室), MIT(麻省理工学院人工智能实验室), GE(General Electric,通用电气)联合建立Multics操作系统
Multics操作系统是一套多使用者、多任务、多层次。

Multics是完成了,但是Multics 不断完善,和追求高目标,目标不明确了,渐渐的目标迷失,GE退出,后面bell也退出了。

 

================2、unix的诞生================
贝尔实验属于:AT&T
bell 为完成multics招聘了很多优秀的工程师,退出Multics后工程师比较闲了。
ken Tphmpson在multics制作了一款游戏:space Travel(星际旅行)跑在multics。
bell 退出multics之后,ken Tphmpson不能使用multics的运算能力了,要使用得付费。所以决定自己写一个小型系统程序可以跑起自己的游戏。
向公司申请购买PDP-11小型计算机,驳回。
PDP-11属于DEC(数字设备公司),该公司还有VAX(VMS)电脑。

在公司某角落找到PDP-7,老古董,使用汇编语言编码。

老古董好过没有,他在上面写了系统,居然可以跑起他的游戏了。
1969年,他兴奋的向各个同事兜售游戏,几乎所有的同事对于游戏没有兴趣,但是对他的系统很感兴趣,在1970年时,那部PDP-7却只能支持两个使用者,所以当时,Brian Kernighan 就开玩笑地戏称他们的系统其实是:"UNiplexed Information and Computing System",缩写为"UNICS",后来,大家取其谐音,就称其为"Unix"了,Unix因此得名,所以1970年可称为是Unix元年。

unix系统短小精悍,性能很强大,接口规范,当然功能有限。
以现在的眼光看unix依然强大没有硬伤,可见unix的设计是何等超前和强大的。

unix真正的使用,在1971年,贝尔实验室需要为自己的专利部门提供一个文字处理程序nroff。该程序的运行,需要一个底层系统。nroff在PDP运行的并不好,所以决定自己写一个系统。
ken Tphmpson和他的同事一起承包了这个项目。unix也在这当中得到了发展。
unix刚开始用汇编语言B语言所写,跟计算机PDP7耦合太大。
后来Dennis Ritch用高级C语言重写了,适用范围扩大了。
但是,当时这么做风险很大,语言越高级,消耗的计算机性能越大,而当时的计算机性能很差。

================3、unix正式问世 ================

1974,双方发表一片论文在《美国计算机通信》,unix第一次公知于众,走出贝尔实验室。引起很大反响。
很多人期望学习和研究unix。
AT&T当时被美国裁定不能销售除电话电报以外任何商品,不仅不能销售,别人要还需给。ken那是很长一段时间,把unix系统发给别人。
很多人加入的研究,反馈给贝尔实验室,unix发展迅速。

unix发行
1978:SCO 包装发行商用版unix
1979 年发行了:System V7(现在公认的第一个完美版本)
1980年DARPA(机构)想研究TCP/IP协议。把这个合同给了BSD。TCP/IP协议在unix上诞生了。
1980: Microsoft, XENIX包装发行商用版unix
BSD后面也开始发行了商业版。
windows 1990年之前一直在Unix上开发的。

Berkeley(美国加州伯克利学校): Ken 1979年在berkeley上课。
Bill Joy, BSRG, 1977, BSD(Berkeley System Distribution)发行的unix版本
1980年,美国DARPA(Defense Advanced Research Projects Agency)美国国防高级研究计划局 ,准备制定 TCP/IP协议,最终选择了BSD合作,BSD在unix基础上研究的TCP/IP协议,所以这对unix是一个极大的促进。

  UNIX的历史开始于1969年ken Thompson,Dennis Ritchie(即著名的K&G,C语言的发明人)与一群人在一部PDP-7上进行的一些工作,后来这个系统变成了UNIX。它主要的几个版本为:
  V1(1971):第一版的UNIX,以PDP-11/20的汇编语言写成。包括文件系统,fork、roff、ed等软件。
  V4(1973):以C语言从头写过,这使得UNIX修改容易,可以在几个月内移植到新的硬件平台上。最初C语言是为UNIX设计的,所以C与UNIX间有紧密的关系。
  V6(1975):第一个在贝尔实验室外(尤其是大学中)广为流传的UNIX版本。这也是UNIX分支的起点与广受欢迎的开始。1.xBSD (PDP-II)就是由这个版本衍生出来的。
  V7(1979):在许多UNIX玩家的心目中,这是“最后一个真正的UNIX,”这个版本包括一个完整的K&RC编译器,Bourne shell。V7移植到VAX机器后称为32V。
  目前开发UNIX(System V)的公司是Unix System Laboratories (USL)。USL本为AT&T所有,1993年初被Novell收购。Novell于1993年末将UNIX这个注册商标转让给X/Open组织。
  目前为止,UNIX有两大流派:那就是AT&T发布的UNIX操作系统System V与美国加州大学伯克利分校发布的UNIX版BSD(Berkeley Software Distribution)。SVR4是两大流派融合后的产物。1991年底,与System V针锋相对的开放软件基金会(Open Software Foundation)推出了OSF/1。
  现在几种主要的UNIX版本:
  * AIX:IBM的UNIX,是根据SVR2(最近已经出到SVR3.2)以及一部分BSD延伸而来,加上各种硬件的支持。具备特有的系统管理(SMIT)。
  * 386BSD:Jolitz从Net/2 software移植过来的。支持Posix,32位。
  * FreeBSD:1.x从386BSD 0.1而来,FreeBSD 2.x版是用4.4BSD lite改写。
  * HP-UX(HP):旧系统是从S III(SVRx)发展面来,现在是由SVR2(4.2BSD)发展而来,目前是10.x版。
  * Linux(x86):遵从POSIX,SYSV及BSD的扩展,这一点从上页表中即可看出。
  * OSF/1(DEC):DEC对OSF/1的移植。
  * SCO UNIX(x86):SVR3.2,目前影响较大的PC UNIX。
  * SunOS(680x0,Sparc,i386):根据4.3BSD,包含许多来自System V的东西。Sun的主要成果在于:NFS,OpenLook GUI标准,现演变为Solaris 。

  * Ultrix(DEC):根据4.2BSD再加上许多4.3BSD的东西。
  * Xenix(x86):Intel硬件平台上的UNIX,以SVR2为基础,由微软推出。在中国使用较广泛。
————————————————
版权声明:本文为CSDN博主「mca_Zhenzhong」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011311614/java/article/details/37560273
UNIX家谱

================4、其他操作系统的发展:windows-图形操作系统的时代 ================

1981年,那时候个人计算机已经出现,但是没有系统,unix不屑于个人计算机的低性能。一个教授写了一个个人计算机系统CPM卖3W美元。
SCP(西雅图计算机产品公司):一个员工写了一个QDOS(Quick and Dirty Operating System)系统。
Microsoft, Bill Gates比尔盖茨,他的母亲在IBM公司上班。通过他的母亲知道IBM准备大批售卖个人计算机,花5W买断了该系统QDOS版权,然后和IBM的PC机一起售卖一台20几美元,赚了几千万。

 

在1990之前,window的开发也一直是在unix上的。

** workstation **
SUN公司的Bill joy,发行了workstation系统(工作站鉴于服务器和个人计算机之间)

 

===》windows和apple爱恨情仇

intel :当时主要生产内存,cpu比较低级,但是日本也开始生产更好的内存,intel转型专注生产cpu。
cpu的高速发展,导致个人计算机快速的普及。

XEROX: PARK实验室。鼠标和以太网就是park开发出来的。star 图形界面操作系统也被他们开发出来了。

乔布斯在park实验室看到了受到冷遇的图形界面操作系统,立即被apple购入。
比尔盖茨听说过之后,和乔布斯说向你学习学习。参考过后,觉得这绝对是一个影响世人的使用,立即和乔布斯商量,说我研究之后给你共享成果,年轻的乔布斯居然相信了。然后比尔盖茨在DOS上拼凑了一个图形界面系统,抢在乔布斯之前发布了图形界面系统,抢了乔布斯的客户。乔布斯大为恼火,去找比尔盖茨理论,然后终究不是老辣的比尔盖茨的对手,最后被比尔盖茨各种手段逼退了。
windows底层是DOS。
VMS被linux抢了饭碗,遇冷。比尔盖茨又拉入了VMS的研究人员。重新开发windows。开发了windows nt(new technology)
apple,乔布斯因内部斗争被赶出了apple,然后成了一个皮克斯动画公司,随后两三年成了好莱坞最著名的动画公司之一,后来又被apple召回委以重任CEO。

=================5、unix商业化 ================

 AT&T 被裁定违反了反垄断法,被分拆了,贝尔实验室独立出来了。

贝尔实验室不在受限于只能卖电话电报,那么unix是可以卖的了。那么当年那些受益于unix的,被他看成了肥肉了,是时候索取回报了,直接把BSD告上了法庭。

旷日持久的官司,让他们停步不前,而其他公司迅速发展。也最终导致了Unix这个昔日的巨人的没落。
unix商业化之后,一份unix4W美元。

Unix商业版本:
SUN:Solaris
IBM: AIX
HP:HP-UX

================6、GNU ================

1985年,Richard Stallman 愤怒的认为unix大家都有过添砖加瓦的建设,应该共享。随即,发起GNU(GNU is not unix)自由操作系统,软件共享运动。
GPL:章程协议,general Public License。
FSF:Free Software Foundation自由软件基金会
free: freedom。
X-window:加入GPL

** GNU软件包列表 **
gcc : gnx c complier
vi: visual interface

free: freedom

GNU is not unix,但是所有软件建立在unix之上。迫切的希望拥有自己的操作系统。
大学教授Andrew,中文名:谭宁邦 : Minix, 4000行代码,但是不准别人加入代码(洁癖?),所以没能加入进来。

================7、Linux的发展之路  ================

1.Unix操作系统的诞生

  1969年Ken Thompson利用组译语言编写Unix操作系统

  1971~1973年Dennis Ritchie以C语言改写Unix

  1977年Bill Joy释放出BSD(Berkeley Software Distribution)的Unix-Like操作系统

2.X86架构的Minix诞生

  1984谭宁邦教授的Minix教学操作系统,提供原始码以及软件

 

 

3.各种免费软件团队的产生

  1984 Richard Stallman GNU(GNU's not unix)计划:

    Emacs编辑器+GNU C(GCC)+GNU C Library (glibc)+Bash Shell

    FSF(free software foundation)自由软件基金会

      GPL(General Public License)通用公共许可证

     1988年 XFree86计划:X Window System+Free+X86

    其他的开源团队: sendmail团队 wu-ftp团队 apache团队

 

 

   

  GNU的GPL解释

    1>任何个人或公司可释放出自由软件(free software)

    2>任何释放出自由软件的个人或公司,均可由自己的服务来收取适当的费用

    3>该软件的原始码(source code)需要随软件附上,并且是可公开发表的

    4>任何人可透过任何正常渠道取得此自由软件,且均可取得此授权模式

 

4.Linux操作系统的产生

  1991年芬兰人开发出Linux(以Minix、GNU、Internet、POSIX标准、虚拟团队)

它是一个基于POSIX 多用户、多任务并且支持多线程和多CPU的操作系统

POSIX全称为Portable Operating System Interface,中文翻译为可移植操作系统接口,POSIX标准定义了操作系统应该为应用程序提供的接口标准。 

  1994年linux 2.0 Linux Distribution(安装套件):Kernel+Free Softwares()+Application Tools

 

  众多的distribution有何异同:

    相同点:利用同样的Linux Kernel,几乎相同的自由软件套件 (如GNU里面的gcc/glibc/vi/apache/sendmail/bind),几乎相同的操作系统接口 (bash/KDE/GNOME等等)

    不同点:使用的kernel与各软件的版本可能会不同;各开发商加入的应用工具不同 ,使用的套件管理方式不同(debian与RPM)

Linux的发展历程简介 
1984年,Andrew S.Tanenbaum开发了用于教学的UNIX系统,命名为Minix。
1989年,Andrew S.Tanenbaum将Minix系统运行于x86的PC平台。
1990年,芬兰赫尔辛基大学学生Linus Torvalds首次接触Minix系统。
1991年,Linus Torvalds开始在Minix上编写各种驱动程序等操作系统内核组件。
1991年年底,Linus Torvalds公开了Linux内核源码0.02版(http://www.kernel.org ),注意,这里公开的Linux内核源码并不是我们现在使用的Linux系统的全部,而仅仅是Linux内核(kernel)部分的代码。
1993年,Linux 1.0版发行,Linux转向GPL版权协议。
1994年,Linux的第一个商业发行版Slackware问世。
1996年,美国国家标准技术局的计算机系统实验室确认Linux版本1.2.13(由Open Linux公司打包)符合POSIX标准。
1999年,Linux的简体中文发行版问世。
2000年后,Linux系统日趋成熟,涌现大量基于Linux服务器平台的应用,并广泛应用于基于ARM技术的嵌入式系统中。、
2003年4月,Rad Hat Linux 9.0发布。重点放在改善桌面应用方面,包括改进安装过程、更好的字体浏览、更好的打印服务等。2003年,Rad Hat的Linux市场份额超过80%。
2004年4月,Red hat公司正式停止对Red Hat 9.0版本的支持,标志着Red Hat Linux的正式完结。原本的桌面版Red Hat Linux发行包则与来自民间的Fedora计划合并,称为Fedora Core发行版本。Red Hat公司不再开发桌面版的Linux发行包,而将全部力量集中在服务器版的开发上,也就是Red Hat Enterprise Linux版。
2005年10月RHEL4(Red Hat Enterprise Linux4)发布。
2007年3月,主流版本RHEL5(Red Hat Enterprise Linux 5)发布,CentOS系统开始在中国互联网公司流行。
2010年4月,RHEL6(Red Hat Enterprise Linux 6.0)BETA测试版发布。
2014年6月,RHEL7(Red Hat Enterprise Linux 7.0)发布,RHEL7.0版本和RHEL6.0以前的版本有了较大的变化,例如:内核版本升级到3.10以上,系统启动和基本管理变化较大,文件系统也有传统的ext改为xfs,同时在大数据、云计算、Docker方面做了很大优化。
Linux的发展历程简介

 

Linux的发行商包括SlackwareRed HatDebianFedoraTurboLinuxMandrakeSUSECentOSUbuntu、红旗、麒麟……

 

posted @ 2020-07-01 23:50  linhaifeng  阅读(99)  评论(0)    收藏  举报