里面含有代码和课程设计报告!!!!本次课程设计是通过用python去模拟实现OPT、FIFO、LRU、LFU、简单和改进的CLOCK六种页面置换算法,程序能够动态的显示置换的过程,同时研究各算法缺页率与物理块数、随机性之间的关系,将其能够可视化呈现。所有代码都是我自己写的,同时还对六种算法实现了图像化对比,内容十分丰富。若有采纳,请在你的课设后面引用的参考文献中加入该条引用!!!望大家尊重版权!!!! 为了避免完全抄袭,里面的课设报告为PDF版,若需要word版,评价留言你的邮箱!!!!!!若觉得有用,记得好评!!绝对有用!!!
2019-12-21 21:51:43 768KB python 页面置换算法
1
用C或C++语言实现一个程序演示死锁避免算法(银行家算法)。要求该演示程序能显示各进程申请和释放资源以及系统动态分配资源的过程,便于用户观察和分析;允许进程动态地申请资源分配之前,应先计算此次资源分配的安全性。若此次分配不会导致系统进入不安全状态,则将资源分配给进程;否则,令进程等待。如果系统不能分配,也应给出“系统进入不安全状态”的提示。 里面含有代码和课程设计报告!!!!本次课程设计是通过用C模拟实现,内容十分丰富。若有采纳,请在你的课设后面引用的参考文献中加入该条引用!!!望大家尊重版权!!!! 为了避免完全抄袭,里面的课设报告为PDF版,若需要word版,评价留言你的邮箱!!!!!!若觉得有用,记得好评!!绝对有用!!!
2019-12-21 21:51:43 624KB 死锁的避免与检测 C语言
1
一、UNIX文件系统的基本原理        UNIX采用树型目录结构,每个目录表称为一个目录文件。一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。本次课程设计是要实现一个简单的模拟UNIX文件系统。我们在磁盘中申请一个二进制文件模拟UNIX内存,依次初始化建立位示图区,I节点区,数据块区。 二、基本要点思路         1、模拟磁盘块的实现:因为文件系统需要从磁盘中读取数据操作数据,在实现时是使用文件来模拟磁盘,一个文件是一块磁盘,在文件中以划分磁盘块那样划分不同的区域,主要有三个区域:位图区,inode索引节点区,磁盘块区。位图区我是使用一个512byte的数组存放,inode区和磁盘块区我采用一种自认为比较巧妙的方法,就是存放对象列表,之前说过,在本次实验的所有的结构都使用对象进行存储,而inode节点和磁盘块就是两个重要的数据结构,在初始化时我实例化32个inode对象和512个block对象(至于这些类的具体定义下面会提到),然后将这些对象加入各自对应的对象列表中,在存储时,使用java的对象序列化技术将这个对象数组存到磁盘中。当使用文件系统时,程序会先从磁盘文件中读取出位图数组,inode对象列表,block对象列表,之后的操作就是通过对这些列表进行修改来实现。使用这种方法可以减小存储的空间(对象序列话技术)而且不需要在使用时进行无用的查找,只要第一次初始化中将这些对象都读取出来。        2、界面的实现:在实现这个文件系统时使用了两种方案,一种是直接在java控制台来进行输入输出,因为原本想着UNIX文件系统原本也是使用的命令行语句,所以在控制台上实现也很接近。后来在老师的建议下又将整个程序重新修改,改成在UI界面上进行输入输出,这样确实界面美观舒服了不少,只不过两者用的技术很不一样,前者主要使用的是系统的输入输出流,后者使用java监听器。        3、权限的实现:在实现多用户的权限方面,我给文件和文件夹各定义了三级权限1、访问:在文件中是可以查看文件的内容,在文件夹中是可以进入该文件夹。2、修改:文件中是可以对文件进行编辑,文件夹中是可以在该文件夹中创建新的文件或目录。3、删除:顾名思义。文件或文件夹的创建者拥有最高级别的权限,只有拥有最高级权限的用户才可以给其他用户针对该文件或文件夹进行授权和授权操作。在每次对文件或文件夹进行访问修改删除操作时都会检查当前用户在该文件或文件夹所拥有的权限,只有拥有的权限大于想要实现的权限时才可以进行该操作。
2019-12-21 21:41:46 9KB java UNIX操作系统 课程设计
1
本次设计编写实现四种操作即:收容输入;提取输入;收容输出;提取输出的执行程序,动态显示三种队列的长度或保存的数据。例如:执行收容输入后则空队列长度减1,输入队列长度加1,并且输入队列的一个节点保存了收容输入操作的输入数据。
2019-12-21 21:17:53 157KB 缓冲池
1
模拟吃水果的同步模型:桌子上有一只盘子,最多可容纳两个水果,每次只能放入或者取出一个水果。爸爸专门向盘子中放苹果,妈妈专门向盘子中放橘子,两个儿子专门等待吃盘子中的橘子,两个女儿专门等吃盘子中的苹果。
2019-12-21 21:15:23 1.08MB 操作系统 课程设计 进程同步
1
广工操作系统课设:多道批处理系统两级调度的模拟,用c语言模拟多道批处理系统两级调度的模拟,有完整的代码及报告。
2019-12-21 21:14:01 156KB 操作系统
1
模拟实现采用二级目录结构的磁盘文件系统中的文件操作文件 在用户程序中可使用文件系统提供的一整套文件操作(文件类系统调用),这类操作一般包括“打开文件”、“关闭文件”、“读文件”、“写文件”和“撤消文件”等。本实习模拟文件操作的实现,通过实习了解各文件操作的作用。
1
操作系统,用java实现磁盘调度算法,有swing界面,包括算法fcfs, sstf, scan,cscan。
2019-12-21 21:07:05 32KB 操作系统 java 磁盘调度算法
1
多道程序缓冲区协调操作 如下图1所示,有多个PUT操作要不断循环地向Buffer1送字符数据,有Move1操作不断地将Buffer1的数据取到Buffer2,Move2操作不断地将Buffer1的数据取到Buffer3,有多个GET操作要不断地从Buffer2和Buffer3中取数据。PUT、 MOVE、 GET每次操作一个数据,为了在操作的过程中要保证数据不丢失, 每个Buffer每次只能接受一个PUT或一个Move或一个Get。运用进程同步和互斥机制设计一个多道程序完成上述操作
2019-12-21 20:53:44 72KB 燕山大学 操作系统 课设 代码
1
山东大学操作系统课设之nachos实验报告,所有实验都有,代码附在在实验报告中,步骤及实现原理很详细!(提示:要完善nachos,主要是读懂代码并与所学操作系统知识相结合,自己写的代码并不多)
2019-12-21 20:52:03 3.36MB 山东大学 操作系统 nachos C++
1