• 去IOE运动
企业的数据架构有三个不可或缺的部分:数据库服务器、数据库软件、数据存储设备。而IOE(I->IBM公司、O->Oracle公司、E->EMC公司)这三家公司恰恰分别在这三个领域实现了垄断。
牵扯到数据安全以及数据设备成本的问题,有公司提出了"去IOE"运动:用PC服务器代替IBM服务器,用mysql替代Oracle。
  • 小型机(已经过时的概念)
1.架构完全不一样
小型机是指采用精简指令集处理器,性能和价格介于PC服务器和大型主机之间的一种高性能64位计算机。
#PC服务器与PC电脑设计原理一致

2.小型机一般都是专用的操作系统。不同公司生产的小型机只能运行特定的操作系统。

3.小型机比服务器性能要强大很多,稳定性也比较好,年宕机只有几小时。
  • 计算机体系三层结构与优化
1.运行程序有关的核心三大硬件
	1.cpu
	2.内存
	3.硬盘
程序的运行与三大核心硬件的关系
	1.程序最先存放于硬盘中,程序的运行会先把程序相关内容从硬盘读入内存->称之为程序的加载	  或启动
    2.然后cpu从内存中读取指令来运行->称之为程序的运行过程
    
2.三层结构
	应用程序
	操作系统
	计算机硬件(cpu、内存、硬盘)
    
3.buffer与cache
	buffer称之为缓冲区:linux系统会将要写入硬盘的数据线缓冲到buffer,然后一次性刷入硬盘,以此减少io次数。
	cache称之为高速缓存:linux系统会将硬盘读入内存的数据缓存到cache里,下次读的时候直接从cache取即可。
	
    # cache空间可以随便清理,而buffer空间在清理之前最好先执行刷新命令。
  • 操作系统
操作系统是一个协调管理控制计算机硬件资源月应用软件资源的一个控制程序。
它位于计算机硬件与应用软件之间。
  • 进程相关知识
程序:静态的,由代码组成的可以运行的任务。
进程:动态的,正在运行的程序。
  • 操作系统发展史
# 第一代计算机(1940~1955年)使用真空管制作。

真空管:容易烧坏,如果一个烧坏了,整台计算机都会受到牵连烧坏。
	
优点:程序员可以独享整个计算机,可以即时的调整自己的程序
    
缺点:同一时刻只有一个程序在内存中,被cpu调用执行,如果同时运行十个程序,只能一个一个运行,为串行。  # 串行:一个运行完之后下一个才能运行。
  

# 第二代计算机(1955~1965年)使用晶体管制作,出现了批处理系统,用穿孔卡片编写程序。

穿孔卡片:
	用fortran语言或汇编语言写到纸上,然后穿孔打成卡片。放到计算机里面,有孔的电能通过,则为电信号1,有的地方没有孔,电则通不过,为电信号0,由此模拟出二进制的概念。
    
批处理系统(早期):
	先收集需要处理的作业,攒完之后再一次性全部读到磁带上'放进IBM1401计算机',通过早期操作系统来一个一个处理,但是不打印,把结果写到输出磁带上'放进IBM7094计算机',直到所有作业全部处理完毕,再把输出磁带拿到打印机上打印'放进IBM1401计算机'。  # 还是串行
    
优点:充分利用了计算机的资源。
    
缺点:程序员不能即时调整自己的程序。批处理系统任然是串行,而且中间传输数据需要人来控制,将磁带搬来搬去。
   

# 第三代计算机(1965~1980年)使用集成电路芯片和多道程序设计。

spooling技术:
	卡片被拿到机房后能够很快的将作业从卡片读入磁盘,当任何一个作业结束时,操作系统就能将一个作业从磁盘读出装进空的内存区域运行。该技术同时用于输出。  
	# 当采用这种技术后,就不需要IBM1401机,也不需要将磁带搬来搬去。
    
多道技术:  # 非常重要
	空间上的复用:多道程序的数据共享一个内存空间
	时间上的复用:多道程序共享cpu的时间
        
	多道技术是操作系统的一种技术。
        
	让多个任务同时存放在内存空间内,同时相互隔离,cpu在多个任务之间来回切着运行,为并发。  
	# 并发:多个任务看起来是同时运行。
	# 并行:多个任务是真正意义上的同时运行。
   

分时操作系统:(多道技术,支持二十个联机终端) -->MULTICS(支持上百个联机终端)

unix:简化版分时操作系统,开源,于是全世界程序员都帮其优化,最开始的网络协议是基于unix开发的,所以unix是最兼容网络协议的系统,后因闭源、收费等问题没落。
    
GNU is not unix计划:基于unix操作系统开发了很多优秀的应用软件,然后把它们都开源了,随后推出了一个开源精神,即GPL条款。
# GPL条款:源代码公开,基于源代码修改后的软件可以收费,任何人都可以通过正常渠道获得你的源代码并获得授权。(开源并不是免费)
    
minix:拿unix源代码写的操作系统,原本用作教学。
    
linux:linus基于minix编写的操作系统,遵循GPL条款,且是由unix一脉相承,所以网络方面也十分兼容。
	
linux发行版:基于linux完善了些许代码。
较有名的为:redhat和centos。redhat是先出名的,后写出了不少功能,进行收费。centos抄redhat的大量收费功能推出centos6起家,把redhat挤兑出去。随后redhat收购了centos7。