这是数据库四级工程师专辑的第二辑,第一辑见链接🔗【数据库工程师四级第一辑】 第一部分记录了操作系统相关
小编必须承认,对于学数学的小编来说,所有一切都是新的,但是分享给公众的一定都是正确的,如果文章中有很多白痴的普及,大家略过就好
1️⃣ 抢占式调度系统
题目实例: 在抢占式调度系统中,进程从运行状态转换为就绪状态的可能原因是()
A. 被调度的程序抢占处理机(tip: 处理机就是CPU)
B. 等待某一事件
C. 等待的时间已经发生
D. 进程创建完成
E. 时间片用完
解析:那什么情况下会发生抢占式调度呢?最常见的现象是你这个进程运行时间太长了,是时候切换到另一个进程了
- 抢占式: 现行进程在运行过程中,如果有重要或紧迫的进程到达(其状态必须为就绪),则现运行进程将被迫放弃处理器,系统将处理器立刻分配给新到达的进程。
- 非抢占式:原来正在运行的进程继续运行,直至该进程完成或发生某种事件(如I/O请求),才主动放弃处理机。
区别在于,是否终端现在正在进行的进程。
那么什么时候要被迫从运行状态到就绪状态?
- 正常情况下的转换
+ 主动完成任务,进程创建完成 D选项
+ 超过了时间片,时间片用完 E选项- 非正常,被抢占
+ 其他优先级进程将他挤下线,原来正在运行的被抢占了CPU A选项
既然存在抢占式调度系统,那么相对,一定存在非抢占式调度系统;
- 那最基础的知识点回归到为什么会存在调度呢?
在计算机中cpu和内存都是有限的,但是操作系统上的进程很多,所以操作系统需要平衡各个进程的运行时间。比如说有的进程运行时间已经很长了,已经占用了cpu很长时间了,这个时候操作系统要公平,就会换下一个需要运行的进程。
我们举个栗子🌰:
老师带着同学们去观天象,只有一架天文望远镜(CPU角色),有一位同学(将被调度的进程)的观看时间超过了每人允许的观看时间(时间片角色),这时老师(操作系统角色)阻止他继续看。让别的同学(其他普通进程)来看,此时,校长来了,说想要临时观看一下,那么此时所有同学都要为校长让位,因此校长(实时进程角色) 成为下一个要看天文望远镜的人。
2️⃣ 进程控制块(PCB)任务控制块
PCB 就是关于进程/任务相关信息的仓库
每个进程控制块包含与当前进程相关的信息:
- 进程状态:状态可以包括新的、就绪、运行、等待、停止等。
- 程序计数器:计数器表示进程将要执行的下个指令的地址。理解为标识符
- CPU 寄存器:根据计算机体系结构的不同,寄存器的类型和数量也会不同。它们包括累加器、索引寄存器、堆栈指针、通用寄存器和其他条件码信息寄存器。
- CPU 调度信息:这类信息包括进程优先级、调度队列的指针和其他调度参数。
内存管理信息:根据操作系统使用的内存系统,这类信息可以包括基地址和界限寄存器的值、页表或段表。- 记账信息:这类信息包括 CPU 时间、实际使用时间、时间期限、记账数据、作业或进程数量等。
- I/O 状态信息:这类信息包括分配给进程的 I/O 设备列表、打开文件列表等。
- 下列信息中保存在进程控制块中的是:
A. 进程标识符
B. 进程当前状态
C. 磁盘根目录
D. 全局变量
E. 代码段指针
解析: A选项,什么是进程标识符?
每个进程在系统中都有唯一的一个ID标识它,这个ID就是进程标识符(PID)。因为其唯一,所以系统可以根据它准确定位到一个进程,本质上是一个无符号整型的类型别名(typedef)。如下图所示
进程块的基本内容有:进程标识符,进程当前状态,进程相应程序,数据地址,进程优先级,CPU现场保护区,进程同步与通信机制,进程所在队列PCB的链接字,代码段指针,就是IP和CS
3️⃣ 文件控制块(PCB)任务控制块
- 必须保存的信息是: 文件名,文件大小,文件创建时间,磁盘块起始地址,文件类型,共享计数
4️⃣ 存储设备科普
- 在计算机存储体系中,操作系统涉及的存储设备为()
A. 寄存器
B. 高速缓存
C. 内存
D. 硬盘
E. 网盘
解析: 网盘是需要有网络辅助的U盘, - 寄存器:进行数据的存储
- 硬盘是用来实现应用程序功能的设备,也就是应用程序和硬件之间的操作系统,所以也参与存储
- CPU(处理器),由运算器、控制器、寄存器、输入设备和输出设备组成,这些器件由处理数据总线相连。他们之间的连接由下图的引脚实现。

