1.计算机初识

1.计算机的五大组成部分:

  • 控制器
  • 运算器
  • 存储器
  • 输入设备input
  • 输出设备output

2.计算机系统的三层结构

应用程序、用户----》操作系统------》计算机硬件

平台:操作系统+硬件

3.cpu分类

cpu内部含有微指令集,所有软件都要经过CPU内部的位指令集来完成,指令集的设计主要分为两种

  • 精简指令集(RISC)
    • 微指令集较为精简,每个指令的运行时间都很短,完成额动作单纯,执行效能佳,但若要做复杂的事情,就要多个指令来完成
  • 复杂指令集(CISC)
    • 每个小指令可以执行一些较地接的硬件操作,指令数目多且复杂,每条指令的长度并不相同。因此指令执行较为复杂所以每条指令花费的时间较长,但每条指令可以处理的工作较为丰富

4.x86架构64位

  • x86架构

    x86是针对cpu的型号或者说架构的一种统称,由于AMD、Intel、VIA所开发出来的x86架构cpu被大量适用于个人计算机上面,因此个人计算机常被称为x86架构的计算机

  • 64位

    CPU的位数指的是CPU一次性能从内存中取出多少位的二进制指令,64bit指的是一次性能从内存中取出64位二进制指令。CPU具有向下兼容性,指的是64位的CPU既可以运行64位的软件,也可以运行32位的软件

5.x86架构64位

  • x86架构

    x86是针对cpu的型号或者说架构的一种统称,由于AMD、Intel、VIA所开发出来的x86架构cpu被大量适用于个人计算机上面,因此个人计算机常被称为x86架构的计算机

  • 64位

    CPU的位数指的是CPU一次性能从内存中取出多少位的二进制指令,64bit指的是一次性能从内存中取出64位二进制指令。CPU具有向下兼容性,指的是64位的CPU既可以运行64位的软件,也可以运行32位的软件

6.内核态与用户态

代表CPU的两种工作状态

  • 内核态:运行的程序是操作系统,可以操作计算机硬件

  • 用户态:运行的程序是应用程序,不能操作计算机硬件

内核态与用户态的转换:

应用程序的运行必然涉及到计算机硬件的操作,那就必须由用户态切换到内核态下才能实现,所以计算机工作时在频繁地发生内核态与用户态的转换

7.核数与线程

2核4线程:

  • 2核心代表有2个CPU,4线程指的是每个CPU都有2个线程=》假4核

4核8线程:

  • 4核心代表有4个CPU,8线程指的是每个CPU都有2个线程=》假8核

8. 存储器

RAM:内存

ROM:“只读内存”,存放计算机厂商写死计算机上的一段核心程序=》操作系统

CMOS:,存取速度慢,断电数据丢失,耗电量极低

硬盘:

  • 机械硬盘:磁盘

    • 磁道:一圈数据,对应着一串二进制(1bit代表一个二进制位)

      8bit 比特位=1Bytes字节

      1024Bytes=1KB

      1024KB=1MB

      1024MB=1GB

      1024GB=1TB

      1024TB=1PB

    • 扇区:

      一个扇区通常为512Bytes

      站在硬盘角度,一次性读写数据的最小单位为扇区

      操作系统一次性读写的单位是一个block块=》8扇区的大小=4096Bytes

    • 柱面

  • 固态硬盘

IO延迟:例如7200转/min,120转/s,一圈8ms,半圈4ms

  • 平均寻道时间:机械手臂转到数据所在磁道需要花费的时间,受限于物理工艺水平,目前机械硬盘可以达到5ms

  • 平均延迟时间:转半圈需要花费4ms,受限于硬盘的转速

IO延迟=平均寻道时间+平均延迟时间

优化程序运行效率的一个核心法则:能从内存取数据,就不要从硬盘取

IO设备=设备的控制+设备本身

9.操作系统启动流程

  • 计算机加电
  • BIOS开始运行,检测硬件:cpu、内存、硬盘等
  • BIOS读取CMOS存储器中的参数,选择启动设备
  • 从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64位为分区信息,最后两个为标志位)
  • 根据分区信息读入bootloader启动装载模块,启动操作系统
  • 然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统会要求用户安装设备驱动程序。一旦有了全部的设备驱动程序,操作系统就会将他们调如内核。然后初始有关的表格(如进程表),创建需要的进程,并在每个终端上启动登录程序或GUI

10.应用程序的启动流程

  • 双击exe快捷方式--》exe文件的绝对路径,就是在告诉操作系统说:我有一个应用程序要执行
  • 操作系统会根据文件路径找到exe程序在硬盘的位置,控制其代码从硬盘加载到内存
  • 然后控制CPU从内存中读取刚刚读入内存的应用程序代码执行,应用程序完成启动
原文地址:https://www.cnblogs.com/Psc-mmf/p/13903981.html