操作系统习题5—存储管理

操作系统习题5—存储管理

1、采用可变分区管理存储空间时,若主存中按地址顺序依次有五个空闲区,大小分别为 15K、28K、10K、226K、110K。现有五个作业 J1 到 J5,它们所需的主存空间依次是 10K、15K、102K、26K、180K。问分别用 first-fit, best-fit 和 worst-fit 算法将它们装入到内存的哪个分区?能否把这五个作业按 J1 到 J5 的次序全部装入内存?使用哪种分配算法可使内存的利用率最高?

① First-fit 算法:每次为作业分配第一个不小于其所需空间的空闲区。

作业编号作业装入详情
J1装入第一空闲区,第一空闲区剩余大小为 5K
J2装入第二空闲区,第二空闲区剩余大小为 13K
J3装入第四空闲区,第四空闲区剩余大小为 124K
J4装入第四空闲区,第四空闲区剩余大小为 98K
J5找不到内存空间足够的空闲区

结果:使用 First-fit 算法不能将这五个作业全部装入内存

② Best-fit 算法:每次为作业分配第一个最接近的且不小于其所需空间的空闲区。

作业编号作业装入详情
J1装入第三空闲区,第三空闲区剩余大小为 0K
J2装入第一空闲区,第一空闲区剩余大小为 0K
J3装入第五空闲区,第五空闲区剩余大小为 8K
J4装入第二空闲区,第二空闲区剩余大小为 2K
J5装入第四空闲区,第四空闲区剩余大小为 46K

结果:使用 Best-fit 算法可以将这五个作业全部装入内存

③ Worst-fit 算法:每次为作业分配最大的空闲区。

作业编号作业装入详情
J1装入第四空闲区,第四空闲区剩余大小为 216K
J2装入第四空闲区,第四空闲区剩余大小为 201K
J3装入第四空闲区,第四空闲区剩余大小为 99K
J4装入第五空闲区,第五空闲区剩余大小为 84K
J5找不到内存空间足够的空闲区

结果:使用 Worst-fit 算法不能将这五个作业全部装入内存

综上所述,使用 Best-fit 分配算法能使内存的利用率最高。

2、若在一分页存储管理系统中,某作业的页表如下所示。已知页面大小为 1024 字节,试将逻辑地址 1011,2148,4000,5012 转化为相应的物理地址。

表1
设页面为 P,页面位移为 W,逻辑地址为 A,内存地址为 M,页面大小为 L。P=int(A/L),W=A mod L

① 逻辑地址 1011
P = int(1011/1024) = 0
W= 1011 mod 1024 = 1011
A = 1011 = (0,1011)
查阅页表可知,第 0 页在第 2 物理块,物理地址 M = 1024*2+1011 = 3059

② 逻辑地址 2148
P = int(2148/1024) = 2
W = 2148 mod 1024 =100
A = 2148 = (2,100)
查阅页表可知,第 2 页在第 1 物理块,物理地址 M = 1024*1+100 = 1124

③ 逻辑地址 4000
P = int(4000/1024) = 3
W = 4000 mod 1024 = 928
A = 4000 = (3,928)
查阅页表可知,第 3 页在第 6 物理块,物理地址 M = 1024*6+928 = 7072

④ 逻辑地址 5012
P = int(5012/1024) = 4
W = 5012 mod 1024 = 916
页号超过页表长度,该逻辑地址非法

3、某虚拟存储器的用户编程空间共 32 个页面,每页为 1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下,请计算逻辑地址 0A5C(H)所对应的绝对地址。
表2
逻辑地址 0A5C(H)转换成十进制为 2652(D)
页面 P = (2652/1024) = 2
页面位移 W = 2652 mod 1024 = 604
逻辑地址 A = 2652 = (2, 604)
查阅页表可知,第 2 页在第 4 物理块,物理地址 M = 1024*4+604 = 4700
物理地址 4700(D)转换成 16 进制为 125C(H)
所以,绝对地址为 125C(H)

4、某采用页式虚拟存储管理的系统,接收了一个共 7 页的作业,作业执行时依次访问的页为:1、2、3、4、2、1、5、6、2、1、2、3、7。当内存块数量为 4 时,请分别用先进先出(FIFO)调度算法和最近最少使用(LRU)调度算法,计算作业执行过程中会产生多少次缺页中断?写出依次产生缺页中断后应淘汰的页(要求写出计算过程)。

