计算机基础知识超强总结!马哥教育出品
计算机系统
计算机系统由硬件(Hardware)系统和软件(Software)系统两大部分组成
计算机硬件
计算机(Computer):俗称电脑,是一种能接收和存储信息,并按照存储在其 内部的程序对海量数据进行自动、高速地处理,然后把处理结果输出的现代化 智能电子设备
发展历史:
第一代计算机(1946-1957) 电子管时代
第二代计算机(1958-1964) 晶体管时代
第三代计算机(1965-1970) 集成电路时代
第四代计算机(1971以后) 大规模集成电路时代
1946年,世界上第一台计算机ENIAC(electronic numerical integrator and calculator)在美国宾州大学诞生,是美国奥伯丁武器试验场为了满足计算弹道 需要而研制成的。使用了17468只电子管,占地170平方米,重达30吨,耗电 174千瓦,耗资40多万美元。每秒可进行5000次加法或减法运算
世界上第一台计算机
计算机硬件组成
冯·诺依曼体系结构: 1946年数学家冯·诺依曼于提出,计算机硬件由运算器、 控制器、存储器、输入设备和输出设备五大部分组成
冯·诺依曼
摩尔定律
由英特尔(Intel)创始人之一戈登·摩尔于1965年提出 当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月 便会增加一倍,性能也将提升一倍
按规模划分
巨型计算机:应用于国防尖端技术和现代科学计算中。巨型机的运算速度可达 每秒百万亿次以上, “天河一号”为我国首台千万亿次超级计算机
大型计算机:具有较高的运算速度,每秒可以执行几千万条指令,而且有较大 的存储空间。往往用于科学计算、数据处理或作为网络服务器使用,如:IBM z13 mainframe
小型计算机:规模较小、结构简单、运行环境要求较低,一般应用于工业自动 控制、测量仪器、医疗设备中的数据采集等方面
微型计算机:中央处理器(CPU)采用微处理器芯片,体积小巧轻便,广泛用 于商业、服务业、工厂的自动控制、办公自动化以及大众化的信息处理
服务器
服务器Server是计算机的一种,是网络中为客户端计算机提供各种服务的高性能的计算机,服务器在网络操作系统的控制下,将与其相连的硬盘、磁带、打 印机及昂贵的专用通讯设备提供给网络上的客户站点共享,也能为网络用户提 供集中计算、信息发布及数据管理等服务
服务器按应用功能可分为:
Web服务器、数据库服务器、文件服务器、中间件应用服务器、日志服务器、 监控服务器,程序版本控制服务器、虚拟机服务器、邮件服务器、打印服务器、 域控制服务器、多媒体服务器、通讯服务器、ERP服务器等
服务器按外形分类:
塔式服务器、刀片式服务器、机架式服务器
塔式Tower服务器
早期的服务器形式
外形以及结构和平时使用的立式PC差不多
机箱空间大,主板扩展性较强,插槽较多
预留了足够的内部空间以便日后进行硬盘和电源的冗余扩展。 设计一般都考虑降噪
目前较少使用
刀片式Blade服务器
在标准高度的机架式机箱内可插装多个卡式的 服务器单元,实现高可用和高密度
更高的密度,集中管理,高性能,灵活扩展, 按需配置
可以使用系统软件将这些母板集合成一个服务 器集群。在集群模式下,所有的母板可以连接 起来提供高速的网络环境,并同时共享资源, 为相同的用户群服务
机架式Rack服务器
按照统一标准设计,配合机柜统一使用
便于统计管理,高密度,节省空间
机架服务器的宽度为19英寸(48.26cm), 高度以U为单位,如42U
1U=1.75英寸=44.45毫米,通常有1U, 2U,3U,4U,5U,7U几种标准的服务器。机柜的尺寸也是采用通用的工业标准
现阶段销售数量最多的服务器
机箱尺寸比较小巧
在机柜中可以同时放置多台服务器
服务器硬件组成
服务器配置示例
服务器硬件---CPU
CPU是Central Processing Unit的缩写,即中央处理器。由控制器和运算器构 成,是整个计算机系统中最重要的部分
服务器CPU公司
Intel
Xeon 至强
Itanium 安腾
AMD
Althlon MP
IBM
Power
主频:主频是CPU的时钟频率(CPU Clock Speed),是CPU运算时的工作的频率 (1秒内发生的同步脉冲数)的简称。单位是Hz。一般说来,主频越高,CPU的 速度越快,由于内部结构不同,并非所有的时钟频率相同的CPU的性能都一样
外频:系统总线的工作频率, CPU与外部(主板芯片组)交换数据、指令的工作 时钟频率
倍频:倍频则是指CPU外频与主频相差的倍数
三者关系是:主频=外频x倍频
高速缓存(cache):高速交换的存储器。CPU缓存分为一级,二级,三级缓存, 即L1,L2,L3
内存总线速度(Memory-Bus Speed): 一般等同于CPU的外频,指CPU与二级(L2) 高速缓存和内存之间的通信速度
地址总线宽度:决定了CPU可以访问的物理地址空间
CPU类型
x86
X64(CISC)
ARM(Acorn RISC Machine)
m68000, m68k(moto)
Power(IBM)
Powerpc(apple,ibm,moto)
Ultrasparc (Sun)
Alpha(HP)
安腾(compaq)
微型计算机CPU的发展
服务器分类
按照CPU体系架构来区分,服务器主要分为两类:
非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系列,价格相对便宜、兼容性好、稳 定性较差、安全性不算太高
服务器硬件---主板
主板mainboard、系统板systemboard或母板motherboard,安装在机箱内, 是计算机最基本的也是最重要的部件之一
主板一般为矩形电路板,上面安装了组成计算机的主要电路系统,一般有BIOS 芯片、I/O控制芯片、键盘和面板控制开关接口、指示灯插接件、扩充插槽、主 板及插卡的直流电源供电接插件等元件
服务器硬件---内存
内存是介于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
DDR2 800,运行频率为400MHz,带宽为 400×2×64/8=6400MB/s=6.4GB/s
在线备用内存技术
当主内存或者是扩展内存中的内存出现多 位错误时或者出现物理内存故障时,服务 器仍继续运行
由备用内存接替出现故障内存的工作
备用的内存区域必须比其它区域的内存容 量要大或相同
内存镜像
镜像为系统在出现多位错或内存物理故障 时提供数据保护功能,以保证系统仍能正 常的运行
数据同时写入两个镜像的内存区域
从一个区域进行数据的读取
服务器硬件---硬盘
机械硬盘结构:
存储介质(Media)——盘片
盘片的基板是金属或玻璃材质制成,为达到高密度高稳定的质量,基板要求表 面光滑平整,不可有任何暇疵
读写头(Read Write Head)——磁头
磁头是硬盘读取数据的关键部件,它的主要作用就是将存储在硬盘盘片上的磁 信息转化为电信号向外传输
马达( Spindle Motor & Voice Coil Motor )
马达上装有一至多片盘片,以7200,10000,15000 RPM等定速旋转,为保持 其平衡不可抖动,所以其质量要求严谨,不产生高温躁音
机械硬盘示例图
硬盘基本参数:
容量
容量是硬盘最主要的参数。单位有MB、GB、TB
转速
转速是指硬盘盘片每分钟转动的圈数,单位为rpm。现在硬盘的转速已经达 到10000rpm,15000rpm
传输速率
传输速率(Data Transfer Rate) 。硬盘的数据传输率是指硬盘读写数据的速度,单位为兆字节每秒(MB/s)
缓存
硬盘缓存的目的是为了解决系统前后级读写速度不匹配的问题,以提高硬盘 的读写速度
硬盘接口类型:
IDE接口:硬盘接口规范,采用ATA技术规范
SCSI接口:应用于小型机上的高速数据传输技术
SATA接口: Serial ATA,提高传输速率,支持热插拔
SAS接口: Serial Attached SCSI,兼容SATA
目前主流的硬盘接口为SATA和SAS接口
服务器的性能短板:
如果CPU有每秒处理1000个服务请求的能力,各种总线的负载能力能达到500个, 但网卡只能接受200个请求,而硬盘只能负担150个的话,那这台服务器得处理能 力只能是150个请求/秒,有85%的处理器计算能力浪费了
在计算机系统当中,硬盘的读写速率已经成为影响系统性能进一步提高的瓶颈
SSD硬盘:
SSD(Solid State Disk)泛指使用NAND Flash组成的固态硬盘。其特别之处在于 没有机械结构,以区块写入和抹除的方式作读写的功能,因此在读写的效率上,非 常依赖读写技术上的设计SSD读写存取速度快,性能稳定,防震性高,发热低,耐低温,电耗低,无噪音。因为没有机械部分,所以长时间使用也出现故障几率也较 小。缺点:价格高,容量小,在普通硬盘前毫无性价比优势
服务器硬件---阵列卡
Raid卡:
用来实现RAID的建立和重建,检测和修复多位错误,错误磁盘自动检测等功能。RAID芯 片使CPU的资源得以释放
阵列卡(RAID卡)的作用
阵列卡把若干硬盘驱动器按照一定要求组成 一个整体、由阵列控制器管理的系统。
阵列卡用来提高磁盘子系统的性能及可靠性
阵列卡参数
支持的RAID级别
阵列卡缓存
电池保护
服务器硬件---电源
电源和风扇
支持服务器的电力负载
支持冗余,防止电源故障
– 故障预警和防止
– 故障之前的预防性维护
– 保证服务器持续运行
电源子系统包括
– 智能电源和风扇
冗余电源和风扇
各种电源
服务器硬件---显卡
服务器都在主板上集成了显卡,但是显存容量不高,一般为16M或32M GPU: Graphic Processing Unit,即“图形处理器”
服务器硬件---网卡
服务器都在主板上集成了网卡,传输速率为1Gbps,即千兆网卡 特殊应用需要高端网卡,如光纤网卡,Infiniband网卡等,传输速率能达到10Gbps、 20Gbps,即万兆网卡
服务器硬件---热插拔技术
热插拔技术
称为热交换技术(Hot Swap),允许在不关机的状态下更换故障热插拔设备
常见的热插拔设备:硬盘,电源,PCI设备,风扇等
热插拔硬盘技术与RAID技术配合起来,可以使服务器在不关机的状态下恢复故 障硬盘上的数据,同时并不影响网络用户对数据的使用
服务器硬件---机柜
机架式服务器-服务器放置在机柜中
通常使用的机柜是42U(约2米高)机柜( 1U=44.45mm)
机架式服务器-机架及其配件
存储基础知识---存储网络
用于存放数据信息的设备和介质,是计算机系统的外部存储,数据可安全存放, 长期驻留
传统的存储:
磁盘阵列:
存储网络:
DAS-----直接连接存储(Direct Attached Storage)
NAS-----网络连接存储(Network Attached Storage)
SAN-----存储区域网络(Storage Area Networks)
直接存储(Direct Attached Storage)。存储设备与主机的紧密相连
管理成本较低,实施简单
储时直接依附在服务器上,因此存储共享受到限制
CPU必须同时完成磁盘存取和应用运行的双重任务,所以不利于CPU的指令周 期的优化,增加系统负担
网络连接存储(Network Attached Storage):
通过局域网在多个文件服务器之间实现了互联,基于文件的协议( NFS、NFS、 SMB/CIFS等 ),实现文件共享
集中管理数据,从而释放带宽、提高性能
可提供跨平台文件共享功能
可靠性较差,适用于局域网或较小的网络
存储区域网络(Storage Area Networks,SAN)
利用高速的光纤网络链接服务器与存储设备,基于SCSI,IP,ATM等多种高级协 议,实现存储共享
服务器跟储存装置两者各司其职
利用光纤信道来传输数据﹐以达到一个服务器与储存装置之间多对多的高效能、 高稳定度的存储环境
实施复杂,管理成本高
操作系统
OS: Operating System,通用目的的软件程序
硬件驱动
进程管理
内存管理
网络管理
安全管理
文件管理
OS分类:
服务器OS:RHEL, CentOS,Windows Server,AIX
桌面OS:Windows 10,Windows 7,Mac OS,Fedora
移动设备OS:Andriod,IOS,YunOS
开发接口标准
ABI: Application Binary Interface
ABI描述了应用程序与OS之间的底层接口,允许编译好的目标代码在使用兼容 ABI的系统中无需改动就能运行
API:Application Programming Interface
API定义了源代码和库之间的接口,因此同样的源代码可以在支持这个API的任 何系统中编译
POSIX: Portable Operating System Interface
IEEE在操作系统上定义的一系列API标准
POSIX兼容的程序可在其它POSIX操作系统编译执行
运行程序格式:
Windows: EXE, .dll(dynamic link library),.lib
Linux: ELF, .so(shared object), .a
Library function和system call
用户和内核空间
用户空间:User space
用户程序的运行空间。为了安全,它们是隔离的,即使用户的程序崩溃,内核也不受影响
只能执行简单的运算,不能直接调用系统资源,必须通过系统接口( system call),才能向内核发出指令
内核空间:Kernel space
是 Linux 内核的运行空间
可以执行任意命令,调用系统的一切资源
示例:
str = “www.magedu.com' // 用户空间
x = x + 100 // 用户空间
file.write(str) // 切换到内核空间
y = x + 200 // 切换回用户空间
说明:第一行和第二行都是简单的赋值运算,在 User space 执行。第三行需要写入文件,就 要切换到 Kernel space,因为用户不能直接写文件,必须通过内核安排。第四行又是赋值运算, 就切换回 User space
编程语言
低级语言
机器语言:0和1
汇编语言:和机器语言一一对应,与硬件相关的特有代码、驱动程序开发
中级语言:C
系统级应用、驱动程序
高级语言: java,python,go,php,Objective-C,C#
应用级程序开发
服务器三大操作系统
Windows:
Linux:GNU/Linux
Unix:1969年Ken Thompson
System: Bell Lab
AIX (IBM)
Solaris (SUN)
HP-UX (HP)
BSD: (BSRG)Berkeley System Distribution
NetBSD
OpenBSD
FreeBSD
服务器操作系统市场
UNIX历史
兼容分时系统
兼容分时系统Multics
为了进一步强化大型主机的功能,让主机的资源可以提供更多的使用者来利用, 所以在1964年, 由贝尔实验室(Bell)、麻省理工学院(MIT)及奇异公司(GE美国 通用电气公司)共同发起了Multics(多路信息计算系统)的计划, Multics计划 的目的是让大型主机可以同时支持300个以上的终端机连线使用。不过,到了 1969年前后,由于计划进度缓慢,资金也短缺,所以该计划虽然继续在研究, 但最终贝尔实验室还是选择了退出
Ken Thompson:一切为了游戏
1966年从加州大学伯克利分校毕业的Ken Thompson加入了贝尔实验室。参与 了Multics系统的研发。他基于Multics开发了“star travel”游戏。不幸的是, 1969年由于贝尔实验室退出Multics项目,这同时意味着Ken将没有机器可以再 玩这个游戏了。面对此情此景,Ken作为一个创造者的本性立即体现了出来,于 是他决定自己写一个操作系统来满足他玩游戏的需要,Ken找到了一台废弃已久 的老式PDP-7,并在这台机器上重写了他的游戏。在这个过程中,Ken有了一个 主意,要开发一个全新的操作系统。利用PDP-7上的汇编语言,Ken只花了一个 月就编写完了操作系统的内核,在这个一个月中,他一周一个内核,一个文件 系统,一个编辑器和一个编译程序的完成
Unix历史
1965前后 Multics
贝尔实验室,麻省理工,通用电气发起
1969 Unix雏形UNICS
Ken Thompson 汇编语言 B语言
1973 正式命名为Unix
Dennis Ritchie C语言
1977 BSD
Berkeley Software Distribution 伯克利大学
1979 System V架构 版权声明
HP-UNIX IBM AIX “不对学生提供源码” 收回版权
1984年 Minix操作系统
Andrew S. Tanenbaum荷兰阿姆斯特丹自由大学计算机科学系
GNU
GNU(GNU is Not Unix)
1984年由Richard Stallman发起并创建
目标是编写大量兼容于Unix系统的自由软件
官方网站:http://www.gnu.org
GPL(GNU General Public License)
自由软件基金会:Free Software Foundation
允许用户任意复制、传递、修改及再发布
基于自由软件修改再次发布的软件,仍需遵守GPL
LGPL(Lesser General Public License)
LGPL相对于GPL较为宽松,允许不公开全部源代码
GNU操作系统:Hurd Hird of Unix-Replacing Daemons
Linux起源
1991年的10月5日,Torvalds在comp.os.minix新闻组上发布 消息,正式向外宣布他自行编写的完全自由免费的内核诞生 (Freeminix-like kernel sources for 386-AT)——— FREAX,英文含义是怪诞的、怪物、异想天开
类Unix的内核,在GPL下发布
官网:www.kernel.org
Linux操作系统:
完整的类UNIX操作系统
Linux内核+ GNU工具
如:CentOS,Ubuntu,Android
Linux团队
Linux发行版
slackware:SUSE Linux Enterprise Server (SLES)
OpenSuse桌面
debian: ubuntu,mint
redhat: RHEL: RedHat Enterprise Linux
每18个月发行一个新版本
CentOS:兼容RHEL的格式
中标麒麟:中标软件
Fedora:每6个月发行一个新版本
ArchLinux:轻量简洁
Gentoo:极致性能,不提供传统意义的安装程序
LFS: Linux From scratch 自制Linux
Android: kernel+busybox(工具集)+java虚拟机
Linux分支参考网站:
http://futurist.se/gldt/ http://www.mindpin.com/d3js-demo/linux/
REDHAT红帽公司
Marc Ewing早在卡内基梅隆大学读书的时候就戴着他祖父 的红色曲球帽. Marc在Marc Ewing大学常把自己的软件命 名为Red Hat — Red hat 1, Red Hat 2 用来区别他人的软 件. 所以当他开始自己的Linux项目, 自然就会命名为Red Hat Linux。Ewing非常乐于帮助同学解决计算机问题 “你 的朋友可能会说, 去跟我的朋友Marc交流. 谁是Marc? 他是 红帽男孩. ” 所以, 至少在他们最亲密的朋友当中, 红帽子成 为了技术专家的同义词
1993年,Bob Young 建立了ACC公司,营销Linux和UNIX 的支持软件和书籍杂志。
1995年,Bob Young 收购了Marc Ewing的业务,合并后 的ACC公司成为新的Red Hat软件公司,发布了Red Hat Linux 2.0
Linux内核
Linux的内核版本由3部分组成
Linux版本号的命名
主版本号
次版本号
末版本号
打包版本号
厂商版本
Linux发行版本
Linux发行版的名称和版本号是由发行版的维护者决定的
RedHat Enterprise Linux 7.3
由Red Hat公司发布
SUSE Linux Enterprise Server 12 SP2
由Novell公司发布
Debian Linux 9
由Debian维护社区发布
Android 8.0
由Google公司发布
红帽发行版本
开源 Open Source
开源: Open Source ,软件和源代码提供给所有人
自由分发软件和源代码
能够修改和创建衍生作品
软件分类:
商业
共享
自由 free
开源协议
世界上的开源许可证,大概有上百种
GPLv2, GPLv3, LGPL(lesser) :通用公共许可 copyleft
Apache: apache
BSD: bsd
Mozilla
MIT
Linux哲学思想
一切都是一个文件(包括硬件)
小型,单一用途的程序
链接程序,共同完成复杂的任务
避免令人困惑的用户界面
配置数据存储在文本中
获取发行版
CentOS
https://wiki.centos.org/Download
http://mirrors.aliyun.com
http://mirrors.sohu.com
http://mirrors.163.com
虚拟机
虚拟机:用软件(如:vmware,virtualbox等)模拟硬件
使用vmware workstation
CPU:默认
内存:1G以上,推荐2G
硬盘:一块硬盘,200G
网卡:桥接或仅主机模式
光盘:挂载对应版本的ISO文件