Skip to content

广东工业大学 gdut 操作系统 OS 课设,用Android设备模拟请求调页存储管理方式

License

Notifications You must be signed in to change notification settings

dyjcow/RequestPagingScheduleEmulator

Repository files navigation

Request_Paging_Schedule_Emulator

author: DYJ (shields.io) downloads: 7.8M (shields.io) gdut: OS-Course-design (shields.io)

背景

该项目是广东工业大学的操作系统课设,用Android设备模拟请求调页存储管理方式的APP

操作系统 课程设计任务书

学生姓名 DYJ
请求调页存储管理方式的模拟-2
指导教师 李敏
主要内容 通过对页面、页表、地址转换和页面置换过程的模拟,加深对请求调页系统的原理和实现过程的理解。
基本任务要求 1)假设每个页面中可存放10条指令,分配给作业的内存块数为4。
2)用c语言模拟一个作业的执行过程,该作业共有320条指令,即它的地址空间为32页,目前它的所有页都还未调入内存。在模拟过程中,如果所访问的指令已在内存,则显示其物理地址,并转下一条指令。如果所访问的指令还未装入内存,则发生缺页,此时需记录缺页的次数,并将相应页调入内存。如果4个内存块均已装入该作业,则需进行页面置换,最后显示其物理地址,并转下一条指令。
3)在所有320指令执行完毕后,请计算并显示作业运行过程中发生的缺页率。
4)置换算法:采用先进先出(FIFO)置换算法和最佳置换(OPT)算法。
参考文献 [1] 计算机操作系统, 汤小丹等 ,西安电子科技大学出版社 [2] 操作系统实验指导书,傅秀芬,广东工业大学(自编) [3] 计算机操作系统教程 ( 第二版 ), 张尧学、 史美林,清华大学出版社 [4] 现代操作系统,A.S.Tanenbaum 著,陈向群等译机械工业出版社
审查意见 指导教师签字: 系主任签字:

架构

项目采用简单的MVP架构,有助于新手学习

下面附项目的uml图(图片不清楚可以复制链接到浏览器查看)

页面展示

https://pic.lxtlovely.top/blog/Screenshot_20220706_101412_com.dyj.requestpagingscheduleemulator.jpg

https://pic.lxtlovely.top/blog/Screenshot_20220706_101419_com.dyj.requestpagingscheduleemulator.jpg

下载体验

点击下载

软件可以模拟演示 LRUOPTFIFO三种调度算法。使用步骤如下

  1. 点击主页不同的算法按钮
  2. 进入结果页后,点击 CREATE DATA ,会在左侧生成范围是 1~32 的随机数据,共 320 位,用以模拟作业命令的请求的页号
  3. 点击 TO DO 会根据生成的随机数据按照对应的算法执行对应的缺页替换策略,同时右下角会显示缺页率
  4. 下拉刷新可以刷新随机数据和执行算法

使用的开源库💖

CymChad/BaseRecyclerViewAdapterHelper: BRVAH:Powerful and flexible RecyclerAdapter (github.com)

scwang90/SmartRefreshLayout: 🔥下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回弹、越界拖动,具有极强的扩展性,集成了几十种炫酷的Header和 Footer。 (github.com)

Tamsiree/RxTool: Android开发人员不得不收集的工具类集合 | 支付宝支付 | 微信支付(统一下单) | 微信分享 | Zip4j压缩(支持分卷压缩与加密) | 一键集成UCrop选择圆形头像 | 一键集成二维码和条形码的扫描与生成 | 常用Dialog | WebView的封装可播放视频 | 仿斗鱼滑动验证码 | Toast封装 | 震动 | GPS | Location定位 | 图片缩放 | Exif 图片添加地理位置信息(经纬度) | 蛛网等级 | 颜色选择器 | ArcGis | VTPK | 编译运行一下说不定会找到惊喜 (github.com)

DylanCaiCoding/ViewBindingKTX: The most comprehensive utils of ViewBinding. (最全面的 ViewBinding 工具,支持 Kotlin 和 Java 用法,支持 BRVAH,支持封装到基类,支持 DataBinding,支持选择是否使用反射) (github.com)

bumptech/glide: An image loading and caching library for Android focused on smooth scrolling (github.com)

Zackratos/UltimateBarX: Make Android transparent statusbar and navigationbar easy. (github.com)

About

广东工业大学 gdut 操作系统 OS 课设,用Android设备模拟请求调页存储管理方式

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages