Linxu求学之路——计算机基础
本章内容2023-06-20 
-
计算机系统
-
计算机硬件组成
-
操作系统
-
Linxu相关介绍
-
Linux哲学思想
-
虚拟机
一、计算机系统
计算机系统是由硬件(Hardware)系统和软件(software)组成
二、计算机硬件组成
1)计算机(Computer),俗称电脑,是一种能接收和存储存储信息,并按照存储在其内部的程序对海量数据进行自动、高速的处理,然后把处理结果输出的现代化智能电子设备
2)冯.诺依曼体系结构:1946年数学家冯.诺依曼提出,计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成
3)服务器
服务器Server 是计算机的 一种,是网络中为客户端计算机提供各种服务的高性能的计算机,服务器在网络操作系统的控制下,将与其相连的硬盘、打印机及昂贵的专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发布及数据管理等服务
服务器按应用功能可分为:
Web服务器、数据库服务器、文件服务器、中间件应用服务器、日志服务器、监控服务器、程序版本控制服务器、虚拟机服务器、邮件服务器、打印服务器、域控制服务器、多媒体服务器、通讯服务器、ERP服务器等
服务器按外形分类:塔式服务器、刀片式服务器、机架式服务器
*常见机架式Rack服务器
按照统一标准设计,配合机柜统一使用
便于统计管理,高密度,节省空间
机架服务器的宽度为19英寸(48.26cm),高度以U为单位,如42U
1U=1.75英寸=44.45毫米,通常有1U,2U,3U,4U,5U,7U几种标准的服务器,机柜的尺寸也是采用通用的工业标准
4)服务器的硬件组成
5)服务器配置示例
7)服务器硬件——CPU
CPU是Central Processing Unit的缩写,即中央处理器。由控制器和运算器构成,是整个计算机系统中最重要的部分
服务器CPU公司:Intel xeon至强 Itanium 安腾 AMD、IBM
主频:主频是CPU的时钟频率(CPU Clock Speed),是CPU运算的工作的频率(1秒内发生的同步脉冲数)的简称。单位是Hz.主频越高,CPU的速度越快,由于内部结构的不同,并非所有的时钟频率相同的CPU的性能都一样
外频:系统总线的工作频率,CPU与外部(主板芯片组)交换数据、指令的工作时钟频率
倍频:倍频则是指CPU外频与主频相关的倍数
三者的关系是:主频=外频*倍频
高速缓存(cache):高速交换的存储器。CPU缓存分为一级,二级,三级缓存,即L1,L2,L3
内存总线速度(Memory-Bus Speed):一般等同于CPU的外频,指CPU与二级(L2)高速缓存和内存之间的通信速度
地址总线宽度:决定了CPU可以访问的物理地址空间
服务器分类:按照CPU体系架构来区分,服务器主要分为两类:非x86服务器:使用RISC(精简指令集)这种服务器价格昂贵,体系封闭,但是稳定性好,性能强,主要用在金融、电信等大型企业的核心系统
x86服务器:又称CISC(复杂指令集)架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构,使用Intel或其它兼容x86指令集的处理器芯片的服务器。目前主要为intel的Xeon E3,E5,E7系列,价格相对便宜、兼容性好、稳定性较差、安全性不算太高
8)服务器硬件——主板
主板mainboard,安装在机箱内,一般为矩形电路板,上面安装了组成计算机的主要电路系统,一般有BION芯片、I/O控制芯片、键盘和面板控制开关接口、指示灯插接件、扩充插槽、主板及插卡的直流电源供电接插件等元件
9)服务器硬件——内存
内存是介于CPU和外部存储之间,是CPU对外部存储中程序与数据进行高速运算时存放程序指令、数据和中间结果的临时场所,它的物理实质就是一组具备数据输入输出和数据存储的高速集成电路
内存是CPU能直接寻址的存储空间,由半导体器件制成。内存的特点是存取速度快
计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大
外存:硬盘,U盘,软盘,光盘
内存和外存的区别:内存断电后数据丢失,外存断电后数据可以保存
容量:即该内存的存储容量,单位一般为“MB"或"GB"
内存带宽:内存带宽是指内存与北桥芯片之间的数据传输率,单通道内存控制器一般都是64-bit的,8个二进制位相当于1个字节,换算成字节是64/8=8,再乘以内存的运行频率,如果是DDR内存就要再乘以2
计算公式:
内存带宽=内存总线频率*数据总线倍数/8
示例:DDR内存带宽计算
DDR2 667,运行频率为333MHz,带宽为333*2*64/8=5400MB/s=5.4GB/s
在线备用内存技术
当主内存或者是扩展内存中的内存出现多位错误时或者出现物理内存故障时,服务器仍继续运行,由备用内存接替出现故障内存的工作,备用内存区域必须比其它区域内存容量要大或相同
内存镜像:镜像为系统在出现多位错或内存物理故障时提供数据保护功能,以保证系统能正常运行,数据同时写入两个镜像的内存区域,从一个区域进行数据的读取
10)服务器硬件——硬盘
机柜硬盘结构:存储介质——盘片(盘片的基板是金属或玻璃材质制成,为达到高密度稳定的质量,基板要求表面光滑平整,不可有任何瑕疵
读写头——磁头(磁头是硬盘读取数据的关键部件,它的主要作用是将存储在硬盘盘片上的磁信息转化为电信号向外传输
马达:(马达上装有一至多片盘片,以7200,10000,15000RPM等定速旋转,为保持其平衡不可抖动,所以其质量要求严谨,不产生高温噪音
硬盘基本参数:容量单位有MB,GB,TB
转速(转速是指硬盘盘片每分钟转动的圈数,单位为rpm。现在硬盘的转速已经达到 10000rpm ,15000rpm
传输速率(硬盘的数据传输率是指硬盘读写数据的速度,单位为兆字节每秒(MB/s)
缓存:硬盘缓存的目的是为了解决系统前后级读写速度不匹配的问题,以提高硬盘的读写速度
硬盘的接口类型:
IDE接口:硬盘接口规范,采用ATA技术规范
SCSI接口:应用于小型机上的高速数据传输技术
SATA接口:Serial ATA,提高传输速率,支持热插拔
SAS接口:Serial Attached SCSI,兼容SATA
目前主流的硬盘接口为SATA和SAS 接口
SSD硬盘:(Solid State Disk)泛指使用NAND Flash 组成的固态硬盘。其特别之处在于没有机械结构,以区块写入和抹除的方式作读写的功能,因此在读写的效率上,非常依赖读写技术上的设计SSD读写存取速度快,性能稳定,防震性高,发热低,耐低温,电耗低,无噪音。因为没有机械部分,所以长时间使用也出现故障几率也较小。缺点:价格高,容量小,在普通硬盘前毫无性价比优势
服务器的性能短板:如果CPU每秒处理1000个服务请求的能力,各种总线的负载能力能达到500个,但网卡中能接受200个请求,而硬盘只能负担150个的话,那这台服务器得处理能力只能接受150个请求/秒,有85%的处理器计算能力浪费了
在计算机系统中,硬盘的读写速率已经成为影响系统性能进一步提高的瓶颈
11)服务器硬件——阵列卡
Raid卡:用来实现RAID的建立和重建,检测和修复多位错误,错误磁盘自支检测等功能。RAID芯片使CPU的资源得以释放。
阵列卡(RAID卡)的作用
阵列卡把若干硬盘驱动器按照一定要求组成一个整体、由阵列控制器管理的系统,提高磁盘子系统的性能及可靠性
阵列卡参数:支持的RAID级别、 阵列卡缓存、 电池保护
12)服务器硬件——电源
电源和风扇:支持服务器的电力负载、支持冗余防止电源故障(故障之前的预防性维护)
电源子系统包括:智能电源和风扇、冗余电源和风扇
13)服务器硬件——显卡
服务器都在主板上集成了显卡,但是显存容量不高,一般为16M或32M
GPU:Graphic Processing Unit,即“图形处理器”
14)服务器硬件——网卡
服务器都在主板上集成了网卡,传输速率为1Gbps,即千兆网卡,特殊应用需要高端网卡,如光纤网卡,Infiniband 网卡等,传输速率能达到 10Gbps、20Gbps,即万兆网卡
15)服务器硬件——热插拔技术
热插拔技术:允许在不关机的状态下更换故障设备。常见有:硬盘、电源、PCI设备、风扇等。
热插拔硬盘技术与RAID技术配合起来,可以使服务器在不关机的状态下恢复故障硬盘上的数据,同时并不影响网络用户对数据的使用
16)服务器硬件——机柜
通常使用的机柜是42U(约2米高)机柜(1U=44.45mm)
外观尺寸一般为:宽600*深1000*高2000(mm)
三、操作系统
1)OS:Operating System,通用目的的软件程序
硬件驱动、进程管理、内存管理、网络管理、安全管理、文件管理
OS分类:服务器OS:RHEL,Centos,Windows Server,AIX
桌面OS:Windows10,windows7,Mac OS
移动设备OS:Andriod,IOS,AliOS
2)Interface:接口,用来连接两个东西、信号转换,后来延伸到软件工程里指软件包向外提供的功能模块的函数接口。
操作系统通过接口的方式,建立了用户与计算机硬件的沟通方式,用户通过调用操作系统的接口来使用计算机的各种计算服务
操作系统一般会提供两个重要的接口来满足用户的一些一般性的使用需求:
命令行:实际是一个叫shell的终端程序提供的功能,该程序底层的实质还是调用一些操作系统提供的函数
窗口界面:窗口界面通过编写的窗口程序接收来自操作系统消息队列的一此鼠标、键盘动作,进而做出一些响应
开发接口标准
ABI:Application Binary Interface
ABI描述了应用程序与OS之间的底层接口,允许编译好的目标代码在使用兼容ABI的系统中无需改动就能运行
3)运行程序格式:
Windows:EXE,.dll(dynamic link library),.lib
Linux:ELF,so(shared object),.a(静态链接库文件)
API:Application Programming Interface
API定义了源代码和库之间的接口,因此同样的源代码可以在支持这个API的任何系统中编译
POSIX:Portable Operationg System Interface 可移植的操作系统接口
IEEE操作系统上定义的一系列API标准
POSIX兼容的程序可以在其它POSIX操作系统编译执行
4)用户态和内核态
计算机硬件资源都是操作系统内核进行管理的,目前操作系统都是基于多任务、多用户的。如果每个用户进程都可以随便访问操作系统内核的模块,改变状态,那整个操作系统的稳定性、安全性都大大降低
为了将内核程序与用户程序隔离开,在硬件层面上提供了一次机制,将程序执行的状态分为了不同的级别,从0到3,数字越小,访问级别越高。0代表内核态,在该特权级别下,所有内存上的数据都是可见的,可访问的。3代表用户态,在这人特权级别下,程序只能访问一部分的内存区域,只能执行一些限定的指令
5)系统调用system call
对于 非一般性使用需求,操作系统提供了一系列的函数调用给软件开发者,由软件开发者来实现一些用户需要的功能 。这些函数调用由于是操作系统内核提供的,为了有别于一般的函数调用,被称为系统调用。比如使用C语言进行软件开发时,经常用的printf函数,它的内部实际就是通过write这个系统调用,让操作系统内核把字符打印在屏幕上的
6)用户和内核空间
用户空间:User space: 用户程序运行空间,为了安全,它们是隔离的,即使用户的程序崩溃,内核也不受影响,只能执行简单的运算,不能直接调用系统资源,必须通过系统接口(system call),才能向内核发出指令。
内核空间:Kernel space :是Linux内核的运行空间,可以执行任意命令,调用系统的一切资源
7)编程语言
低级语言:0和1
汇编语言:和机器语言一一对应,与硬件相关的特有代码、驱动程序开发
中级语言:C 系统级应用、驱动程序
高级语言:java,python,go.php.Objective-C, C#:应用级程序开发
服务器三大操作系统
windows,Linux(已成趋势),Unix
Linux的哲学思想
一切都是一个文件(包括硬件)、小型,单一用途的程序、链接程序,共同完成复杂的任务、避免令人困惑的用户界面、配置数据存储在文本中
虚拟机
虚拟机:用软件(如:vmware,virtualboxz等)模拟硬件
使用vmware workstation:CPU:默认、内存:1G以上,推荐2G、硬盘:一块硬盘,200G、网卡:桥接或仅主机模式、光盘挂载对应版本的ISO 文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律