一、CPU
  1、指令集的分类:指令集分为复杂指令集和精简指令集。

  2、x86-64的CPU:

    x86即CPU的型号,CPU一次能从存储设备里面取的指令数,比如现在常用的为64,即代表64个bit(高低电频)。

    具有向下兼容性,即不超过CPU一次取指数的程序皆可运行(如64位的CPU可运行64位的程序,也可运行32位的程序)。

  3、内核态和用户态:

    代表CPU的两种工作状态:

      ①内核态:操作系统运行,可以操作计算机硬件,同时调用了CPU的运算功能和控制功能。

      ②用户态:应用程序运行,不可操作计算机硬件,只是调用了CPU的运算功能。

    内核态和用户态的频繁切换:

      应用程序运行时,应处于用户态,但其势必需要涉及到计算机硬件的操作,因其无法直接控制硬件,当需求发生时,

      会向操作系统请求硬件操作,此时切换至内核态,由操作系统控制硬件,操作完成后再切回用户态。

  4、多核芯片和多线程:

    随着计算机技术的进度,一个CPU可以作为多个CPU使用,此为多核。

    在此基础上,每个作为核心的CPU上可以同时进行多个线程,模拟多个CPU的运行,此为多线程。

    例如,某CPU为4核8线程,即代表此CPU有4个核,每个核有2个线程,即为假8核,性能低于真8核而高于4核。

二、存储器

  1、分类:

    寄存器:使用CPU相同材质制作,成本高,容量小,速度非常快,用于存储CPU立即需要使用的指令。

    高速缓存:速度高于内存而小于寄存器,容量小于内存而高于寄存器,用于存储使用频率较高的指令。

    内存(RAM):计算机其他所有部件的IO操作都需要经过内存,因而也称为主存。

    ROM:“只读内存”,上面有计算机出厂前由厂商写死在此硬件上的核心程序“BIOS”,是一种非常简陋的操作系统,无法删除和修改。

    CMOS:存取速度慢,断电数据丢失,但是耗电量极低,由主板上的锂电池供电,因而计算机断电数据依然会保存,存放着时间数据以及由BIOS产生的配置数据等。

    硬盘:

      ①固态硬盘:速度比机械硬盘快,但不如内存,价格比机械硬盘高,一般容量不需要很大,用作存放操作系统。

      ②机械硬盘:也叫磁盘,受制于物理工艺水平,速度慢,且受到物理冲击的影响,易损坏。

        磁道:盘片上一圈一圈的同心圆即磁道,磁道上以某种形式记录着两种不同的点,对应着类似高低电频的信号,进而转为二进制,每个点即一个bit。

        扇区:是从硬盘上读写数据的最小单位,大小为Bytes,而操作系统一次读写的单位称作一个block块,大小等于8个扇区,即4096Bytes。

        柱面:是同一个垂直面上的磁道组成的闭合曲面,两个柱面之间的所有磁道代表硬盘的分区。

  2、数据的单位:

    最小单位为比特位,每个比特位存放着一个二进制数(0或1),即bit。

    换算:

      8bits=1Bytes

      1024Bytes=1KB

      1024KB=1MB

      1024MB=1GB

      1024GB=1TB

      1024TB=1PB

    PS:

      市面上销售的存储设备实际容量要小于标的容量,因为为了计算方便,厂商实际按照整千进行换算。

      例如,一个10G的硬盘,理论容量应为(10*1024*1024*1024)Bytes,实际是按照(10*1000*1000*1000)Bytes进行了计算。

  3、IO延迟:

    平均寻道时间:硬盘上的机械手臂左右滑倒寻找目标数据的所在磁道需要花费的时间,受限于目前的物理工艺水平,平均时间约为5ms。

    平均延迟时间:受硬盘转速的影响,例如一个7200r/min的硬盘,转一圈花费的时间约为8ms,则在这个磁道上准确定位到数据的平均时间即为转半圈的时间4ms。

    IO延迟:所以从硬盘读取数据的时间主要是寻数据的时间,此即为,IO延迟=平均寻道时间+平均延迟时间。

    结论:优化一个程序的核心法则即是,尽量从内存取数据,避免从硬盘取。

  4、IO设备:由设备本身即设备的控制机制(接口)组成。

  5、虚拟内存:

    不是真正的内存,是在硬盘上划分出一部分区域作为备用内存,当内存满载时,借用硬盘这部分空间当作内存时用。

    因而本质上虚拟内存还是硬盘,速度远慢于真正的内存,只能作为应急备用。

三、总线

  1、概念:即连接计算机各个组件的电线。

  2、北桥芯片:连接着CPU,内存等高速设备。

  3、南桥芯片:连接着显示器,USB接口等低速设备。

四、操作系统的启动流程

  1、BIOS:应为全称为Basic Input Output System,计算机出厂自带的简易系统,有基本操作计算硬件的指令。被厂商写死在了ROM上。

  2、计算机出厂裸机:只有CPU,ROM(充当内存),CMOS(充当硬盘)。

  3、操作系统的启动流程:

    ①通电

    ②BIOS运行,检测硬件,CPU、硬盘、内存等是否正常。

    ③BIOS读取存于CMOS的设置参数,选择启动设备。

    ④从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)。

    ⑤根据分区信息读入bootloader启动装载模块,启动操作系统。

    ⑥操作系统运行后再询问BIOS,获得配置信息,对于每种设备,操作系统会检测其设备驱动程序是否正常,

    如果没有或者异常,会要求用户准备好设备的驱动程序,若所有设备的驱动程序正常,则将它们调入内核。

五、应用程序的启动流程

  1、双击exe,即同时把程序的绝对路径告诉了操作系统。

  2、操作系统根据绝对路径找到了程序在硬盘上的具体位置,控制其对应代码加载到内存上。

  3、然后CPU从内存中读取代码执行,应用程序完成启动。

         

posted on 2020-01-01 02:01  焚音留香  阅读(187)  评论(0编辑  收藏  举报