一、计算机基础
1.1 基本概念
- 计算机的组成
- 计算机是由多个硬件组合而成,常见的硬件有:CPU,硬盘,内存,网卡,显示器,机箱,电源。。。
- 注:机械将硬件组在一起,他们之间无法协同运作
- 操作系统
- 用于协调计算机的各个硬件,让硬件之间协同工作,以完成某个目标。
- 常见的操作系统分类:
- Windows(优点:生态Nb,工具多;缺点:略慢,收费 【个人】)
- win7
- win10
- Linux(优点:资源占用少,免费;缺点:工具少,告别游戏 【企业】)
- Ubuntu
- redhat
- mac (优点:生态还行,工具差不多都有,用户体验与交互 缺点:不能玩游戏)
- 软件(应用程序)
在安装上操作系统后,我们会在自己的电脑上安装一些常用的软件,如:QQ,Wechat等
1.2 编译器与解释器
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。
编译器与解释器之间的区别在于翻译时间点的不同
- 编译型语言统一编译,一次性执行;
- 解释性语言一行一行地翻译,翻译一行执行一行。
1.3 计算机的硬件组成
一个程序的运行的三大核心硬件(cpu、内存、硬盘),其中控制器+运算器=cpu。
存储器是一个IO设备,既可以input,也可以output,是计算机的记忆功能,负责数据的存取,可以分为内存和外存。
- 内存(基于电工作):存取数据比较快断电数据缺失,只能临时存取数据=》相当于人类大脑的记忆功能
- 外存(硬盘):存取速度慢,断电不丢失,永久存取数据 =》相当于人的本子
结: 程序最先存储在硬盘上,程序的运行一定是先把程序的代码加载到内存,然后cpu从内存中读取指令执行
1.4 操作系统
-
应用程序(暴风影音)
-
控制程序(操作系统 :Windows,Linux):1、控制计算机硬件的基本运行 2、把硬件运行的复杂操作封装成简单的功能,给上层的程序使用
- 操作系统的概念:是一个协调管理,控制计算机硬件资源与应用软件资源的控制程序
- 硬件受到软件的控制,软件是计算机的灵魂
-
计算机体系的三层结构
- 应用程序
- 操作系统
- 计算机硬件
-
程序的区分
-
应用软件:应用程序的相关逻辑
-
系统软件:控制底层硬件的
-
-
平台与跨平台(硬件+操作系统=平台)
- 软件的跨平台性:一款软件可以在任意平台运行,是衡量软件质量高低的非常重要的指标
二、cpu详解
2.1 cpu的分类与指令集
所谓指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合,而每一种新型的CPU在设计时就规定了一系列与其他硬件电路相配合的指令系统。而指令集的先进与否,也关系到CPU的性能发挥,它也是CPU性能体现的一个重要标志。通俗的理解,指令集就是CPU能认识的语言,cpu具有向下兼容性。
- 精简指令集
这种指令集的特点是指令数目少,每条指令都采用标准字长、执行时间短、中央处理器的实现细节对于机器级程序是可见的。 - 复杂指令集
在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。
2.2 x86-64
-
x86是一个intel通用计算机系列的编号,也标识一套通用的计算机指令集合。早期intel的CPU编号都是如8086,80286,由于这整个系列的CPU都是指令兼容的,所以都用X86来标识所使用的指令集合。
-
windows x64和x86有啥区别”这个问题和“windows64和32有啥区别”是一样的,因为x64其实就是64位,x86其实就是32位
-
32位系统最多只能发挥4G内存的效用,如果电脑安装了大于4G的内存,32位的操作系统是不能更好的利用大于4G的那部分内存的效用的,所以会造成资源浪费。
-
64位的操作系统,按照微软对系统的设定,家庭版本的win7可以最多支持16G的内存,而专业版和旗舰版的win7最多支持的内存容量可达192G内存。64位的cpu既能运行32位的程序也能运行32位的程序,64指一次性可以取出64bit的数据进行处理
-
故若电脑拥有超过4G的内存,则建议安装64位的操作系统,这是这两者最大的区别。
2.3 内核态与用户态
除了用在嵌入式系统中的非常简单的CPU之外,多数CPU都有两种模式,即内核态和用户态模式。这通常由PSW中的一个二进制位来控制这两种模式。
- 当在内核态运行时,CPU可以执行指令集中的每一个指令,并且使用硬件的每个功能,包括硬盘、网卡。在台式机和服务器上,操作系统在内核态运行的,从而能够访问整个硬件。而在大多数嵌入式系统中,一部分操作系统运行在内核态,其余部分运行在用户态。即内核态运行的程序是操作系统,可以操作计算机硬件。
- 当在用户态运行时,访问的资源受到限制, 且不允许访问外围设备. 占用CPU的能力被剥夺, CPU资源可以被其他程序获取。即用户态运行的程序是应用系统,不可以操作计算机硬件
2.4 多线程与多核芯片
- 2核4线程
2核代表有两个CPU,4线程代表每个CPU有两个线程=》假4核 - 4核8线程
4核代表有4个CPU,8线程代表每个CPU有两个线程=》假8核=》真4核
3 计算机中的单位
- b(bit) 位
1 1位
10 2位
111 3位
1001 4位
- B(byte ),字节
8位是一个字节
10001010 1个字节
1000101010001010 2个字节
- KB 千字节
1024个字节就是1个千字节
1KB = 1024 B =1024*8 bit
- M 兆
1M = 1024 KB
- G (千兆)
1G = 1024 M
- T(万亿字节)
1T = 1024 G