普通人

《Operating Systems: Three Easy Pieces》学习笔记(六) 调度:多级反馈队列

本章将介绍一种著名的调度方法–多级反馈队列(Multi-level Feedback Queue,MLFQ)。1962 年,Corbato 首次提出多级反馈队列,应用于兼容时分共享系统(CTSS)。Corbato 因在 CTSS 中的贡献和后来在 Multics 中的贡献,获得了 ACM 颁发的图灵奖(Turing Award)。该调度程序经过多年的一系列优化,出现在许多现代操作系统中。 ...

《Operating Systems: Three Easy Pieces》学习笔记(五) 进程调度:介绍

假设 为了方便概念的描述,对操作系统中运行的进程(有时也叫工作任务)做出如下的假设: 工作负载 每一个工作运行相同的时间。 所有的工作同时到达。 一旦开始,每个工作保持运行直到完成。 所有的工作只是用 CPU(即它们不执行 IO 操作)。 每个工作的运行时间是已知的。 调度指标 任务的周转时间定义为任务完成时间减去任务到达系统的时间。更正式的周转时间定义 T...

《Operating Systems: Three Easy Pieces》学习笔记(四) 机制:受限直接执行

本文中文版翻译质量堪忧,有不少名词翻译不知所云,建议对照英文版阅读 前言 在构建这样的虚拟化机制时存在一些挑战。 第一个是性能:如何在不增加系统开销的情况下实现虚拟化? 第二个是控制权:如何有效地运行进程,同时保留对 CPU 的控制? 控制权对于操作系统尤为重要,因为操作系统负责资源管理。如果没有控制权,一个进程可以简单地无限制运行并接管机器,或访问没有权限的信息 ...

《Operating Systems: Three Easy Pieces》学习笔记(二) 抽象:进程

本系列文章将按照《Operating Systems: Three Easy Pieces》一书的章节顺序编写,结合原文与自己的感悟,以作笔记之用,如有不足之处,恳请在评论区指出 进程 API 创建(create) 操作系统必须包含一些创建新进程的方法。在 shell 中键入命令或双击应用程序图标时,会调用操作系统来创建新进程,运行指定的程序。 销毁(destroy) 由于存在创建...

Makefile和SHELL中$及$$的区别

最近在看linux内核代码时看到在Makefile中用到了$$()的使用方式,虽然能猜到什么意思,但不知道使用方法和具体含义,于是查找资料,在此写一个总结 SHELL中的$说明 在shell中,$的一种用法是引用shell变量,执行脚本时,$引用的变量会被替换为相应的字符串。 当然shell中$的用法远不止于此,此处就不多做展开,想要了解更多,可以阅读Linux Shell中’$’...

© Kai. 保留部分权利。

浙ICP备20006745号-2,本站由 Jekyll 生成,采用 Chirpy 主题。