【开发基础】硬件基础与操作系统原理
硬件基础与操作系统原理
CPU详解
CPU的分类与指令集
精简指令集:
每个指令的运行时间都很短,完成的动作也很单纯,指令的执行效能较佳;
复杂指令集:
微指令集中,每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,每条指令的长度并不相同。因此指令执行较为复杂所以每条指令花费的时间较长,但每条个别指令可以处理的工作较为丰富。
总结:CPU按照指令集可以分为精简指令集CPU和复杂指令集CPU两种,区别在于前者的指令集精简,每个指令的运行时间都很短,完成的动作也很单纯,指令的执行效能较佳;但是若要做复杂的事情,就要由多个指令来完成。后者的指令集每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,每条指令的长度并不相同。因为指令执行较为复杂所以每条指令花费的时间较长,但每条个别指令可以处理的工作较为丰富。
x86-64(*****)
x86代表CPU的型号,64代表最大运行指令集的数量是64。
CPU具有向下兼容性。64位的CPU既能运行32位的程序也能运行64位的程序。
多核态与用户态(*****)
代表CPU的两种工作状态:
1.内核态:运行的程序是操作系统,可以操作计算机硬件。
2.用户态:运行的程序是应用程序,不能操作计算机硬件。
内核态与用户态的转换:
应用程序的运行必然涉及到计算机硬件的操作,那就必须由用户态切换到内核态下才能实现,所以计算机在工作时在频繁的发生内核态与用户态的转换。
多线程与多核芯片
2核4线程:
2核代表有两个CPU,4线程指的是每个CPU都有两个线程,称之为假4核。
4核8线程:
4核代表有4个CPU,8线程指的是每个CPU都有两个线程,称之为假8核。
存储器
RAM:内存
ROM:“只读内存”
存放计算机厂商写死计算机上的一段核心程序,就是常说的BIOS。
CMOS
存取速度慢,断电数据丢失,耗电量极低。
硬盘
机械硬盘:磁盘。
磁道:盘片的一圈数据对应着一串二进制(1bit代表一个二进制位)
换算比例:
8bit比特位=1Bytes字节
1024Bytes=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB
扇区:
一个扇区大小为512Bytes。
硬盘一次性读写数据的最小单位为一个扇区。
操作系统一次读写的单位是block块,一个block块=8个扇区=4096Bytes。
IO延迟(*****)
机械硬盘一般7200转/min,每秒120转,转一圈需要花费8ms。
平均寻道时间:机械手臂转到数据所在磁道需要花费的时间受限于当前的物理工艺水平,目前机械硬盘平均的寻道时间是5ms。
平均延迟时间:转半圈需要花费4ms,受限于硬盘的转速。
IO延迟=平均寻道时间+平均延迟时间
优化程序运行效率的一个核心法则:能从内存取数据绝不从硬盘取。
IO设备=设备的控制+设备本身
计算机操作系统启动流程
BIOS介绍:
BIOS:Basiuc Input Output System
BIOS被写入ROM设备
裸机:
CPU正常工作
ROM:存当内存,存放BIOS系统。
CMOS:存当硬盘。
操作系统的启动流程(*****)
1、计算机加电
2、BIOS开始运行,检测硬件:CPU、内存、硬盘等
3、BIOS读取CMOS存储器中的参数,选择启动设备
4、从启动设备上读取第一个扇区的内容(MBR主引导记录512字节的数据,前446字节为引导信息,后64字节是分区信息,最后两字节为标志位。)
5、根据分区信息读入BootLoader启动装载模块,启动操作系统。
6、然后操作系统询问BIOS,去获得配置信息。对于每种设备,系统会检查它的设备驱动是否存在,如果没有,系统就会要求用户安装设备驱动程序,一旦有了全部的设备驱动程序,操作系统就将它们调入内核。
应用程序的启动流程(*****)
1、双击exe快捷方式对应的是exe文件的绝对路径,操作系统将收到这条指令。
2、操作烯烃会根据文件路径找到exe程序在硬盘中的位置,控制其代码从硬盘加载到内存中。
3、然后控制CPU从内存中读取刚刚读入内存的应用程序的代码执行,应用程序完成启动