!!! 有需要的小伙伴可以通过文章末尾名片咨询我哦!!!
💕💕作者:小马
💕💕个人简介:混迹在java圈十年有余,擅长Java、微信小程序、Python、Android等,大家有这一块的问题可以一起交流!
💕💕各类成品java系统 。javaweb,ssh,ssm,springboot等等项目框架,源码丰富,欢迎咨询交流。学习资料、程序开发、技术解答、代码讲解、源码部署,需要请看文末联系方式。
目录
摘要:以计算机操作系统原理为指导,利用面向对象程序设计技术仿真 OS 内核的作业管理、 连续内存管理、页式虚存管理、进程同步与互斥、缓冲技术、磁盘管理和文件管理的 API 功 能,可视化显示操作系统工作过程,完成操作系统课程设计的程序设计、开发、测试,答辩 以及撰写实践报告。本时间选择了难度3,基础实现了基础设计硬件部分的仿真、作业管理、并发请求文件设计、用户程序段指令文件的设计、作业运行及操作系统运行详细记录的文件的保存、进程控制块PCB设计。实现了作业并发环境下,MMU 地址变换、作业调度算法、进程原语、优先级+时间片轮转进程调度算法,位示图法实现连续空间动态分配管理。并把连续空间分配过程可视化实现。我定义的PCB和JCB和其他在定义的时候并没有很多变量,这都是因为我考虑不周,发现在实现函数的时候才需要更多的变量来存储一些值。比如这次实验需要实现指令运行自定义时间,就需要定义一个变量,存储进程每条指令的已运行时间,然后再把这个运行时间与既定的运行时间相比较,如果满足条件才能指向下一条指令。而对于内存地址来说,一个进程在创建后才有内存空间,但是内存地址由于内存申请在前不好传递给进程,则需要在进程中重新定义一个内存起地址变量。
虽然在实验前已经了解过了Java的基本原理,但只是一个初步的、基本的印象,很多实验和概念都只是依靠记忆力来执行,对于类与类之间的调用,对于public、private、protected的了解也很薄弱。但是在对于该实验的类的构建,方法的构建过程中,通过Eclipse的自动矫正和网络上的使用教程,很大程度上完善了我对于Java的理解。这个实验的起步是非常抽象的,如果没有对于操作系统并发进程低级调度的一定理解,很难从抽象的理念中具体出一个函数。而且该实验的实验指导也只是起到了参考作用,大部分的发挥空间都留给了自己,这也使难度愈加增高。该实验的初步创建和调试都是极其痛苦的过程,尤其是存在很多Eclipse检测不出来的逻辑上的代码错误,这些代码不影响程序的执行,但会导致程序执行的不正确、不完整。而这些错误的代码都是源于在创建时的不仔细,对概念的不理解。通过该实验,我很大程度上加强了对于代码的调适能力,了解到代码的调试不在于一行行检视代码,更在于增加输出状态的检测代码,或者使用异常处理代码,或者使用单步执行观察内存的状态。代码在情绪上也是一个几乎瞬间从无到有的过程,在写完一段代码后,只有执行调试过才能了解到是否正确,一段错误的代码,在经过多次修改后,成功运行的瞬间是电光一闪之间的。
对于实验本身来说,虽然操作系统的课程已经成功过关,但是对于许多操作系统运行过程中的细节还没有很好的掌握所以本次实验也是对于自己操作系统知识的一次补缺升级。
更多项目:
另有1000+份项目源码,项目有java(包含springboot,ssm,jsp等),小程序,python,php,net等语言项目。项目均包含完整前后端源码,可正常运行!
!!! 有需要的小伙伴可以点击下方链接咨询我哦!!!