2.模拟linux内存管理中的Buddy(伙伴)算法,实现页面的回收。 1)假设内存中有16个页面,部分页面是正在使用的,部分页面是空闲的,页面号依次是0,1,。。。15; 2)算法根据buddy算法的原理管理着空闲页面;(注:buddy算法将所有空闲页面根据连续空闲页面的大小,形成多个队列,每个队列中的元素分别代表该空闲区拥有1、2、4、8个空闲页面) 3)在某一时刻,用户的输入页面号请求模拟该页面的释放请求; 4)接收到页面释放的请求后,算法根据空闲页面所在的区域,将其插入或合并后再插入到相应的队列中; 5)输入:16个页面的空闲状态,在程序开始运行时,用户通过输入指定空闲的页面号;用户待回收的页面号 6)输出:提供两个供用户选择的命令,一为指定空闲页面,二为回收页面;每次用户有输入后,立即显示当前内存中各队列的空闲页面号 编程环境:linux c
2022-04-16 11:57:53 4KB 内存管理 伙伴算法 linux
1
objective-c 高级编程:ios与os x多线程和内存管理》 第1章 自动引用计数  1 1.1  什么是自动引用计数  2 1.2  内存管理/引用计数  2 1.2.1  概要  2 1.2.2  内存管理的思考方式  5 1.2.3  alloc/retain/release/dealloc实现  13 1.2.4  苹果的实现  17 1.2.5  autorelease  20 1.2.6  autorelease实现  24 1.2.7  苹果的实现  26 1.3  arc规则  29 1.3.1  概要  29 1.3.2  内存管理的思考方式  30 1.3.3  所有权修饰符  30 1.3.4  规则  50 1.3.5  属性  62 1.3.6  数组  63 1.4  arc的实现  65 1.4.1  __strong修饰符  65 .1.4.2  __weak修饰符  67 1.4.3  __autoreleasing修饰符  75 1.4.4  引用计数  76 第2章 blocks  79 2.1  blocks概要  80 2.1.1  什么是blocks  80 2.2  blocks模式  83 2.2.1  block语法  83 2.2.2  block类型变量  85 2.2.3  截获自动变量值  88 2.2.4  __block说明符  88 2.2.5  截获的自动变量  89 2.3  blocks的实现  91 2.3.1  block的实质  91 2.3.2  截获自动变量值  99 2.3.3  __block说明符  102 2.3.4  block存储域  108 2.3.5  __block变量存储域  117 2.3.6  截获对象  121 2.3.7  __block变量和对象  126 2.3.8  block循环引用  128 2.3.9  copy/release  134 第3章 grand central dispatch  137 3.1  grand central dispatch(gcd)概要  138 3.1.1  什么是gcd  138 3.1.2  多线程编程  140 3.2  gcd的api  144 3.2.1  dispatch queue  144 3.2.2  dispatch_queue_create  147 3.2.3  main dispatch queue/global dispatch queue  150 3.2.4  dispatch_set_target_queue  153 3.2.5  dispatch_after  154 3.2.6  dispatch group  155 3.2.7  dispatch_barrier_async  157 3.2.8  dispatch_sync  160 3.2.9  dispatch_apply  161 3.2.10  dispatch_suspend / dispatch_resume  163 3.2.11  dispatch semaphore  164 3.2.12  dispatch_once  166 3.2.13  dispatch i/o  167 3.3  gcd实现  169 3.3.1  dispatch queue  169 3.3.2  dispatch source  171 附录a  arc、blocks、gcd使用范例  176 附录b  参考资料  182
2022-04-12 09:41:19 5.63MB objective-c 高级编程 多线程 内存管理
1
一款比较简单好用的内存整理工具。它可以显示当前磁盘的总空间、占用空间和未占用空间的大小,让用户能够很方便地处理系统内不需要的垃圾文件,及时优化内存,提高电脑使用效率,帮你翻放电脑上的RAM内存,让它速度更快。通过该软件释放它与这个轻量级的应用程序,不需要其他配置和不包用户界面优化内存使用 如果您正在使用大量的程序在您的计算机上,你可能会注意到在您的 PC 性能的显著下降,只要你安装了更多的应用程序或更新。虽说电脑自带磁盘清理,但是这款软件相比电脑自带清理程序来说更加的方便快捷。
2022-04-10 13:00:45 873KB 内存管理 内存整理
如果没有会员可以私信我通过百度网盘分享!!!一款非常好用的数据结构演示工具,可以像观看动画一样学习数据结构与算法,支持自动播放和手动单步播放,可以一步步观察算法的执行原理和程序每一步的行为。对于理解数据结构和算法的原理有很大帮助。
2022-04-08 14:07:41 2.61MB 数据结构 算法 内存管理 堆栈
1
Spark内存管理和分配
2022-04-06 02:48:26 213KB spark 大数据 big data
1
大学操作系统课程设计2021版,附带文档,适用于3或4星题,其中注释详尽,代码格式规范,可对题目要求进行修改。没写死锁和设备管理。编程使用java开发,内容中硬件系统抽象出来了对应的 Memory、Disk、CPU、Clock 、MMU、AddressLine、DataLine 共 7 个类。内核层次实现了作业管理、进程管理和存储管理3个模块。共使用7个线程。 不过听说下次是用python开发,也可以当个参考。
代码导读6- ARM64内存管理
2022-04-06 00:35:43 1.45MB 内存
1
概念 局部性原理 时间局部性 程序中的某条指令一旦执行,不久后该指令可能再次执行; 某数据被访问过,不久后该数据可能再次被访问。 产生时间局部性的典型原因是程序中存在大量循环操作 空间局部性 一旦程序访问了某个存储单元,在不久后,其附近的存储单元也将被访问。 即程序在一段时间内访问的地址,可能集中在一定的范围之内,因为指令通常是顺序存放、顺序执行的,数据也一般是以向量、数组、表等形式簇聚存储的。 传统存储管理方式的特征 一次性 驻留性 虚拟存储器的特征 多次性 对换性 虚拟性 虚拟存储器的容量取决于地址空间的大小,而不是由实际的内存容量决定 虚拟内存技术的实现 需要的支持 一定容量的的内存和外存 页表机制(或段表机制),作为主要的数据结构。 中断机构,当用户程序要访问的部门尚未调入内存时,产生中断 地址变换机构,逻辑地址到物理地址的变换
2022-04-06 00:34:21 1.27MB 思维导图
1
包括实验题目,代码及运行结果 实验3作业调度(2学时) 一、实验目的 对作业调度的相关内容作进一步的理解,明白作业调度的主要任务。通过编程掌握作业调度的主要算法。 二、实验内容 编写程序实现作业调度算法,并验证程序的正确性。 三、实验要求 1、对于给定的一组作业, 给出其到达时间和运行时间,例如下表所示: 作业名 A B C D E F 到达时间 0 2 5 5 12 15 服务时间 6 50 20 10 40 8 2、分别用先来先服务算法、短作业优先和响应比高者优先三种算法给出作业的调度顺序。 3、计算每一种算法的平均周转时间及平均带权周转时间并比较不同算法的优劣。
2022-04-04 21:17:42 58KB code
1
适用于人类的Python作业调度。 使用友好的语法定期运行Python函数(或任何其他可调用的函数)。 一个简单易用的API,可用于调度人的作业。 定期作业的进程内调度程序。 无需额外的流程! 非常轻巧,没有外部依赖性。 出色的测试覆盖率。 在Python和3.6、3.7、3.8、3.9上测试 用法 $ pip install schedule import schedule import time def job (): print ( "I'm working..." ) schedule . every ( 10 ). seconds . do ( job ) schedule . every ( 10 ). minutes . do ( job ) schedule . every (). hour . do ( job ) schedule . every (
2022-03-30 11:44:11 36KB Python
1