现代计算机组成
根据冯·诺依曼结构体系计算机有五大部件组成:
运算器、控制器、存储器、输入设备、输出设备
CPU=运算器+控制器
运算器由算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存器组等组成。
算术逻辑运算单元(ALU)的基本功能为加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、求补等操作。
运算器只能进行二进制运算、逻辑运算
控制器控制着计算机各部件之间的协调
CPU指令集:
指令集是存储在CPU内部,对CPU运算进行指导和优化的硬程序。拥有这些指令集,CPU就可以更高效地运行。Intel有x86,EM64T,MMX,SSE,SSE2,SSE3,SSSE3 (Super SSE3),SSE4.1,SSE4.2,AVX。
AMD主要是x86,x86-64,3D-Now!指令集。
指令分为:
特权指令:操作系统才能运行特权指令
普通指令:应用程序运行
操作系统调用的是Ring 0区域,应用程序调用的是Ring 3区域
应为历史原因:Ring 1,Ring 2保留.
芯片有载入过程也被boot启动过程。
开机执行BIOS(基本输入输出系统)引导程序,这个过程叫做系统自检,标识和配置所有的即插即用设备,并配置DMA通道;完成加电自检,测试内存,端口,键盘,视频适配器,磁盘驱动器等基本设备,以及CD-ROM驱动器;对引导驱动器可引导分区定位:在CMOS(complementary metal oxide semiconductor,互补金属氧化物半导体)中,可以自行设置引导顺序,一般顺序是软驱,磁盘,光驱;加载主引导记录以及引导驱动器的分区表,执行主引导记录MBR,主引导记录在硬盘上找到可引导分区,将其分区引导记录装入内存,并将控制权交给分区引导记录,由分区引导记录定位根目录,然后装入操作系统。
System call:系统调用,叫做 syscall
任何只有内核才能执行的操作,通过接口的形式表现出来,这些接口称之为系统调用。
编程层次:
硬件规格:hardware specifiacatio
系统调用:系统调用很少
库调用:library call 离成软件成品近
把系统调用封装成更复杂的程序,以供别人使用,称之为库,又称重复造轮子。
系统启动:内核+外壳
UI:前端,用户接口
GUI:graphic user interface 图形用户接口
CLI:command line interface 命令行
用户接口程序,通过用户接口程序来启动其他程序。
ABI:application binary interface :应用二进制接口 编译以后
API:Application Progrming Interface 开发以后 应用编程接口
CPU架构类型:
CPU:X86,X86-64,Power,PowerPC,Alpha(HP),安腾,UltraSparc,ARM,MIPS,M68000(m68k)
编程语言:方便人使用就越高级
汇编编程也叫微码编程
机器语言—>汇编语言–>高级语言 三个层次
高级语言通过两次转换才能运行
高级语言à汇编语言à机器语言 转换过程
如果c语言第一步编译过程,高级语言转换到汇编语言取决于底层芯片是什么格式的。最好从汇编转换成特定机器支持的机器代码也叫机器指令。
第一步叫编译
第二步:把机器语言转换汇编语言叫汇编的过程。
让计算机干什么活你要写程序的。
让程序灵活的使用就要消除底层的差异。
为了避免程序员写程序的时候遇到不同机器的不同情况。
OS:operation system
操作系统起到承上启下作用
操作系统是个软件,其次将底层计算机提供的各种计算的能力给抽象为一种统一的接口的一种程序。
部件和部件之间如何实现数据交换
线路来实现统常称为:bus 总线
总线的作用:将电气信号转换为数字信号
控制总线、数据总线、地址总线
地址总线是为了实现寻址的
什么叫寻址
运算器和控制器是实现运算和控制的,数据放在存储器中
Memory:编址存储单元
内存的每一个存储单元都是有地址的。
线性地址空间:线性地址(Linear Address)是逻辑地址到物理地址变换之间的中间层。在分段部件中逻辑地址是段中的偏移地址,然后加上基地址就是线性地址。虚拟内存空间。
32位的二进制表示2^32,最多支持4G内存
64位的二进制表示 2^64
存储器编址存储设备
计算器运算加法:取数值,运算,输出结果
IO:与外部部件交互
磁盘
网卡
ROM:只读存储器,寻址地址空间的组成部分
RAM:随机存储器
南桥:低速
北桥:高速
服务器硬件介绍
企业PC服务器品牌及型号
互联网公司的服务器品牌:DELL、HP、IBM(百度)、浪潮、联想、航天联志。
Dell服务器品牌: 1U=4.45cm
2010年以前 1u:1850、1950 2u:2850、2950
2010-2013:1u:R410/R610 2u:R710服务器
2014-2015:1u:R420/430、/R620/630 2u:R720/730
2U服务器
1u服务器IBM:品牌:
2U:3750/3850/3950
HP品牌:
2U:DL380G7
服务器主要零部件:
1、电源:
就是人体的心脏,生产中一般核心业务用双电源,双线AB路,如果集群的环境
可以例外。
1u服务器电源 2u服务器电源2、CPU处理器:
人体的大脑,负责运算和控制,是服务器性能效率的最核心部件。
常见品牌:
Intel、AMD
一般的企业服务器,CPU颗数2-4颗,单颗CPU是4核。内存总量一般是16-48G。
做虚拟化的宿主机,CPU颗数4-8颗,内存总量一般48-128G。
代表图片
3、内存
CPU和磁盘之间的缓冲设备,临时的存储器
一般程序运行的时候会被调用到内存中执行,服务器关闭或程序关闭之后,自动从内存中释放掉。
进程:正在运行着的程序,进程会放在内存里执行。
守护进程:持续保持运行着的程序
程序:php/java,代码文件,静态的,放在磁盘里的。
计算机重启,内存的数据会被释放掉。
企业案例:
1)门户网站案例:高并发、大数据量:会把数据先写到内存,达到一定的量,然后在定时或者定量的写到磁盘(减少磁盘I/O),最终还会加载到内存对外提供访问。
特点:
a、优点:写内存的性能高(微博、微信、SNS、秒杀)
b、缺点:可能丢失一部分在内存中还没有来得及存入磁盘的数据。
解决方法:
1、服务器主板上有电池
2、UPS不间断供电(持续供电10分钟,IDC数据UPS 1小时)
2)大中小企业案例:并发不是很多的网站,读多写少的业务,会把数据写入到磁盘,然后通过程序把数据读入到内存里,再对外通过读内存提供访问服务。
缓存无处不在
写入数据到内存,成为缓冲区(buffer)
从内存读取数据,内存空间(cache)
由于99%的是网站都是读取为主,写入为辅,读写比例至少10:1,所有并发写入不是问题。
提醒:这里提到的内存和磁盘,是有多台机器组成的集群架构环境。Memcahced/redis
企业级内存
4、磁盘
永久存在数据的存储器
常用的3.5英寸的(ide、sas、sata)硬盘,读取(性能不高)性能比内存差很多,所有工作中,我们会把大量的数据缓存到内存,是必备的解决方案。
硬盘接口或类型:IDE、scsi、sas、sata、ssd(电子的)
性能:ssd(固态)>sas>sata
企业应用:
1、常规正式工作场景选sas硬盘(转速15000/分,机械硬盘转速高的性能好)
2、不对外提供访问的服务器:例如:线下的数据备份,可选sata(7200/10000)
Sata特点:容量大,价格便宜,但是速度比较慢 。
3、高并发,小数据量,可以选ssd
Ssd最好,都选ssd吧?
淘宝网企业案例:服务器会把sata和ssd结合起来用,热点存储,程序动态调度。笔记本
代表图片:
5、DELL阵列卡(raid卡)
基本作用:网站数据量很大,单块磁盘装不下了,有了多块盘,又不想单个盘存放数据,就需要工具把所有硬盘整合成一个大硬盘,在这个大硬盘上在分区放数据。
Raid有多中整合方式
Raid 0 1 5 10
原创文章,作者:N21_ Dominic,如若转载,请注明出处:http://www.178linux.com/17927