假设每个页面中可存放10条指令,分配给作业的内存块数为4。
用C语言语言模仿一个作业的执行过程,该作业共有320条指令,即它的地址空间为32页,目前它的所有页都还未调入内存。
在模仿过程中,如果所访问的指令已在内存,则显示其物理地址,并转下一条指令。
如果所访问的指令还未装入内存,则发生缺页,此时需要记录缺页的次数,并将相应页调入内存。
如果4个内存块均已装入该作业,则需要进行页面置换,最后显示其物理地址,并转向下一条指令。
在所有320条指令执行完毕后,请计算并显示作业运行过程中发生的缺页率。
置换算法:请分别考虑最佳置换算法(OPT)、先进先出(FIFO)算法和最近最久未使用算法(LRU)。
作业中指令的访问次序按下述原则生成:50%的指令是顺序执行的;
25%的指令是均匀分布在前地址部分;
25%的指令是均匀分布在后地址部分;
具体的实施方法是:   在[0,319]的指令地址之间随机选取一起点m;
   顺序执行下一条指令,即执行地址序号为m+1的指令;
   通过随机数,跳转到前地址部分[0,m+1]中的某条指令处,其序号为m1;
   顺序执行下一条指令,其地址序号为m1+1的指令;
   通过随机数,跳转到后地址部分[m1+2,319]中的某条指令处,其序号为m2;
   顺序执行下一条指令,其地址序号为m2+1的指令;
重复跳转到前地址部分,顺序执行,跳转到后地址部分,顺序执行的过程直至执行320条指令。
2023/1/18 0:15:31 8KB 请求调页
1
创建请求页表,通过编程模仿缺页中断和地址变换,实现请求调页功能和页面置换功能。
2018/9/9 7:48:58 6KB java 请求分页系统
1
这本书很好,适合于初学者。
里面精讲了很多的案例,非常的有用。
目录雷蒙序简介Linux文档工程小组“公告”译者序第一部分Linux内核前言第1章硬件基础与软件基础61.1硬件基础61.1.1CPU71.1.2存储器81.1.3总线81.1.4控制器和外设81.1.5地址空间91.1.6时钟91.2软件基础91.2.1计算机语言91.2.2什么是操作系统111.2.3内核数据结构13第2章内存管理152.1虚拟内存抽象模型152.1.1请求调页172.1.2交换172.1.3共享虚拟内存182.1.4物理寻址模式和虚拟寻址模式182.1.5访问控制182.2高速缓存192.3Linux页表202.4页分配和回收212.4.1页分配222.4.2页回收222.5内存映射222.6请求调页232.7Linux页缓存242.8页换出和淘汰252.8.1减少缓冲区和页缓存大小252.8.2换出SystemV共享内存页262.8.3换出和淘汰页272.9交换缓存272.10页换入28第3章进程293.1Linux进程293.2标识符313.3调度323.4文件343.5虚拟内存353.6创建进程363.7时间和定时器373.8执行程序383.8.1ELF393.8.2脚本文件40第4章进程间通信机制414.1信号机制414.2管道424.3套接字444.3.1SystemV的进程间通信机制444.3.2消息队列444.3.3信号量454.3.4共享存储区47第5章PCI495.1PCI的地址空间495.2PCI配置头505.3PCI的I/O和存储地址空间515.4PCI-ISA桥515.5PCI-PCI桥515.5.1PCI-PCI桥:PCII/O和存储地址空间的窗口515.5.2PCI-PCI桥:PCI配置周期和PCI总线编号525.6LinuxPCI初始化535.6.1Linux内核PCI数据结构535.6.2PCI设备驱动程序535.6.3PCI的BIOS函数565.6.4PCI修正过程57第6章中断处理与设备驱动程序606.1中断与中断处理606.1.1可编程中断控制器616.1.2初始化中断处理数据结构616.1.3中断处理626.2设备驱动程序636.2.1测试与中断646.2.2直接存储器访问(DMA)656.2.3存储器666.2.4设备驱动程序与内核的接口666.2.5硬盘696.2.6网络设备74第7章文件系统777.1第二个扩展文件系统EXT2787.1.1EXT2系统的inode节点797.1.2EXT2系统的超级块807.1.3EXT2系统的组描述符807.1.4EXT2系统的目录817.1.5在EXT2文件系统中查找文件817.1.6在EXT2文件系统中改变文件的大小827.2虚拟文件系统837.2.1VFS文件系统的超级块847.2.2VFS文件系统的inode节点847.2.3注册文件系统857.2.4装配文件系统857.2.5在虚拟文件系统中查找文件877.2.6卸载文件系统877.2.7VFS文件系统的inode缓存877.2.8目录缓存887.3缓冲区缓存887.3.1bdflush内核守护进程907.3.2update进程907.4/proc文件系统917.5特殊设备文件91第8章网络928.1TCP/IP网络概述928.2Linux中的TCP/IP网络层次结构958.3BSD套
2018/9/3 9:31:32 18.23MB 书籍
1
计算机操作零碎原理课程设计计算机科学与技术专业课程设计任务书
2015/8/4 11:57:28 415KB 计算机操作系统原理
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