概述
本文更像是笔记总结,梳理一下前端面试中常见的操作系统知识点。
进程
进程是系统资源分配的基本单位。顾名思义,就是"进行中的程序",即一个程序运行时的实体。
进程大体分为三部分:PCB(Process Control Block - 程序控制块),数据块,指令块。
- PCB: 进程的唯一标识,存储一些与进程自身相关的信息,如进程id
- 数据块:存放进程运行过程中需要的数据集
- 指令块:存放进程运行过程中需要的指令集
在操作系统中,进程常见的五种状态为:创建态,就绪态,运行态,阻塞态,退出态。
- 创建态:程序刚启动初始化后的状态。
- 就绪态:一切资源准备就绪,等待被CPU调度
- 运行态:正在被CPU调度
- 阻塞态:程序运行过程中申请了其它IO设备,IO设备繁忙时,会从运行态转换为阻塞态
- 退出态:程序执行结束
线程
线程是系统调度的基本单位。操作系统提出线程的概念主要是为了提高程序的并发性。
线程主要由几部分组成:TCB(Thread Control Block - 线程控制块),指令指针,寄存器集合,堆栈
- TCB: 线程唯一标识,存储一些与进程自身相关的信息,如线程id
- 指令指针:指向指令的指针
- 寄存器集合: 存放一些数据信息
- 堆栈: 存储线程运行时的数据, 用于保护现场
并发
同一时间段内指向多个事件。提高并发性的优缺点:
- 优点: 资源利用率高,程序响应速度快,用户体验好。
- 缺点:大部分情况下程序代码复杂性高
举例说明: 假设某台电脑是单核的,也就代表其同一时刻只能分配给一个进程使用。如果该电脑操作系统无高并发程序,那么当我们打开qq,在发送文件的同时我们就无法发送信息。因为发送文件和发送信息是两个程序。但假设我们为高并发程序,那么虽然我们是单核的,但是在同一时间段内我们可以同时执行多个任务,也就是说可以在发送文件的同时发送信息,这便是高并发的好处。