![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OS
菜鸡骞
建议在头脑清醒的情况下写代码
展开
-
逻辑地址、物理地址、页、页框(帧)、页框号
逻辑地址=页号+偏移量物理地址=页框号+偏移量(页框长度)页框大小=页大小a.逻辑地址空间包含216 页,所以用页大小210 乘以逻辑地址空间大小,可以获得逻辑地址位数。26位b.页框有210 字节c.物理地址=页框号+偏移量(页框长度),所以用内存大小/页框大小可获得页框号,即为22位页框号d.逻辑地址中有多少页就有多少页表项,216 项e.页表项内存放的是页框号和标志位,当标志位为1位,则页表项为22+1=23位...原创 2020-11-12 11:39:42 · 22625 阅读 · 3 评论 -
页面置换算法 OPT LRU FIFO CLOCK
1、OPT最佳,不可能实现,通过判断下次访问距当前时间最长的页面,缺页中断最少2、LRU最近最少使用。可以通过比对当前内存中的页面和上一次、上上次的页面进行置换。以图为例,内存中为2 3 1,下一次需要访问5,发生缺页,需要替换,观察上一次访问为1,再上一次访问为2,所以替换3。3、FIFO先进先出,没什么好说的,字面意思理解。4、CLOCK重点说时钟算法,时钟算法带有一个附加位,在首次装入内存或是被访问之后,附加位变为1,即例子中的‘*’号。同样以内存中2 3 1,下一次需要访问5为例。时.原创 2020-11-12 11:21:27 · 651 阅读 · 0 评论 -
FCFS、RR、SPN、SRT、HRRN代码实现
1、FCFS原理:代码:void FCFS(int n[MAX_TASK][3], string pname[MAX_TASK], int num){ int cyc_time[MAX_TASK] = { 0 };//轮转时间 int fin_time[MAX_TASK] = { 0 };//完成时间 int ser_time[MAX_TASK] = { 0 };//剩余时间 for (int i = 0; i < num; i++)//初始化 { ser_time[i] = n原创 2020-10-28 09:39:49 · 1292 阅读 · 0 评论