1.1计算机系统
计算机系统由硬件(Hardware)系统和软件(Software)系统两大部分组成
1.2计算机硬件
发展历史:
第一代计算机(1946-1957)电子管时代
第二代计算机(1958-1964)晶体管时代
第三代计算机(1965-1970) 集成电路时代
第四代计算机(1971以后) 大规模集成电路时代
1.3计算机硬件组成部分
1.3.1冯·诺依曼体系结构
1946年数学家冯·诺依曼于提出运算器、控制器、存储器、输入设备、输出设备
运算器:简单的来说可以做些加减乘除的运算,还有逻辑运算,是CPU来实现此功能的
控制器:协调各个硬件相互工作的设备,但是现在的控制器已经结合在CPU中了,所有CPU里面由于运算器也有控制器
存储器 :存储器是计算机记忆或暂存数据的部件,即规定对输入数据如何进行加工处理的一系列指令也都存放在存储器中
输入设备:
输出设备:
CPU:中央处理单元
1.3.2冯·诺依曼体系还定义了计算机的一些基本特性:
所有的计算机里面都使用二进制信息来做相应的计算和处理
1.4摩尔定律
由英特尔(Intel)创始人之一戈登·摩尔于1965年提出来,当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。
1.5按规模划分
巨型计算机:应用于国防尖端技术和现在科学计算
大型计算机:科学计算,数据处理,作为网络服务,运算速度较快,设备比较贵 如:IBMz13
小型计算机:生产环境中使用的比较多,使用范围有银行和金融机构等,规模较小、结构简单、运行环境要求较
微型计算机:PC机,不仅家用,办公使用,事实上,服务器也都是微型计算机的架构,也就是我们所说的X86服务器,可以说在很多互联网公司采用的大规模的计算 和后台的基础支持服务器都是使用微机
1.5.1 IBM 的AIX系统
去IOE,
MYSQL替代Oracle,
使用PC Server替代EMC2、IBM小型机等设备,以消除“IOE”对自己数据库系统的垄断
使用开源
在一些大型的环境中,普遍采用x86服务器来代替小型计算机,但是银行和政府机关等还是会使用小型计算机,小机的特点是可以提供×××
1.6服务器
服务器Server是计算机的一种,是网络中为客户端计算机提供各种服务的高性能的计算机
1.6.1服务器按应用功能可分为:
常用Web服务器、数据库服务器(oracle、mysql、mariadb、sql server)、邮件服务器、文件服务器、中间件服务器、日志服务器、监控服务器、ERP服务器(生产制作业使用的比较多,如:库存,财务)
1.6.2服务器按外形分类:
塔式服务器、机架式服务器、刀片式服务器
塔式服务器:
与家中的台式机类似,不过空间大小要稍微大些,是比较传统的一种服务器
特点是:空间比较大,散热比较好,可以方便的增加一些硬件,硬件配置更专业,更稳定些
机架式服务器:
便于统计管理,高密度,节省空间。
机架服务器的宽度为19英寸,高度以U为单位
1U=1.75英寸=44.45毫米,通常有1U,2U,3U,4U,5U,7U几种标准的服务器。机柜的尺寸也是采用通用的工业标准
生产环境中2U,4U使用的比较多
刀片式服务器:
更高的密度,集中管理,高性能,灵活扩展,按需配
容易扩展机器的性能,每个刀片相当于独立电脑,插入之后可以和原有的刀片系统集中在一起,使用时如同在使用一台机器一样
1.7服务器硬件组成
CPU为服务器专用版的CPU,生产环境中的CPU可能是E系列的CPU,如E5,E7,特点是性能好,比较稳定,不容易出问题
内存里面有冗错技术
服务器上的硬盘一般为热插拔的,可以带电操作
专门在服务器使用的CPU:至强CPU
尽量避免单点失败:整个节点损坏,导致整个系统损坏
1.8服务器硬件--CPU
CPU是CentralProcessing Unit的缩写,即中央处理器。由控制器和运算器构成,是整个计算机系统中最重要的部
1.8.1服务器CPU公司
Intel公司
Xeon 至强
Itanium 安腾
AMD公司(服务器领域基本很少使用,家用电脑中会使用)
Althlon MP
IBM(银行)小型机
Power:CPU性能好
1.8.2主频=外频x倍频
主频:系统总线的工作频率越高,系统性能越好,但是实在同样架构的CPU频率上讲
外频:系统总线的工作频率,即和外部部件(CPU)交换的数据
倍频:是指CPU外频与主频相差的倍数
主频=外频*倍频
4G=1G*4(倍频)=内存
Cpu=4G
1G相当于一条生产线
高速缓存(cache):把经常使用的数据放入缓存中,下次直接从缓存提取,和CPU的速度差别不大,但是缓存比较小
查看CPU信息lscpu
一级缓存速度最快,三级缓存速度最慢;L1,L2,L3
1.8.3二进制数字
2^10=1k
2^20=1M
2^30=1G
2^40=1T
2^50=1P
2^60=1E
2^70=1Z
2^80=1Y
2^90=1B
1.8.4 CPU类型
X86
X64(CISC)
ARM(Acorn RISC Machine)
m68000, m68k(moto),大概是一九八几年的CPU
Power(IBM):性能好,价格贵
Powerpc(apple,ibm,moto)
Ultrasparc (Sun)
Alpha(HP)
安腾(compaq)
APM是架构
主流的是X86CPU
1.9服务器分类
非x86服务器:
使用RISC(精简指令集)或EPIC(并行指令代码,安腾)处理器,并且主要采用UNIX和其它专用操作系统的服务器,指令系统相对简单,它只要求硬件执行很有限且最常用的那部分执令,CPU主要有Compaq的Alpha、HP的PA-RISC、IBM的Power PC、MIPS的MIPS和SUN的Sparc、Intel研发的EPIC安腾处理器等。这种服务器价格昂贵,体系封闭,但是稳定性好,性能强,主要用在金融、电信等大型企业的核心系统。
x86服务器:
又称CISC(复杂指令集)架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构,使用Intel或其它兼容x86指令集的处理器芯片的服务器。目前主要为intel的Xeon E3,E5,E7系列,价格相对便宜、兼容性好、稳定性较差、安全性不算太高
2.1服务器硬件
2.1.1服务器硬件—CPU
按CPU个数来分:
4路及4路以上服务器(企业级服务器)
2路服务器(部门级服务器)
1路服务器(入门级服务器)
几路服务器的意思是有几个CPU
2.1.2服务器硬件—主板
主板一般为矩形电路板,上面安装了组成计算机的主要电路系统,一般有BIOS芯片、I/O控制芯片、键盘和面板控制开关接口、指示灯插接件、扩充插槽、主板及插卡的直流电源供电接插件等元件
2.1.3服务器硬件—内存
内存:
介于CPU和外部存储(硬盘)之间(要足够大,ram断电就丢了,主板:rom(断电不丢失)),所有的程序运行都是在内存中发生
速度:CPU>内存>硬盘
内存和外存的区别:
内存断电后数据丢失,
外存断电后数据可以保存
内存带宽:
内存带宽是指内存与北桥芯片之间的数据传输率.
单通道内存节制器一般都是64-bit的,8个二进制位相当于1个字节,换算成字节是64/8=8,再乘以内存的运行频率,如果是DDR内存就要再乘以2
计算公式:内存带宽=内存总线频率×数据总线位数/8
DDR2内存带宽计算:
DDR2667,运行频率为333MHz,带宽为333×2×64/8=5400MB/s=5.4GB/s
DDR2800,运行频率为400MHz,带宽为400×2×64/8=6400MB/s=6.4GB/s
1byte字节(B)=8bit位(b)
在线备用内存技术
当主内存或者是扩展内存中的内存出现多位错误时或者出现物理内存故障时,服务器仍继续运行
由备用内存接替出现故障内存的工作
备用的内存区域必须比其它区域的内存容量要大或相同
一般来讲服务器的内存上面都有专门的校验技术ECC(计算数据的时候,把内存数据做一个校验类,可以解答数据出错,一般家用电脑没有此功能)
内存镜像
镜像为系统在出现多位错或内存物理故障时提供数据保护功能,以保证系统仍能正常的运行
数据同时写入两个镜像的内存区域
从一个区域进行数据的读取
2.1.4服务器硬件—硬盘
硬盘结构:
存储介质(Media)——盘片
盘片的基板是金属或玻璃材质制成,为达到高密度高稳定的质量,基板要求表面光滑平整,不可有任何暇疵。
读写头(Read Write Head)——磁头
磁头是硬盘读取数据的关键部件,它的主要作用就是将存储在硬盘盘片上的磁信息转化为电信号向外传输。
马达(Spindle Motor & Voice CoilMotor )
马达上装有一至多片盘片,以7200或15000 RPM 定速旋转,为保持其平衡不可抖动,所以其质量要求严谨,不产生高温躁音
硬盘接口类型:
IEEE 1394接口
IDE接口--------硬盘接口规范,采用ATA技术规范(很早以前家用电脑使用,现已淘汰)
SCSI接口------应用于小型机上的高速数据传输技术。(早期服务器上使用)
SATA接口-----Serial ATA,提高传输速率,支持热插拔。(现在家用使用)
SAS接口-------Serial Attached SCSI,兼容SATA。(现在服务器使用)
目前主流的硬盘接口为SATA和SAS接口,
因此,硬盘按接口类型可分为SATA硬盘和SAS硬盘。
磁盘主要参数:
磁盘尺寸:3.5”/2.5”/1.8”
磁盘容量:146GB/300GB/500GB…
磁盘转速:10K/15K/7200
接口速度:3GB/6GB
是否支持热插拔
平均无故障时间(MTBF)
接口速度不代表硬盘的速度
SATA硬盘:
容量一般为:250GB,320GB,500GB,750GB,1T,2T。
转速为有5400转,7200转。
缓存有:8M,16M,32M。
SAS硬盘:
容量一般为:146GB,300GB,450GB,600GB,1T,2T…
转速为有10000转,15000转
缓存有:16M,32M,64M
服务器的性能短板:
如果CPU有每秒处理1000个服务请求的能力,各种总线的负载能力能达到500个,但网卡只能接受200个请求,而硬盘只能负担150个的话,那这台服务器得处理能力只能是150个请求/秒,有85%的处理器计算能力浪费了
在计算机系统当中,硬盘的读写速率已经成为影响系统性能进一步提高的瓶颈
所以为了提高服务器的性能就要提高硬盘的速率
SSD硬盘:
SSD(Solid State Disk)泛指使用NAND Flash组成的固态硬盘。其特别之处在于没有机械结构,以区块写入和抹除的方式作读写的功能,因此在读写的效率上,非常依赖读写技术上的设计。
SSD读写存取速度快,性能稳定,防震性高,发热低,耐低温,电耗低,无噪音。因为没有机械部分,所以长时间使用也出现故障几率也较小。缺点:价格高,容量小,在普通硬盘前毫无性价比优势。
2.1.5服务器硬件—阵列卡
Raid卡:
用来实现RAID的建立和重建,检测和修复多位错误,错误磁盘自动检测等功能。RAID芯片使CPU的资源得以释放。
阵列卡(RAID卡)的作用
阵列卡把若干硬盘驱动器按照一定要求组成一个整体、由阵列控制器管理的系统。
阵列卡用来提高磁盘子系统的性能及可靠性。
阵列卡参数
支持的RAID级别
阵列卡缓存
电池保护
性能提高
提供冗错性
2.2 存储基础知识---存储网络
DAS:
直接存储(Direct Attached Storage)。存储设备与主机的紧密相连。(专有的,只能给这一台服务器使用,使用的比较多)数据线直连
管理成本较低,实施简单。
储时直接依附在服务器上,因此存储共享受到限制。
CPU必须同时完成磁盘存取和应用运行的双重任务,所以不利于CPU的指令周期的优化,增加系统负担。
NAS:
网络连接存储(Network Attached Storage):
通过局域网在多个文件服务器之间实现了互联,基于文件的协议(NFS(linux)、SMB(windows)/CIFS),实现文件共享。 SMB、FTP、NFS
集中管理数据,从而释放带宽、提高性能。
可提供跨平台文件共享功能。
可靠性较差,适用于局域网或较小的网络。
SAN:
存储区域网络(Storage Area Networks,SAN)
利用高速的光纤网络链接服务器与存储设备,基于SCSI,IP,ATM等多种高级协议,实现存储共享。(基于IP网络的ISCSI可以实现的是服务端装ISCSI服务,使用ISCSI协议共享给客户端,客户端也需安装ISCSI服务,实现的效果是在客户端多出了一块的硬盘,客户端可以对此硬盘进行格式化,存储等操作,但是实际上的硬盘还是在服务端)
服务器跟储存装置两者各司其职。
利用光纤信道来传输数据﹐以达到一个服务器与储存装置之间多对多的高效能、高稳定度的存储环境。
实施复杂,管理成本高。
NAS和SAN的区别是:
NAS使用时不需要自己来管理,数据和管理都是在服务器上自行管理,而SAN只是提供一个空间,管理数据等操作都是使用者进行的
2.3操作系统
2.3.1OS:Operating System
通用目的的软件程序,包含硬件驱动,进程管理,内存管理,网络管理,安全管理,文件管理
2.3.2 OS分类:
服务器OS:RHEL,CentOS,WindowsServer,AIX
桌面OS:windows10,windows 7,Mac OS,fedora
移动设备OS:Andriod,IOS,YunOS(阿里巴巴开发的独立系统)
2.4开发接口标准
2.4.1 ABI 应用程序二进制接口
现在在操作系统和硬件之间有个虚拟系统(esx)跑虚拟机性能好,微软是HVPER-V
ABI接口是由操作系统决定的,不同的操作系统ABI接口不同,
允许编译好的目标代码在使用兼容ABI的系统中无需改动就能运行
2.4.2 API
应用程序开发标准
定义了源代码和库之间的接口
APP在开发的时候会调用系统的函数库,函数库包含函数库调用(library function call)和系统调用(systemcall, ,实际上就是一些程序接口在操作系统里面,定义了应用程序能调用OS的哪些功能)
很多系统调用来组合成函数库来实现某个函数的功能,应用程序开发不需要访问系统库,直接访问函数库即可
库函数
静态库:集成在一起
linux 中是 :.a
winndow中是:lib
动态库:linux 中是 : .so
winndow中是:dll
查看Linux的库文件
LSE:linux的标准库
运行程序格式:
Windows: EXE,dll(dynamic link library),lib
Linux:ELF,so(shared object),.a
2.4.3 POSIX 国际标准
可移植的操作系统接口
是API的标准接口,不是ABI的接口
IEEE在操作系统上定义的一系列API标准
POSIX兼容的程序可在其它POSIX操作系统编译执行
编译(编译器gcc转成二进制)
第一层为内核空间:操作系统自身的东西
第三层为用户空间,权限比较小只能做些简单的操作,没有权限访问硬件,想要访问硬件,就需要把请求发送到0环,由操作系统的程序去访问硬件
2.5编程语言
低级语言:
机器语言:0和1
汇编语言:和机器语言一一对应,与硬件相关的特有代码、驱动程序开发
中级语言:C
系统级应用、驱动程序
高级应用:java, Objective-C,C#,python, php应用级程序开发
2.6服务器三大操作系统
Windows nt
Windows 2000 2003 2008 2012
Unix
Bell lab
第二版效应
Multics(复杂):贝尔实验室在1965-1969年做的一个复杂的操作系统
Unics
第三版
Unix 83年获得图灵奖
B 语言 ken tompson
C 语言
GNU:is not Unix
GCC VI
宏内核 :linux GNU TOOLS
GNU+linux内核
微内核: windows
Linux=kernel
GPL公用公共许可的局限性:
GPL同其它的自由软件许可证一样,许可社会公众享有:运行、复制软件的自由,发行传播软件的自由,获得软件源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由。
GPL还规定:只要这种修改文本在整体上或者其某个部分来源于遵循GPL的程序,该修改文本的 整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己作出的限制。因此,一项遵循GPL流通 的程序不能同非自由的软件合并。GPL所表达的这种流通规则称为copyleft,表示与copyright(版权)的概念“相左”。
来自 <http://www.oschina.net/question/12_2826>
copyleft:不需要版权,随便使用
LGPL:宽松的GPL
2.7 LINUX的哲学思想
v一切都是一个文件(包括硬件)
v小型,单一用途的程序
软件短小精干
v链接程序,共同完成复杂的任务
组合小程序就是编写脚本
v避免令人困惑的用户界面
在linux中建议用字符界面不要用图形界面
字符界面比较稳定
v配置数据存储在文本中
不影响稳定性
获取发行版
https://wiki.centos.org/Download
文件系统区别
ntfs(支持加密压缩)、fat、iso9660
ext2,3,4 centos6.x
xfs,btrfs
Linux使用‘/’
Window使用‘\’
MBR:
主分区:一个磁盘不能超过4个
扩展分区:最多一个+主分区<=4
/dev/sda1-4
逻辑分区:在扩展分区里面
/dev/sda5…..
GPT
/dev/sda
/boot 引导文件 200M
/
/home
/var/www
/testdir
swap
使用vmwareworkstation
vCPU:默认
v内存:1G以上,推荐2G
v硬盘:一块硬盘,200G
v网卡:桥接
v光盘:挂载对应版本的ISO文件
用户空间:
内核空间:操作系统运行的空间,内核空间才有权限访问硬件
/etc 配置文件 edit the config
114.114.114.114
8.8.8.8
Gedit /ec/gdm/custom.conf
AutomaticLoginEnable=True
AutomaticLogin=root
linux是符合GPLv2版本