① FIFO 算法

访问页面1234215621237
物理块11111115555533
物理块2222222666667
物理块333333322222
物理块44444441111
是否缺页
淘汰页123456

采用 FIFO 算法,发生 10 次缺页中断,淘汰页依次为:1、2、3、4、5、6。

② LRU 算法

访问页面1234215621237
物理块11111111111111
物理块2222222222222
物理块333335555533
物理块44444666667
是否缺页
淘汰页3456

采用 LRU 算法,发生 8 次缺页中断,淘汰页依次为:3、4、5、6。

5、某采用页式虚拟存储管理的系统,进程访问地址序列为:10, 11, 104, 170, 73, 305, 180, 240, 244, 445, 467, 366。试问如果页面大小为 100,请给出页面访问序列;进程若分得 3 个页帧,采用 CLOCK 替换算法,求缺页中断率?写出依次产生缺页中断后应淘汰的页(要求写出计算过程)。

页面访问序号依次为:0、0、1、1、0、3、1、2、2、4、4、3。

CLOCK 算法

访问页面001103122443
物理块1000000022222
物理块21111111444
物理块33333333
是否缺页
淘汰页01

采用 CLOCK 算法,发生 5 次缺页中断,淘汰页依次为 0、1。

缺页中断率 =(5/12)*100% = 41.7%。

  • 16
    点赞
  • 100
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是习题管理系统面向对象数据管理设计的基本内容: 1. 数据库设计 在习题管理系统中,我们可以设计以下表: - 用户(User):用户ID、用户名、密码、角色 - 学生(Student):学生ID、姓名、年级、班级、联系方式等。 - 教师(Teacher):教师ID、姓名、所属学院、联系方式等。 - 科目(Subject):科目ID、科目名称、科目简介等。 - 题目(Question):题目ID、题目内容、答案、难度等级、所属科目、类型等。 - 作业(Assignment):作业ID、作业名称、发布时间、截止时间、所属科目等。 - 作业题目关系(AssignmentQuestion):作业ID、题目ID等。 - 练习记录(ExerciseRecord):记录ID、学生ID、练习时间、所属科目、题目ID、答案、得分等。 2. 类的设计 在习题管理系统中,我们可以定义以下类,用于与数据库进行交互: - 数据库管理器(DatabaseManager):封装数据库的连接、操作和关闭等方法。 - 用户管理器(UserManager):封装用户的添加、删除、修改和查询等方法。 - 学生管理器(StudentManager):封装学生的添加、删除、修改和查询等方法。 - 教师管理器(TeacherManager):封装教师的添加、删除、修改和查询等方法。 - 科目管理器(SubjectManager):封装科目的添加、删除、修改和查询等方法。 - 题目管理器(QuestionManager):封装题目的添加、删除、修改和查询等方法。 - 作业管理器(AssignmentManager):封装作业的添加、删除、修改和查询等方法。 - 练习记录管理器(ExerciseRecordManager):封装练习记录的添加、删除、修改和查询等方法。 3. 功能设计 在习题管理系统中,我们可以实现以下功能: - 用户登录:用户可以通过输入用户名和密码来登录系统。 - 学生练习习题:学生可以选择不同的科目、难度等级和题型,进行练习并查看答案和解析。 - 学生查看习题记录:学生可以查看自己的习题记录,包括练习时间、所属科目、题目列表、答案、得分等。 - 教师创建作业:教师可以选择科目、题目和截止时间,创建作业并发布给学生。 - 教师查看学生作业情况:教师可以查看学生提交的作业情况,包括作业完成情况、得分情况等。 - 教师批改作业:教师可以对学生提交的作业进行批改并给出评分和反馈。 4. 数据库交互设计 在习题管理系统中,我们应该遵循以下原则进行数据库交互设计: - 安全性:系统应该对用户的隐私和数据进行保护,如密码应该进行加密存储。 - 一致性:系统应该保持数据库与对象之间的一致性,避免数据冗余和错误。 - 可扩展性:系统应该支持数据的扩展和修改,如增加新的科目、题目类型等。 - 性能优化:系统应该优化数据库操作的性能,如使用索引、批量操作等。 以上就是习题管理系统面向对象数据管理设计的基本内容,包括数据库设计、类的设计、功能设计和数据库交互设计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值