一、硬件
1、冯诺依曼体系
cpu(运算器+控制器)+内存+输入/输出设备
2、CPU的工作模式
1、正常流:取码--译码--执行 核心寄存器(PC寄存器) 开机到关机不断运行
2、中断模式:中断源、中断类型、中断向量表 核心:执行流的切换
执行流的切换:允许cpu从“任务1”跑出去执行“任务2”,再回来执行“任务1”。切换过程核心:上下文恢复,保护和恢复,PC是最主要的。
3、内存是RAM。
二、软件
1、操作系统(OS):是一个负责管理、协调的软件;
主要管理硬件(CPU、内存、硬盘、网络、其他硬件);
模块:进程管理、内存管理、文件管理、网络管理、驱动管理
2、核心概念:
程序(program):指令+数据组成,一般以文件(或者很多文件)的形式存在。
进程(process):①进程是对程序一次执行过程的抽象的结果。每个程序支持同时有多个进程存在。②进程是资源(硬件资源)分配的基本单位。
线程(thread):①每个进程都是由一个或者多个线程组成;②线程是调度的基本单位(CPU分配的基本单位)。
1)进程是资源分配的基本单位,分配CPU都是以线程为单位,不再是以进程为单位。
2)进程是一个PCB对象,保存在内存(OS直接管理的)中
三、核心硬件的协调管理
CPU:以时间为单位进行分配——进程调度(进程管理)
内存:以空间为单位进行分配——内存管理
1、进程管理(进程调度)
①进程:计算机硬件的视角——一组有关联的数据(一个对象)
②进程调度
1、进程的状态
2、状态转移图
四、现场保护、现场恢复
1、现场:CPU中寄存器中的重要数据(其中最核心的就是PC)
2、保护:把对应的数据保存到内存中(PCB对象中有对应的位置去保存)
3、恢复:把内存中之前保护的数据恢复到CPU寄存器中
根据哪些算法选择一个进程来分配CPU:
1、先来先服务 2、短任务优先 3、优先级
五、在OS语境下的并发(concurrent)vs 并行(parallel)
六、用户态(user space)vs 内核态(kernel space)
七、内存管理
1、
2、 使用物理地址,有以下问题:
程序,需要关心具体分配到的物理地址,而物理地址很可能每次是不同的,导致处理的复杂性上升。由于物理地址暴露了,导致OS失去调整的自主权。
3、一般提到进程的内存地址管理,都是指的是线性地址。
八、进程间通信(IPC)