冯诺依曼体系

计算机五大组成

  • 控制器:控制硬件设备的运行
  • 运算器:数学运算,逻辑运算,位运算
  • 存储器
    • 内存:临时存储
    • 外存:硬盘:长期存储
  • 输入设备:键盘,鼠标
  • 输出设备

存储器

访问时间 存储器
1ms 寄存器
2ms 高速缓存
10ms 内存
10ms 硬盘
100s 磁条

存储器可分为两大类

  • ROM:软件数据,代码等
  • RAM:只读存储器(存放BIOS程序)

硬盘的大小决定了能都安装程序的大小,内存决定了能运行的程序数目

软件可以分为两大类

  • 操作系统:控制计算机硬件,管理应用软件的控制程序

  • 应用软件

    32位CPU表示一次性能够读取32个二进制数

    2核4线程表示有2个CPU,四线程表示每一个1个CPU内部有4条流水线

计算机启动流程

  1. 计算机通电

  2. BIOS运行,检测CPU,内存,硬盘等硬件设备

  3. BIOS读取CMOS存储器中的参数,选择启动设备

  4. 读取启动设备的第一块扇区(主引导记录MBR)

    • 共512字节,前446为引导信息(bootloader启动装载程序,用于启动操作系统)
    • 后64位分区信息
    • 最后两个字节为结束标志
  5. 操作系统询问BIOS,获取配置信息,检测驱动程序

    程序最先存放在硬盘中,程序的运行需要将程序的代码或数据读入内存,CPU再从内存中读取指令来运行。

    电脑通电后,启动操作系统的过程通常分为以下几个步骤:

  6. 加电自检(Power-On Self-Test, POST)

    • 当你打开电脑电源,计算机硬件会进行自检,以确保各个硬件组件正常运作。这包括检查CPU、RAM、硬盘、显卡等。
  7. BIOS/UEFI启动

    • 自检完成后,计算机会寻找并加载存储在计算机主板上的基本输入/输出系统(BIOS)或统一可扩展固件接口(UEFI)。这些是计算机的固件,负责启动系统。
  8. 引导设备选择

    • BIOS/UEFI会根据预设的启动顺序(通常是硬盘、光盘/USB、网络等)选择一个启动设备。如果你想从其他设备(如USB驱动器)启动,你可以在BIOS/UEFI设置中进行配置。
  9. 引导加载程序(Bootloader)

    • 选择了启动设备后,计算机会查找该设备上的引导加载程序,例如GRUB(在Linux系统中常见)或Windows引导管理器。
    • 引导加载程序的任务是加载操作系统的内核。
  10. 操作系统内核加载

    • 引导加载程序会加载操作系统的内核文件,这是操作系统的核心部分。在Linux系统中,内核通常位于 /boot 目录中。
    • 内核加载后,它会初始化系统硬件并将控制权转交给操作系统。
  11. 初始化过程

    • 操作系统内核接管计算机后,开始初始化系统的各个部分,包括内存管理、文件系统、设备驱动程序等。
    • 在Linux中,初始化进程是第一个用户空间进程,通常是 initsystemd
  12. 登录管理器(如果适用)

    • 在图形用户界面(GUI)环境中,通常会启动登录管理器(如GDM、LightDM、或SDDM),用户可以在其中登录。
    • 在文本模式环境中,系统可能直接要求用户输入用户名和密码。
  13. 用户登录

    • 用户登录后,操作系统会创建用户的会话,并加载用户的配置文件和应用程序。
  14. 操作系统启动完成

    • 一旦用户成功登录,操作系统启动过程就完成了,用户可以开始使用计算机了。