hw1手画记录

SYuan03 Lv4

因为老师不让交手画的图片,但实际上有些手画的图片比较容易理解,所以只能找个地方存点手稿。

Problem4

时间片轮换调度算法

关键:先来先服务,队列,时间片

轮转调度算法Round-Robin(RR)
在分时系统中都采用时间片轮转算法进行进程调度。时间片是指一个较小的时间间隔,通常为10-100毫秒。在简单的轮转算法中,系统将所有的就绪进程按先来先服务(即FIFO)规则排成一个队列,将CPU分配给队首进程,且规定每个进程最多允许运行一个时间片;若时间片使用完进程还没有结束,则被加入就绪FIFO队列队尾,并把CPU交给下一个进程。时间片轮转算法只用于进程调度,它属于抢占调度方式。

优点 :CPU分配相对公平;平均响应时间较短缺点:不利于紧急作业,而且当进程的运行时间都相近时,平均的等待时间比较长,甚至不如先来先服务算法。


Problem5

只能说由于没听课,连这概念都没听说过

参考资料:

教材P87-91

Linux fork,vfork,clone : https://blog.csdn.net/gatieme/article/details/51417488

针对本题:https://blog.csdn.net/qq_35619728/article/details/100995771

zhy学长的笔记

image-20230418222656359


Problem6

图片来源:《操作系统教学资料》操作系统习题讲解.130426.doc-原创力文档 (book118.com)

也许有关:5.1_6_假脱机技术_哔哩哔哩_bilibili

QQ截图20230418224639

响应比前面为什么要+1?

image-20230419115602251

比较的时候是没有影响的


Problem8

8.1 对于各种地址的理解

通俗理解物理地址、逻辑地址、线性地址、虚拟地址、有效地址的区别 - pipci - 博客园 (cnblogs.com)

注意:这些地址应该是在段页式存储下才有的,比如作业P8中采用简单的分页式存储,自然只有逻辑地址和物理地址的说法,不会有什么端内偏移量之类的

**物理地址:**物理地址就是内存单元的绝对地址,比如你有一个4G的内存条插在电脑上,物理地址0x0000就表示内存条的第一个存储单元,0x0010就表示内存条的第17个存储单元,不管CPU内部怎么处理地址,最终访问的都是物理地址。在CPU实模式下“段基址+段内偏移地址”就是物理地址,CPU可以使用此地址直接访问内存。

**线性地址、虚拟地址:**CPU在保护模式下,“段基址+段内偏移地址”叫做线性地址,注意,保护模式下段基址寄存器中存储的不是真正的段基值(和实模式的含义不一样),而是被称为“段选择子”的东西,通过段选择子在GDT(全局描述表)中找到真正的段基值。另外,如果CPU在保护模式下没有开启分页功能,则线性地址就被当做最终的物理地址来用,若开启了分页功能,则线性地址就叫虚拟地址(在没开启分页功能的情况下线性地址和虚拟地址就是一回事)。但是,如果开启分页功能,虚拟地址(或线性地址)还要通过页部件电路转换成最终的物理地址。

**逻辑地址、有效地址:**无论CPU在什么模式下,段内偏移地址又称为有效地址或者逻辑地址(只是叫法不一样罢了),例如实模式下 “mov ax, [0x7c00]”,0x7c00就是逻辑地址(或有效地址),但这条指令最终操作的物理地址是DS*16+0x7c00

8.2 页式、段式、段页式

存储管理之页式、段式、段页式存储 以及 优缺点_页式和段式_驭风男孩的博客-CSDN博客

关于页框:P9需要知道

段、页、页框、页表、页表项_页框号和页号的区别_biggerbugger的博客-CSDN博客


Problem 9

1. Clock调度算法

image-20230419192439946

简单的CLOCK 算法实现方法:为每个页面设置一个访问位,再将内存中的页面都通过链接指针链接成一个循环队列。

①当某页被访问时,其访问位置为1。当需要淘汰一个页面时,只需检查页的访问位。

②如果是0,就选择该页换出;如果是1,则将它置为0,暂不换出,继续检查下一个页面,若第一轮扫描中所有页面都是1,则将这些页面的访问位依次置为0后,再进行第二轮扫描,第二轮扫描中一定会有访问位为0的页面

(指针是循环指针,不是想到哪就到哪,只能一步步循环移动,发生替换或者刚开始载入时,指针才会移动,否则指针不会移动)

2. 关于驻留集

1.驻留集对于分页式的虚拟内存,在进程准备执行时,不需要也不可能把一个进程的所有页都读入主存。因此,操作系统必须决定读取多少页,即决定给特定的进程分配几个页框。给一个进程分配的物理页框的集合就是这个进程的驻留集。
2.驻留集的大小需要考虑以下几点:
1)分配给一个进程的存储量越小,任何时候驻留在主存中的进程数就越多,从而可以提高处理机的时间利用效率。
2)若一个进程在主存中的页数过少,则尽管有局部性原理,页错误率仍然会相对较高。
3)若页数过多,则由于局部性原理,给特定的进程分配更多的主存空间对该进程的错误率没有明显的影响

3. 工作集算法WS

image-20230419222049299

书上写的比较复杂,但如果这个答案是正确的话其实并不复杂

例如t=7的时候,先看当前的是P1,因为delta=2,所以往前看两个,就是之前的这两个也要保留下来,前两个是P4、P5,那么t=7的时候就要有P1,P4,P5其他不能有,再跟前一时刻比较,多出来的填到IN,少的就OUT,t=7正好是相等所以没有IN,也没有OUT


对word分页符的使用

以前都不知道有这回事

https://blog.csdn.net/weixin_38314865/article/details/122701834

image-20230419114840440

比如7、8两题本来连在一起,现在可以将其分开:在“在”字,也就是第8题的开头处插入分页符就行了

image-20230419164704807

  • 标题: hw1手画记录
  • 作者: SYuan03
  • 创建于 : 2023-04-18 17:21:46
  • 更新于 : 2024-03-10 19:39:35
  • 链接: https://bblog.031105.xyz/posts/23-Spring-Courses-操作系统/hw1手画记录.html
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论