操作系统导论
文章平均质量分 57
操作系统导论课后问题
Marine Tears
这个作者很懒,什么都没留下…
展开
-
操作系统导论-课后作业-ch22
此功能能够跟踪到内存的引用记录,要使用必须要缓存住每个虚拟内存页对应的虚拟页码。总的来说测试结果有随机性,个人认为理论上LRU的表现在局部序列上会好一些。当缓存大小>=可能被访问到的页数的时候,可大幅提升性能,达到OPT。LRU和FIFO已经接近OPT了。原创 2024-03-07 13:38:35 · 397 阅读 · 0 评论 -
操作系统导论-课后作业-ch20
页的大小为32字节,虚拟地址空间包含1024页而真实的物理空间只包含128个页。虚拟地址和物理地址都是15位,虚拟地址有5位代表offset而10位表示VPN(用于索引),而物理地址有7位从PFN中获得,而5位表示偏移,索引到字节。二级页表三级页表都只要一个寄存器,保存页的根目录表的地址即可,然后根据这个地址逐级索引下去。如果经常访问页表,将页表的内容保存到缓存中可以命中,从而导致快速访问。原创 2024-02-22 16:10:11 · 348 阅读 · 0 评论 -
操作系统导论-课后作业-ch19
本书在第6章中有过介绍,gettimeofday函数最多精确到us,并且大致精确(并不完全精确),需要多迭代几次减少误差,循环次数太多也会导致结束时间小于开始时间(即回滚)的现象,需要权衡。原创 2024-02-21 15:16:39 · 610 阅读 · 0 评论 -
操作系统导论-课后作业-ch18
随着页大小的增长,线性页面大小逐渐减少。随着地址空间的增长,线性页表也逐渐增大。原创 2024-01-30 13:22:38 · 370 阅读 · 0 评论 -
操作系统导论-课后作业-ch17
运用SIZESORT-和FIRST的策略等同于运用WORST策略,并且查找速度比WORST还要快;运用SIZESORT+和FIRST的策略等同于运用BEST策略,并且查找速度比BEST还要快;随着已分配百分比的增大,alloc操作的比例越大。随着时间的推移列表越来越长并且碎片越来越多。碎片依然存在,但是它们之间可以合并。使用首次匹配,查找的速度变快了。原创 2024-01-30 11:21:37 · 391 阅读 · 0 评论 -
操作系统导论-课后作业-ch16
段0的最高合法虚拟地址为len0,而段1的最低合法虚拟地址为max-len1,在整个地址空间里面,最低的非法虚拟地址为len0+1,最高的是max-len1-1;也就是说上题段0最高合法虚拟地址为19,而段1的最低合法虚拟地址为108。具体规则就是segment0是从虚拟地址0往上寻址的,而segment1是从虚拟地址的最大值往下寻址的。20个虚拟地址空间,有2个有效地址,故大约90%的随机生成的虚拟地址是有效的。原创 2024-01-26 14:16:05 · 188 阅读 · 0 评论 -
操作系统导论-课后作业-ch15
使用以下标志运行:-s 1 -n 10 -l 100。可见,原文翻译并没有任何问题,说的意思是limit最大值是多少以至于可以将该地址空间仍然放在物理内存中。当VA<Limit && Limit+Base<物理内存大小时,随机生成的虚拟地址值有效。可见基址为2201,物理内存大小为16k,故界限的最大值为16k-2201=14183。随着Limit值从0到最大地址空间时,其随机生成的虚拟地址中有效部分应该越大。此处可见,-a和-p设置的越大,随机数产生的虚拟地址一般也会随着增大。原创 2024-01-24 10:05:31 · 425 阅读 · 0 评论 -
操作系统导论-课后作业-ch14
执行结果如下:可见,没有任何报错,执行完成。原创 2024-01-23 12:10:58 · 543 阅读 · 0 评论 -
操作系统导论-课后作业-ch9
如果使用步长调度策略的话,在量子规模较大时也能保持较稳定的不公平性,但正如文中所说,如果在任务执行时新来一个任务将会独占cpu,显然也有其局限性。量子规模越大,决策次数减少,不公平的可能也就越大。类似书中,设置不同的量子规模为横坐标,不公平性也即两个工作完成时间为纵坐标多次实验即可。拥有100张彩票的任务0先执行完,当然工作1完成前工作0也是有一定的概率执行的。工作0在192时结束,工作1在200时结束,不公平性取决于彩票的数量分配。可见seed不同,产生的任务长度的tickets的分配数额都不一样了。原创 2024-01-24 10:12:39 · 351 阅读 · 0 评论 -
操作系统导论-课后作业-ch8
通过上图的模拟,我们可以看到,I/O结束后当前任务是放置在同等级队列的后面,也就是job0还需要等待job1运行才能继续执行。5%也就是20分之一,要想确保,需要设置-B 200,也即每200ms确保此任务能运行10分钟。可以看到通过boost的方法,job0在job1和job2出现后的一段时间内依然能得到运行。从上图可见,修改为大写的-I之后,完成I/O后的任务会被放置在队列的最前端,从而直接执行。可见此时统计的是总的运行时间了,触发I/O依旧不影响。-I表示单次I/O所需时间。原创 2024-01-17 17:12:23 · 582 阅读 · 0 评论 -
操作系统导论-课后作业-ch7
相关软件对应异步社区资源HW-Scheduler。原创 2024-01-17 11:49:58 · 353 阅读 · 0 评论 -
操作系统导论-课后作业-ch6
执行结果如下:最多精确到us,并且大致精确(并不完全精确),需要多迭代几次减少误差。原创 2024-01-16 21:44:44 · 590 阅读 · 0 评论 -
操作系统导论-课后作业-ch5
从上图中可见,wait返回的是子进程的进程号,而子进程中使用wait并不会发生什么,它会等待子进程自己的子进程结束。子进程会保持和父进程一样的值100,当子进程和父进程都改变x的值时,变量会各自单独保持一份互不影响,相互隔离。同样是返回pid,但是waitpid传入的参数不同,需要传入子进程的id、状态参数以及额外的选项。1次并没有发现并发问题,试过1000次也没什么问题。原创 2024-01-11 12:30:45 · 556 阅读 · 0 评论 -
操作系统导论-课后作业-ch4
对应异步社区资源HW-CPU-Intro。原创 2024-01-05 23:22:34 · 429 阅读 · 0 评论