计算机基础系列一:计算机硬件

  1. 编程语言的作用及与操作系统和硬件的关系
  2. 应用程序——>操作系统——>硬件

  3. cpu——>内存——>硬盘

  4. cpu与寄存器,内核态与用户态及如何切换

  5. 存储器系列,L1缓存,L2缓存,内存,EEPROM,闪存,CMOS与BIOS电池

  6. 磁盘结构,平均寻道时间,平均延迟时间,虚拟内存与MMU

  7. 磁带

  8. 设备驱动与控制器

  9. 总线与南桥和北桥

  10. 操作系统的启动流程

  11. 应用程序的启动流程

  1. 编程语言通过操作系统对硬件进行操作
  2. 应用程序储存在硬件内,由操作系统加载到内存内,然后由cpu进行调用,调用的过程可分为”取指单元→解码单元→执行单元“,目前的cpu有多个执行单元,可以同时负责不同的事情,比如在听歌的同时看小说、打游戏,其操作原理如图所示

    两个或更多的指令被同时取出、解码并装入一个保持缓冲区中,直至它们都执行完毕。只有有一个执行单元空闲,就检查保持缓冲区是否还有可处理的指令。

    这种设计存在一种缺陷,即程序的指令经常不按照顺序执行,在多数情况下,硬件负责保证这种运算结果与顺序执行的指令时的结果相同。

  3. 由于内存是易失性存储器,因此数据想要永久保存就要存储在磁盘上,再从磁盘加载到内存中,由cpu运行。
  4. 由于cpu的执行速度与从内存的读取速度有速度差,因此需要寄存器保存一些关键数据,寄存器包括通用寄存器、程序计数器、堆栈指针、程序状态字寄存器。通用寄存器用来储存变量和临时结果,程序计数器储存下一条要取出的指令的内存地址、堆栈指针只想内存中堆栈的顶端、程序状态字寄存器记录cpu运行的状态是内核态还是用户态。
  5. L1缓存即寄存器,L2缓存即高速缓存,此外还有三级缓存,四级缓存等,因机器而异;CMOS也是易失性存储设备,由BIOS电池供电,耗电量小,记录时间和系统启动盘信息、BIOS程序参数。
  6. 磁盘包括盘面和机械手臂,盘面上一个同心圆称作一个磁道,磁道上的一小段圆弧称作一个扇区,扇区最小是512字节,上下盘面上相同的磁道称为一个柱面,操作系统中一个block块包括几个扇区。平均寻道时间:机械手臂从一个柱面移动到另一个柱面需要的时间,平均延迟时间:机械手臂找到柱面后定位到目标扇区需要的时间。与虚拟内存相对的是物理内存,虚拟内存使得计算机可以运行大于物理内存的程序,方法是将正在使用的程序放入内存去执行,而暂时不需要执行的程序放到磁盘的某块地方,这块地方称为虚拟内存,在linux中成为swap,这种机制的核心在于快速地映射内存地址,由cpu中的一个部件负责,称为存储器管理单元(memory management unit)MMU。
  7. 这个不说了,太老了。
  8. 驱动程序相当于硬件的控制程序,为操作系统提供统一的调用接口。
  9. 北桥连接高速设备,南桥链接慢速设备。
  10. 计算机通电→启动BIOS操作系统(存储于BIOS芯片),检测硬件是否正常→BIOS读取CMOS中保存的设置和参数,选择启动设备(U盘、光驱或硬盘)→从启动设备第一个扇区读取主引导记录→加载操作系统到内存,并被保护起来→操作系统询问BIOS获得配置信息,并检查硬件的驱动程序是否齐全,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。
  11. 点击,发起系统调用请求→操作系统从硬盘上读取相关程序到内存中。桌面和文件夹都是应用程序,因此需要经过系统调用通过操作系统访问硬件中存储的数据。
原文地址:https://www.cnblogs.com/Icarus1900/p/7635423.html