一、cpu详解
1.1、cpu的分类与指令集
X86-64的解释(重要)
X86:X86是CPU的型号或者说是架构的一种统称,由于AMD、Intel、VIA所开发出来的X86架构CPU被大量使用在计算机上,因此个人计算机常备称为X86架构的计算机。
64位:指的是CPU一次性能从内存取出64位二进制指令,即64bit
CPU具有向下兼容性:即64位的CPU也能运行32位的程序。
1.2、内核态和用户态(重要)
代表CPU的两种工作状态:
内核态:运行的程序是操作系统,可以操作计算机硬件。
用户态:运行的程序是应用程序,不可以操作计算机硬件。
内核态和用户态的转换:
应用程序的运行必然牵涉到计算硬件的操作,那就必须有用户态切换到内核态才能实现,因此计算机工作是频繁发生内核态和用户态的转换。
1.3、多线程与多核芯片
2核4线程:
2核代表有2个CPU,4线程代表2个CPU上各有两个线程。即真2核或假4核。
4核8线程:
4核代表有4个CPU,8线程代表4个CPU上各有两个线程。即真4核或假8核.
二、存储器
2.1、RAM:能读能写的内存。
2.2、ROM:只能读不能写的内存。(存放计算机厂商写死计算机上的一段核心代码=》BIOS)。
2.3、CMOS:存取速度慢,断线数据丢失,耗电量极低。
2.4、硬盘
2.4.1、机械硬盘:磁盘
磁道:一圈数据,对应着一串二级制(1bit代表一个二级制数)
8bit(比特位)=1Bytes(字节)
1024Bytes=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1TB
扇区:一个扇区通过512Bytes
站在此磁盘的解读,一次性读写数据的最小单位为一扇区。
操作系统一次性读写的单位是一个block(8个扇区的大小=4096Bytes)
2.4.2、固态硬盘
2.5、IO延迟(重要)
机械硬盘以7200转/min为例,即120转/s,8ms/转。
平均寻道时间:机械手臂转到数据所在磁道需要花费的时间,所限于目前的物理水平,机械硬盘需要的时间为5ms。
平均延迟时间:机械硬盘转半圈需要花费4ms。
IO延迟=平均寻道时间+平均延迟时间=9ms。
优化程序运行效率的一个核心法则:能从内存取数据,就不要从硬盘中取数据。
2.6、虚拟内存
许多计算机支持虚拟内存机制,该机制使计算机可以运行超过物理内存的程序。方法是将正在运行的程序放入内存中执行。将暂时不需要的程序放到磁盘某一块地方这地方称为虚拟内存。
PS:从上一个程序切换到下一个程序,称之为上下文切换,虚拟内存的出现极大提升了上下文切换时的形同性能。
2.7、IO设备
IO设备=设备的控制+设备本身。
三、总线
四、操作系统的启动流程(重要)
4.1、BIOS介绍
BIOS:Basic Input Output System(基本输入输出系统)
BIOS被写入ROM设备
4.2、裸机
CPU
ROM:从单内存,存放BIOS系统;
CMOS:充当硬盘
4.3、操作系统的启动流程(重要)
1.计算机通电
2.BIOS开始执行,检测硬件:CPU,、内存、硬盘等。
3.BIOS读出CMOS存储器中的参数,选择启动设备。
4.从启动设备上读取第一个扇面的内容(MBR主引导计入512字节,前446字节为引导信息,后64字节为分区信息,最后两个为标志位)
5.根据分区心底读入BootLoader启动装载模块,启动系统。
6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动是否存在,如果不存在,系统将会要求用户安装设备驱动,如果已经安装好,系统就会将他们调入内核。
4.4、BIOS
1.存有win10系统的官潘、U盘等,无密码
2.本地磁盘上的win7系统有密码
3.通过BIOS进入win10系统,从而更改win7系统的密码。
4.5、启动应用的启动程序(重要)
1.双击exe快捷方式==》exe文件的绝对路径,就是告诉操作系统:我有一个应用程序需要启动,应用程序的绝对路径是exe文件的绝对路径。
2.操作系统会根据文件路径找到exe程序在硬盘中的位置,控制其代码从硬盘中运行到内存中。
3.然后控制CPU从内存中读取更改读入内存的应用程序的代码执行,应用程序完成启动。