5️⃣ 快表
先说一句:回忆一下指针–>指针就是地址,记录的是数据的位置
页表 | 页表是一种特殊的数据结构,放在系统空间的页表区, 存放逻辑页与物理页帧的对应关系 每一个进程都拥有一个自己的页表,因此更新一个进程就要刷新页表 PCB(进程控制块)中有指针指向页表 |
---|---|
快表(TLB) | 快表是存储在高速缓冲存储器的部分页表 一般利用页表做地址转换工作。 在操作系统中引入快表是为了加快地址映射速度。 |
6️⃣ 说点废话普及知识:关于存储器(Cache)
问题一: RAM 和 ROM 有什么区别❓
RAM 、ROM都是数据存储器。
- RAM 是随机存取存储器,它的特点是易挥发性,即掉电失忆。
- ROM 通常指只读存储器(一次写入,反复读取),它的特点与RAM 相反。
举个栗子🌰:如果突然停电或者没有保存就关闭了文件,那么ROM可以随机保存之前没有储存的文件但是RAM会使之前没有保存的文件消失
问题二: RAM 和 内存区别❓
在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。
问题三: 不能理清一下那么多存储器的结构吗❓
高速缓冲存储器(例如:TLB块表)是CPU和内存的一个桥梁,因为CPU处理速度极快,内存再想匹配他的速度都么得办法。所以只能聘用高速缓冲存储器来作为桥梁。
7️⃣地址映射专题
- 将用户程序的逻辑地址(虚拟地址)转为可以由机器直接调用的物理地址,称为地址的映射
- 地址映射由硬件完成
- 地址映射不一定必须访问页目录和页表,因为可能在整个过程中并没有采用分页管理
- 如果直接访问快速定位块也是可以不需要进行地址映射的
8️⃣ DMA技术
CPU的中断往往发生于处理速度的不匹配,此时CPU的处理效率降低。
- DMA 广泛运用于当代的电脑设备中, 他使得不同速度的硬件装置直接沟通,不需要依于 CPU 的中断
- 如果没有DMA,CPU需要先复制数据到暂存器,然后把他们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。这样一来,CPU的效率大大降低。
- DMA传输方式可以减轻了CPU的工作负担
所以!!—>借鉴了博主的理解I/O的控制方法
还有其他可以减轻CPU工作负担的方法吗?其实在讲(I/O的控制方式)
- 程序直接控制方式
- 中断控制方式
- DMA方式(直接控制方式)
- 通道控制方式
程序直接控制方式 | 高速CPU和低速的I/O设备之间的速度不匹配 因此,CPU大部分时间都处于等待是否完成I/O操作的循环测试 造成CPU的极大浪费,外围设备也不能得到合理的使用,整个系统的效率很低 直接程序控制方式只适合于CPU执行速度较慢,且外围设备较少的系统 |
---|---|
中断控制方式 | 为了减少程序直接控制方式中CPU的等待时间以及提高系统的并行程度 系统引入了中断机制中断机制引入后,外围设备仅当操作正常结束 或异常结束时才向CPU发出中断请求 |
通道控制方式 | 是对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预,可以进一步减少CPU的干预程度 |
所有方式的目标在于尽量减少主机对I/O控制的干预,把主机从繁忙的I/O控制事务中解脱出来,进行更多的数据处理,提高计算机效率和资源的利用率
满足下边的三点一般就可以实现提高I/O的利用率
- 数据传输速度足够高,能满足用户的需要但又不丢失数据;
- 系统开销小,所需的处理控制程序少
- 能充分发挥硬件资源的能力,使I/O设备尽可能忙,而CPU等待时间尽可能少。
文末:小编推荐大家去B站看TED的计算机相关视频,一点都不枯燥,绝对不是大学老师念书
计算机工作原理