文章目录
计算机系统
计算机即电脑,是一种能接收和存储信息,并按照存储在其内部的程序对海量数据进行
自动、高效的处理,并将处理结果输出的现代化只能电子设备
完整的计算机系统是由硬件系统和软件系统两大部分共同组成
计算机硬件
1、计算机发展历史
1、第一代计算机(1946-1957) 电子管时代
2、第二代计算机(1958-1964) 晶体管时代
3、第三代计算机(1965-1970) 集成电路时代
4、第四代计算机(1971以后) 大规模集成电路时代
2、冯·诺依曼体系结构
1946年美籍匈牙利数学家冯·诺依曼提成存储程序原理。把程序本身当做数据对待,程序及该程序处理的数据采用同样的方式进行储存,其要点是
- 数字计算机的数制采用二进制,bit位、byte字节、1byte = 8 bit
- 计算机应该按照程序顺序执行
- 计算机由输入(输入设备、存储器、运算器、控制器、输出设备)五大组件组成
1、输入设备 键盘、鼠标、录音笔
2、存储器 硬盘、内存、光盘
3、运算器
4、控制器
5、输出设备 显示器、麦克风
注:控制器和运算器统称为中央处理器(CPU)
控制器指挥、协调计算机各个组件各种进行工作
其中运算器主要进行数学运算
计算机分类
按规模分类
1、超级计算机
超级计算机又称巨型计算机,应用于国防尖端技术和现代科学计算中,其运算速度每秒
可达百万亿次以上,”天河一号为我国首台千万亿次超级计算机“
2、大型计算机
具有较高的运算速度,没秒可以执行几千万条指令,且具有较大存储空间。往往用于
科学计算、数据处理或作为网络服务器使用
3、小型计算机
指采用精简指令集处理器,性能价格介于PC服务器和大型主机之间,习惯上用来指UNIX
服务器
4、微型计算
指采用X86 CPU架构PC服务器、体积小巧轻便
按功能和角色划分
- 服务器和客户机
服务器
即Server,计算机的一种。通常是网络中为客户端计算机提供各种服务的高性能计算机,
也能为网络用户提供集中计算、信息发布及数据管理等服务
客户器
即Client,向服务器提出请求,需要服务器为其提供相应的服务和支持的计算机
- 服务器按应用功能可分为
WEB服务器、数据库服务器、文件服务器、中间件应用服务器、日志服务器、监控服务器、
程序版本控制服务器、虚拟机服务器、邮件服务器、打印机服务器、域控制服务器、多
媒体服务器、通讯服务器、ERP服务器等
服务器按外形分类
1、塔式Tower服务器
早期的服务器形式,目前比较少用,其外形和家用PC主机差不多,机箱空间大,主播扩展性较强
插槽较多。
2、刀片式Blade服务器
密度更高的服务器,这种服务器组成一组,放在一个框里面,可以整框使用,也可以单独拿来使用
具有更高的密度、集中管理、高性能、灵活扩展、按需配置等特点。可以使用系统软件将这些母板
集合成一个服务器集群,集群模式下,所有的模板可以连接起来提供更高效的网络环境,并同时共
享资源,为相同的用户群服务
3、机架式Rack服务器
按照统一标准设计,配合机柜统一使用,便于统计管理,高密度、节省空间,常用U为单位,
1U=1.75英寸=44.45毫米,机箱尺寸小巧,机构中可以同时放置多台服务器
机架式服务器的宽度为19英寸(48.26厘米)厚度通常有1U、2U、3U、4U、5U、7U几种标准的
服务器。是现阶段最主流的服务器
- 数据中心
数据中心有许多设备。大体可分为三类:服务器、网络设备、存储设备
服务器硬件组成
CPU
- CPU:又叫中央处理器。由控制器和运算器组成,是整个计算机系统中最重要的部分
CPU架构
X86/X86_64架构
主导桌面与服务器芯片市场
ARM架构
即手机等各种移动安卓设备
POWER架构
由IBM设计,在超级计算机、小型计算机及工作站中广泛使用
CPU指令集
- 分为CISC复杂指令集和RISC精简指令集
主板
- 主板安装在机箱内,是计算机最基本也是最重要的部件之一
- 一般为矩形电路板,其上安装了组成计算机的主要电路系统,一般BIOS芯片、I/O控制芯片
键盘和面板控制开关接口、指示灯插接件、扩充插槽、主板及插卡的直流电源供电接插件等
元件
内存
- 内存是计算机中重要的部件,用于暂时存放CPU中的运算数据,以及与硬盘等外部存储设备交换的数据。是外存与CPU进行沟通的桥梁
- 内存与外存的区别
内存 断电后数据丢失,存取速度快
外存 断电后数据可以保存,存取数据慢
外存
硬盘、U盘、软盘、光盘
- 服务器内存常用技术
1、在线备用内存技术
主内存或是扩展内存出现故障时,由备用内存接替出现故障的内存,服务器仍可继续运行
备用的内存区域必须要比其它区域的内存容量大或者相同
2.内存镜像
镜像为系统在出现多位错误或内存物理故障是提供数据保护功能,保证系统仍能继续运行
数据同时写入两个镜像的内存区域
从一个区域镜像数据的读取
- 容量
即该内存的存储容量,单位一般为GB - 内存带宽
指内存与北桥芯片之间的传输速率,B byte 字节 b bit位
计算公式:内存带宽=内存总线频率x数据总线位/8
如:
单通道DDR4-4000
4000MHz*64bit/8=32000MB/S
双通道DDR4-4000
4000MHz*64bit*2/8=640000MB/S
硬盘
- 常见硬盘接口种类
IDE
电子集成驱动器,早期家用电脑常用接口
SCSI
小型计算机系统接口,早期的服务器常用接口
SATA
高技术配置,当前家用电脑常用接口
SAS
目前服务器主流的接口
光纤通道
高性能服务器上采用的接口
M.2
固态硬盘接口,性能更强
- 按结构进行分类
机械硬盘HDD
存储介质 盘片
读写磁头 磁头
马达
固态硬盘SSD
网卡
- 服务器都在主板上集成了网卡,传输速率为1Gbps,即千兆网卡,也有光纤网卡、Infiniband
网卡等传输速率 能达到10Gbps、20Gbps。即万兆网卡
其它硬件
1、远程管理卡
安装在服务器上的硬件设备,提供一个以太网接口用于远程访问
2、Raid卡
用来实现RAID的建立与重建,检测和修复多位错误,错误磁盘自动修复等功能
3、电源
支持服务器的电力负载,支持冗余,防止电源故障预警和防止,故障之前的预防性维护,保证服务器
持续运行,电源系统包括:冗余电源和风扇
4、显卡
服务器为主板集成显卡,但显存都不高,即图形处理器
5、热拔插技术
称为热交换技术。允许在不关机的状态下更换故障热拔插设备,常见的热拔插设备有:硬盘、电源、
PCI设备、风扇等。配合RAID技术可以使服务器在不关机的状态下恢复故障硬盘上的数据,同时不
影响网络用户对数据的使用
服务器各硬件处理速度和性能优化
- 电脑各个设备之间延时从高到低的排列,依次是机械硬盘、固态硬盘、内存、CPU
- 存储器的层次结构
操作系统和Linux
操作系统的功能:
- 硬件驱动
- 进程管理
- 内存管理
- 网络管理
- 安全管理
- 文件管理
操作系统通过接口的方式,建立用户与计算机硬件的沟通方式,用户通过调用操作系统的接口来使用计算机的各种计算服务
操作系统一般会提供两个重要的接口,满足用户的一般性使用需求
- 命令行:shell终端程序提供的功能
- 窗口界面:通过图形窗口程序,使用鼠标、键盘等满足用户的一般需求
几个概念
ABI
应用程序二进制接口,应用程序与OS直接的底层接口,允许编译好的目标代码在使用兼容ABI
的系统中无需改动就能运行
运行格式
Windows:PE格式、.dll、.lib
Linux:ELF格式、.so、.a
API
应用程序开发接口,API定义了源代码与库之间的接口,同样的代码可以在支持这个API的任何
系统中编译
PISIX:可移植的操作系统接口
- 用户态和内核态
计算机硬件资源都是由操作系统内核进行管理的。目前操作系统都是基于多任务、多用户的。
如果每个用户进程都可以随便访问操作系统内核模块,改变状态。那么操作系统的稳定性、
安全性都将大大降低。因此为了将内核程序与用户程序隔开,在硬件层次上提供了一次机制,
将程序状态分为不同的级别。
如下图所示:
从0到3,数字越小,访问级别越高。其中0代表内核态,在该特权级别下,所有内存上的数据都是可见可访问的。3代表用户态,在此特权级下,程序只能访问一部分内存区域,只能执行一下限定的指令。
- 用户空间:User space
用户程序的运行空间。为了安全起见他们是隔离的,即使用户的程序崩溃,内核也不收影响
只能执行简单的运算,不能直接调用系统资源,必须通过系统接口,才能向内核发出指令
- 内核空间:Kernel space
是Linux内核运行的空间
可以执行任何命令,调用系统的一切资源
- 编程语言
低级语言:计算机能理解的语言,二进制
机器语言:0和1
汇编语言:跟机器语言一一对应,与硬件相关的特有代码、驱动程序开发
高级语言
JAVA、C、go、python、PHP、易语言等
各种操作系统
操作系统的演变
- 单用户系统:一次只能支持一个用户程序的运行,如DOS
- 批处理系统:用户将一批作业指令提交给操作系统后就不再交互,由操作系统自动运行
- 多道程序系统:程序控制CPU的处理顺序
- 分时系统:操作系统控制CPU处理顺序,多人共用一台计算机
- 个人计算机:每个用户对应一个系统,廉价、方便、易用
- 分布式计算:每个用户对应多个系统,云计算、大数据处理
服务器三大操作系统
Windows
Linux:GUN/Linux
Linux之父
林纳斯·托瓦兹
Unix
Unix之父
肯·汤普森
Linux的内核版本组成
-
主版本号
-
次版本号
-
末版本号
-
打包版本号
-
厂商版本
Linux发行版 -
Slackware:SUSE Linux Enterprise Server(SLES)、OpenSuse桌面
-
Debian:Ubuntu、Deepin(深度)、mint
-
RedHat: RHEL: RedHat Enterprise Linux 每18个月发行一个新版本(收费)
Centos:Community Enterprise Operating System兼容RHEL格式
中标麒麟:中国
Fedora:每6个月发行一个新版本 -
Alpine:一个面向安全的轻型Linux发行版,不同于通常的发行版,Alpine采用了musllibc和busybox以减小系统的体积和运行时的资源消耗,但功能上又比busybody又完善的多,只有5M大小
-
ArchLinux:清理简介,遵循K.I.S.S原则
-
Gentoo:极致的性能,不提供传统意义的安装程序,下载源代码在本机上编译安装软件
-
LFS: Linux From scratch自制的Linux,只是一个说明书
-
Android:kernel+busybody(工具集)+Java虚拟机
企业常用版本有Centos、Ubuntu、Redhat
- 几个概念
开源Open Source
软件和源代码提供给所有人,能够修改和创建衍生作品,free是自由的意思
软件分类
商业:收费,源代码也不公开
Windows等
共享:免费使用,但源码不公开
360管家等
自由:源代码公开
Centos等
- 开源协议
Linux哲学思想
- 一切皆文件(包括硬件)
- 程序用途单一、小型
- 各种单一程序链接,共同完成复杂的任务
- 避免图形界面(系统更为稳定、安全)
- 配置数据储存在文本中