1.计算机的五大组成部分:
- 控制器
- 运算器
- 存储器
- 输入设备input
- 输出设备output
2.计算机系统的三层结构
应用程序、用户----》操作系统------》计算机硬件
平台:操作系统+硬件
3.cpu分类
cpu内部含有微指令集,所有软件都要经过CPU内部的位指令集来完成,指令集的设计主要分为两种
- 精简指令集(RISC)
- 微指令集较为精简,每个指令的运行时间都很短,完成额动作单纯,执行效能佳,但若要做复杂的事情,就要多个指令来完成
- 复杂指令集(CISC)
- 每个小指令可以执行一些较地接的硬件操作,指令数目多且复杂,每条指令的长度并不相同。因此指令执行较为复杂所以每条指令花费的时间较长,但每条指令可以处理的工作较为丰富
4.x86架构64位
-
x86架构
x86是针对cpu的型号或者说架构的一种统称,由于AMD、Intel、VIA所开发出来的x86架构cpu被大量适用于个人计算机上面,因此个人计算机常被称为x86架构的计算机
-
64位
CPU的位数指的是CPU一次性能从内存中取出多少位的二进制指令,64bit指的是一次性能从内存中取出64位二进制指令。CPU具有向下兼容性,指的是64位的CPU既可以运行64位的软件,也可以运行32位的软件
5.x86架构64位
-
x86架构
x86是针对cpu的型号或者说架构的一种统称,由于AMD、Intel、VIA所开发出来的x86架构cpu被大量适用于个人计算机上面,因此个人计算机常被称为x86架构的计算机
-
64位
CPU的位数指的是CPU一次性能从内存中取出多少位的二进制指令,64bit指的是一次性能从内存中取出64位二进制指令。CPU具有向下兼容性,指的是64位的CPU既可以运行64位的软件,也可以运行32位的软件
6.内核态与用户态
代表CPU的两种工作状态
-
内核态:运行的程序是操作系统,可以操作计算机硬件
-
用户态:运行的程序是应用程序,不能操作计算机硬件
内核态与用户态的转换:
应用程序的运行必然涉及到计算机硬件的操作,那就必须由用户态切换到内核态下才能实现,所以计算机工作时在频繁地发生内核态与用户态的转换
7.核数与线程
2核4线程:
- 2核心代表有2个CPU,4线程指的是每个CPU都有2个线程=》假4核
4核8线程:
- 4核心代表有4个CPU,8线程指的是每个CPU都有2个线程=》假8核
8. 存储器
RAM:内存
ROM:“只读内存”,存放计算机厂商写死计算机上的一段核心程序=》操作系统
CMOS:,存取速度慢,断电数据丢失,耗电量极低
硬盘:
-
机械硬盘:磁盘
-
磁道:一圈数据,对应着一串二进制(1bit代表一个二进制位)
8bit 比特位=1Bytes字节
1024Bytes=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB
-
扇区:
一个扇区通常为512Bytes
站在硬盘角度,一次性读写数据的最小单位为扇区
操作系统一次性读写的单位是一个block块=》8扇区的大小=4096Bytes
-
柱面
-
-
固态硬盘
IO延迟:例如7200转/min,120转/s,一圈8ms,半圈4ms
-
平均寻道时间:机械手臂转到数据所在磁道需要花费的时间,受限于物理工艺水平,目前机械硬盘可以达到5ms
-
平均延迟时间:转半圈需要花费4ms,受限于硬盘的转速
IO延迟=平均寻道时间+平均延迟时间
优化程序运行效率的一个核心法则:能从内存取数据,就不要从硬盘取
IO设备=设备的控制+设备本身
9.操作系统启动流程
- 计算机加电
- BIOS开始运行,检测硬件:cpu、内存、硬盘等
- BIOS读取CMOS存储器中的参数,选择启动设备
- 从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64位为分区信息,最后两个为标志位)
- 根据分区信息读入bootloader启动装载模块,启动操作系统
- 然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统会要求用户安装设备驱动程序。一旦有了全部的设备驱动程序,操作系统就会将他们调如内核。然后初始有关的表格(如进程表),创建需要的进程,并在每个终端上启动登录程序或GUI
10.应用程序的启动流程
- 双击exe快捷方式--》exe文件的绝对路径,就是在告诉操作系统说:我有一个应用程序要执行
- 操作系统会根据文件路径找到exe程序在硬盘的位置,控制其代码从硬盘加载到内存
- 然后控制CPU从内存中读取刚刚读入内存的应用程序代码执行,应用程序完成启动