操作系统的重点内容分析《计算机科学概论》原书第七版
逻辑地址和物理地址
在原书第七版教材中给出的解释如下:
实际上对于初学者来讲,这三个概念依旧抽象:
我们来详细叙述一下:
- 逻辑地址是指计算机内存中的一段地址空间,用于识别和定位存储器中的数据。每个程序在执行时都会分配一段逻辑地址空间,用来存储其代码、数据和堆栈等信息。
- 物理地址是指计算机中实际存储器单元的地址,也称为实际地址,它是计算机内部电路芯片中的电子元件的物理位置
- 地址联编是指逻辑地址转换为物理地址的过程,就叫做“逻辑地址和物理地址之间的映射关系”。
在这里,我的老师举了一个有趣的例子:对于逻辑地址,它有一种不确定性。教室里有100个座位,你不知道它会坐到什么地方。可是一旦它坐到座位上,它的位置就确定了。
即:把逻辑地址转化为物理地址,转化的过程是不确定的,但是一旦转换完成,就是确定的。
分区内存管理
光看概念,其实不一定能懂多少。
话不多说,我们先来看一个例子:右边的数字代表占用内存的大小,左边的数字代表内存大小,把右边的“数”放进左边的内存中。
来看看我做出的答案,是不是感觉直观一些了?
我们可以看出,对于上面的例子,最差匹配的效果是最差的,那为什么还会存在这种匹配方式呢?
A:最差匹配可以留出空间来进行编辑和增添。
CPU调度算法:
书中介绍了以下三种调度算法:
- FCFS:在先到先服务(FCFS)调度方法中,进程按照它们到达运行状态的顺序转移到CPU:一旦进程获得了CPU的访问权,那么除非它强制请求转入等待状态 (如请求其他进程正在使用的设备),否则将一直占用CPU。
- SJN:最短作业优先(SJN)CPU调度算法将查看所有处于准备就绪状态的进程,并分派一个具有最短服务时间的。
- 轮询:CPU的轮询法将把处理时间平均分配给所有准备就绪的进程。
接下来还是举一个例子:
图中的五个进程对应相应的服务时间:
FCFS
解释一下:平均运转周期=所有人等待的时间之和/总人数。
SJN
轮询算法
我的思考:
SJN(最短作业优先)可被证明对整体而言是最佳的,
轮询算法是效率最低的
可是轮询算法可能是应用最广泛的
为什么?
因为轮询算法是最为公平的算法
这也为我们制作产品提供了思路,当我们面向用户时,应当考虑到每一个人对于公平的向往,而抛弃一些效率。也就是说,在一定程度上,公平要比效率更为重要。
结语:
以上是我对于《计算机科学概论》第十章中的部分重点内容的理解,还请各位批评指正。