2、计算机基础详解

一、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从内存中读取更改读入内存的应用程序的代码执行,应用程序完成启动。

 

posted @ 2020-03-02 22:52  疏星淡月  阅读(174)  评论(0编辑  收藏  举报