-
CPU:
负责主要的运算、cpu有一套只能自己专门的指令集,任何软件的运行最终都要转化成cpu的指令集去执行。多数cpu都有内核态和用户态两种模式。
-
内核态:可以执行cpu指令中的所有指令。
-
用户态:只能执行一部分cpu指令集,不包含操作硬件的部分。
-
内核态与用户态切换:程序在运行过程中CPU要经过不断的内核态与用户态的切换,当用户操作软件界面时,CPU切换为用户态,当程序需要调用硬盘数据或使用硬件时,CPU切换成内核态。
-
-
寄存器(L1缓存)
因为cpu访问内存的时间比cpu运算的时间大的多,所以cpu需要先将一些关键变量和临时数据存到寄存器中,再从寄存器访问数据。寄存器大致分为一下几类:
-
通用寄存器
-
程序计数器:保存了将要取出的下一条指令的内存地址
-
堆栈指针:指向内存中当前栈的顶端
-
程序状态字寄存器
-
-
高速缓存(L2缓存)
由于内存(RAM)和CPU之间访问需要消耗大量时间,所以先用高速缓存访问内存,可以节省大量时间
-
内存
RAM存储系统的主力,断电后数据全部消失
-
ROM
只读存储器,电源切断后,存储内容不会丢失,在工厂中就被编写完毕,以后再也不能修改,一般用来存储BIOS系统,用于启动计算机的引导加载模块。
-
闪存
可擦除和重写重写,话费的时间介于内存和硬盘之间。
-
CMOS
用来存储时间和日期以及配置参数,需要少量的点量来驱动。
-
硬盘
通过磁材料来存储数据,优点是可以永久存储,它通过机械悬臂上面的磁头读取和写入旋转的磁盘,容易损坏,每个磁头读取的环形路径成为磁道,硬盘分区实际上就是每个磁盘的同一磁道组成的柱状内存的容量。为了提高效率,减少硬盘读取时间,每个磁盘都被划分了若干扇区以一次性读取多个bite(扇区一般为512字节,第一扇区前446为引导信息,后64为分区信息,最后两个为标志位)。
-
虚拟内存
为了防止内存不够运行程序,可以划分部分硬盘成为虚拟内存来辅助运行程序。
各硬件之间的联系
-
容量大小和运行速度
运行速度:CPU > 寄存器 > 高速缓存 > 内存 > 硬盘
容量: 硬盘 > 内存 > 高速缓存 > 寄存器 > cpu
-
启动计算机
-
计算机通电
-
运行存储于ROM的BIOS系统,检查配置信息
-
通过设置在BIOS上的参数启动相应的设备(硬盘)
-
读取硬盘的第一扇区,启动位于硬盘上的操作系统
-
操作系统询问BIOS获得配置信息,启动相应的驱动程序,进行工作。
-
-
软件启动流程
-
双击操作系统上面的快捷方式
-
快捷方式存储的应用的路径,进而找到该软件在硬盘上的位置
-
由于软件在硬盘上读取太慢,所以先将软件转移到内存
-
cpu从内存读取信息进行运算
-
存储方式
-
文件存储
以文件为单位进行打开、关闭、修改操作
-
块存储(未格式化)
-
读写单位为block块
-
使用前需要对其格式化,否则不能使用
-
格式化实际上就是操作系统对块存储创建了一个文件系统,使之容易理解
-
-
对象存储(网盘)
以网址为读写单位,不能直接对文件操作,必须下载