1. cpu
冯诺依曼体系(Von Neumann Architecture)

衡量cpu好坏:1. 主频 (基准频率,睿频)单个核心的运算能力1s之内,一个核心能够执行多少条指令(近似)2. 核心数多个核心的运算能力


冯・诺依曼结构体系
早期计算机采用冯・诺依曼结构,该结构的精髓在于将 “执行” 和 “存储” 功能分离。在这种体系下,CPU 执行指令前,需要从内存中读取相应的数据和指令。这种设计理念的核心目标是实现 “解耦合”,即将计算处理单元(CPU)和数据存储单元(内存)分开设计。这样做的好处显著,极大地降低了硬件设计的复杂度和成本。因为不同功能模块可以独立进行优化和改进,使得计算机的设计和制造更加灵活、高效。
缓存的出现
随着硬件技术的飞速发展,CPU 的运算速度得到了极大提升,其性能提升的幅度远远超过了内存读取速度的提升。这就导致了一个严重的问题:内存逐渐跟不上 CPU 的处理节奏,CPU 常常需要等待从内存中读取数据和指令,从而造成了大量的时间浪费,计算机整体性能的提升受到了内存读取速度的严重制约。
为了解决这一问题,缓存技术应运而生。缓存是一种高速的临时存储区域,它被集成到 CPU 上。缓存的主要作用是临时存储从内存中读取的指令和数据。由于缓存的访问速度远高于内存,当 CPU 需要数据或指令时,首先会在缓存中查找。如果缓存中存在所需内容(即命中缓存),CPU 可以迅速获取,从而避免了从相对较慢的内存中读取数据,大大提高了 CPU 的执行效率。
流水线技术
流水线技术是进一步提高 CPU 执行效率的重要手段。传统的 CPU 执行指令的方式是串行的,即一条指令执行完成后,才会去读取并执行下一条指令。这种方式在 CPU 等待指令和数据从内存传输时会造成大量的空闲时间。
而流水线技术打破了这种串行执行的模式。在流水线工作模式下,CPU 在执行指令 A 的同时,可以并行地从内存中读取指令 B。当指令 A 执行完毕后,CPU 可以立即开始执行已经读取到的指令 B,无需再等待从内存中读取新的指令。这样就使得 CPU 的各个处理单元可以在不同的指令阶段同时工作,大大提高了 CPU 的利用率和指令执行的吞吐量,进一步提升了计算机的整体性能。
2. 操作系统
操作系统的职责:
1. 管理各种硬件设备
2. 给其他软件提供稳定的运行环境
1. 进程
定义:
进程是指正在运行的程序的实例,是操作系统进行资源分配和调度的基本单位。它包含了程序执行所需的各种资源,如内存空间、CPU 时间、文件句柄等。
组成部分:
- 程序代码:即进程所执行的指令序列,描述了进程要完成的任务。
- 数据:包括程序运行时使用的各种变量、常量、文件等数据。
- 进程控制块(PCB):这是操作系统用于管理进程的核心数据结构,包含了进程的各种信息,如进程标识符、状态、优先级、资源分配情况等。操作系统通过操作 PCB 来实现对进程的控制和管理。
1. 进程标识符(PID):是进程的唯一标识,用于区分系统中的不同进程。同一机器上的同一时刻,每个进程都pid都是唯一的。操作系统通过 PID 来对进程进行各种操作,如调度、终止等。
2. 内存指针:指向进程在内存中的地址空间,包括代码段、数据段、堆栈段等的起始地址和界限。操作系统通过内存指针来管理进程的内存分配和访问,确保进程只能访问自己的内存空间,避免不同进程之间的内存冲突。
3. 文件描述符:在操作系统中,文件描述符是进程与外部存储资源(主要涉及硬盘)交互时极为关键的概念。硬盘作为数据持久化存储的核心硬件,其内部数据的组织和访问方式较为复杂。为了简化进程对硬盘资源的操作,操作系统对硬盘进行了抽象封装,将各类数据存储单元统一以文件的形式呈现给进程。
当一个进程需要操作文件时,首要步骤便是 “打开文件”。这一操作的本质是操作系统在进程专属的文件描述符表中为该文件分配一个表项。文件描述符表是操作系统用于跟踪进程所打开文件的关键数据结构。在分配表项时,系统会构造一个结构体,该结构体中详细记录了这个文件的诸多相关信息。
4. 进程状态:描述进程当前所处的状态,如就绪、运行、阻塞等。操作系统根据进程状态来决定是否将 CPU 分配给该进程,以及如何在不同状态之间进行转换。
5. 优先级:表示进程相对于其他进程的重要程度和执行顺序。优先级高的进程通常会优先获得 CPU 资源,以便更快地执行。操作系统根据优先级来决定在多个就绪进程中选择哪个进程投入运行
6. 记账信息:在多任务操作系统中,,为了高效且公平地管理 CPU 资源,记账信息针对每个进程占用 CPU 的时间进行精确统计。这一统计过程是动态且持续的,操作系统会在进程的整个生命周期内,记录其每次获得 CPU 使用权的时间片段,并进行累加。根据统计结果来进一步调整调度策略,确保每个进程都有机会使用 CPU 资源,避免出现某些进程长期得不到执行而处于 “饥饿” 状态的情况。
7. 进程上下文:包括进程的地址空间、寄存器状态、打开的文件等所有与进程执行相关的信息。进程上下文在进程切换时需要进行保存和恢复,以保证进程在不同的执行时刻都能正确地运行。
保存:把cpu的关键寄存器中的数据保存到内存中(pcb的上下文属性中)
恢复:把内存中的关键寄存器中的数据,加载到cpu的对应寄存器中
- 定义:指在同一时间段内,多个任务或进程交替执行,但在任意时刻只有一个任务在执行。
- 实现方式:通过操作系统的调度算法,将 CPU 时间划分为多个时间片,每个任务轮流获得 CPU 时间片来执行。
- 定义:指在同一时刻,多个任务或进程同时执行,需要多个处理器或多核处理器来实现。
- 实现方式:通过将任务分配到不同的处理器或核心上,让它们同时进行处理,从而实现真正的并行执行。