首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ucoreOS_lab8 实验报告

/docs/lab_report/ 练习0:填写已有实验 lab8 会依赖 lab1~lab7 ,我们需要把做的 lab1~lab7 的代码填到 lab8 中缺失的位置上面。...和 lab6 操作流程一样,我们只需要将已经完成的 lab1~lab7 与待完成的 lab7 (由于 lab8 是基于 lab1~lab7 基础上完成的,所以这里只需要导入 lab7 )分别导入进来,然后点击...可以在 Lab 7 的基础上进行修改,读 elf 文件变成从磁盘上读,而不是直接在内存中读。...增加一行,kern/process/proc.c,136行) proc->filesp = NULL; //初始化fs中的进程控制结构 所以完整的 alloc_proc 函数的实现如下: //LAB8...[chS]" >cscope.files $(V)cscope -bq $(V)ctags -L cscope.files 或者将 lab8 中的 Makefile,复制到 lab8_result 中(

89550
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    笔记 Lab10: Mmap | 文件内存映射

    这是我自学 MIT6.S081 操作系统课程的 lab 代码笔记第十篇:Mmap。此 lab 大致耗时:6小时。...Lab 10: mmap (hard) 实现 *nix 系统调用 mmap 的简单版:支持将文件映射到一片用户虚拟内存区域内,并且支持将对其的修改写回磁盘。...这里涉及的操作系统基本概念是「虚存」,mmap 指令除了可以用来将文件映射到内存上,还可以用来将创建的进程间共享内存映射到当前进程的地址空间内。本 lab 只需实现前一功能即可。...由于需要对映射的页实行懒加载,仅在访问到的时候才从磁盘中加载出来,这里采用和 lab5: Lazy Page Allocation 类似的方式实现。具体请参考 lab5 笔记。...计算出来释放内存页的开始地址以及释放的个数后,调用自定义的 vmaunmap 方法(vm.c)对物理内存页进行释放,并在需要的时候将数据写回磁盘。

    1.5K20

    CS 144 Lab Zero -- 可靠的内存字节流

    CS 144 Lab Zero -- 可靠的内存字节流 对应课程视频: 【计算机网络】 斯坦福大学CS144课程 Lab 0 对应的PDF: Lab Checkpoint 0: networking warmup...Lab 0 会省去Telnet部分内容。...需要注意的是 HTTP 头部的每一行末尾都是以\r\n结尾,而不是\n 需要包含Connection: close 的HTTP头部,以指示远程服务器在处理完当前请求后直接关闭。...除非获取到EOF,否则必须循环从远程服务器读取信息。 因为网络数据的传输可能断断续续,需要多次 read。...所实现的字节流必须支持流量控制,以控制内存的使用。当所使用的缓冲区爆满时,将禁止写入操作。直到读者读取了一部分数据后,空出了一部分缓冲区内存,才让写者写入。

    27720

    服务器内存监测

    而对于程序员而言,如何避免内存泄漏也是一门学问,倘若不加以控制,那么无论多大的内存都会有消耗殆尽的那天。...本文当然不是研究如何分析内存泄漏的产生原因与解决方案,而是在此之前的一步,通过简单的内存监测方式来预测内存泄漏的 潜在可能性 或者 偶发性 等。...我这边需要监测 系统内存 与 jvm堆内存 ,最终的结果会展示各个时间点的内存情况,所以需要一个时间类,表示每个切片的时间点。...timeMarkInterval是存储定时器id的,在销毁之前释放定时器;physicMemory和heapMemory获取图表div节点,用于echarts节点获取;systemInfo则会存储定时从服务器拉取到的数据...由图可见我这个系统堆内存通常消耗不到一百兆,后续可以将堆内存设定的再小一些,以提供给其它服务使用。总体内存是稳定状态,达到一定值会自动回收垃圾,占用率不会逐步提高,是个可控的系统。

    14220

    服务器内存监测

    而对于程序员而言,如何避免内存泄漏也是一门学问,倘若不加以控制,那么无论多大的内存都会有消耗殆尽的那天。...本文当然不是研究如何分析内存泄漏的产生原因与解决方案,而是在此之前的一步,通过简单的内存监测方式来预测内存泄漏的 潜在可能性 或者 偶发性 等。...我这边需要监测 系统内存 与 jvm堆内存 ,最终的结果会展示各个时间点的内存情况,所以需要一个时间类,表示每个切片的时间点。...timeMarkInterval是存储定时器id的,在销毁之前释放定时器;physicMemory和heapMemory获取图表div节点,用于echarts节点获取;systemInfo则会存储定时从服务器拉取到的数据...由图可见我这个系统堆内存通常消耗不到一百兆,后续可以将堆内存设定的再小一些,以提供给其它服务使用。总体内存是稳定状态,达到一定值会自动回收垃圾,占用率不会逐步提高,是个可控的系统。

    17040

    linux服务器内存

    早上到单位 发现服务器 mysql 服务器停了 然后起来了 查询日志 显示 内存满了 把mysql服务给杀了 linux 服务器如果 内存满了 会自动清理进程 防止服务器挂掉 选择的话 谁占的的内存大...就先杀谁 我的服务器里面 mysql服务占的内存是最大的 所以就把mysql就给杀了 image.png 然后 重启mysql 查询内存 image.png 在这说一下 怎么看linux的内存 举个例子...空闲的内存数: 232M shared 当前已经废弃不用,总是0 buffers Buffer 缓存内存数: 62M cached Page 缓存内存数:421M 关系:total(1002M) = used...记住内存是拿来用的,不是拿来看的.不象windows, 无论你的真实物理内存有多少,他都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分的时候...,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常 swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦

    31.9K10

    MIT_6.s081_Lab8:Xv6 and Lock

    MIT_6.s081_Lab8:Xv6 and Lock 于2022年3月7日2022年3月7日由Sukuna发布 Lab8_1 Memory Access....要消除锁争用,您必须重新设计内存分配器以不使用一个锁和列表。基本思想是为每个 CPU 维护一个空闲列表,每个列表都有自己的锁。...主要挑战将是处理一个 CPU 的空闲列表为空,但另一个 CPU 的列表有空闲内存的情况;在这种情况下,一个 CPU 必须“窃取”另一个 CPU 的空闲列表的一部分。...要检查它是否仍然可以分配所有内存,请运行 usertests sbrkmuch。 您的输出将类似于下图所示,kmem 锁的争用总量大大减少,尽管具体数字会有所不同。...1) 按照提示,更改内存块的结构.不是所有内存块都共享一个锁,是每个CPU都有一个独立的锁. struct { struct spinlock lock; struct run *freelist

    31610

    3-8 读写内存

    3-5 读写内存流 u本节学习目标: n了解读写内存流MemoryStream的特点 n学习如何建立内存流MemoryStream n了解读写缓存流BufferedStream n学习如何建立缓存流BufferedStream...3-5-1 读写内存流 ——MemoryStream类 类MemoryStream创建这样的流,该流以内存而不是磁盘或网络连接作为支持存储区。...可在内存中直接访问这些封装的数据。内存流可降低应用程序中对临时缓冲区和临时文件的需要。...内存流对象还有一些重要的属性。其中Length属性代表了内存流对象存放的数据的真实长度,而Capacity属性则代表了分配给内存流的内存空间大小。...案例学习:MemoryStream类案例 本案例您将学习到:如何通过使用内存流的属性、方法来获取内存流的占用空间信息及改变内存流空间大小。

    92220

    AI 影响因子 8 月份回顾:腾讯 AI Lab 再占榜首

    腾讯 AI Lab 凭借多篇论文继续霸占八月活跃榜榜首,阿里巴巴、京东、滴滴也凭借多篇论文获得关注。...在八月召开的 KDD 上,腾讯 AI Lab、京东 AI 研究院、阿里巴巴达摩院机器智能技术实验室、京东金融 AI 实验室、腾讯觅影均有相应得分。...KDD 2018:滴滴提出WDR模型显著提升ETA预测精度 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型 Part.2 比赛 全国知识图谱与语义计算大会(CCKS 2018)于 8...网易有道斩获首届 NLPCC 中文语法错误修正比赛冠军 在于荷兰举办的 IEEE CIG 计算智能与游戏大会上,清华大学张钹院士领导的人工智能创新团队 TSAIL 联合腾讯 AI Lab在第一人称射击类游戏...滴滴科技开放日:如何利用出行交易中的大数据优化乘客体验 以上便是 AI 影响因子 8 月活跃企业的主要信息。

    1.1K20

    linux服务器内存——分析篇

    早上到单位 发现服务器 mysql 服务器停了 然后起来了 查询日志 显示 内存满了 把mysql服务给杀了 linux 服务器如果 内存满了 会自动清理进程 防止服务器挂掉 选择的话 谁占的的内存大...就先杀谁 我的服务器里面 mysql服务占的内存是最大的 所以就把mysql就给杀了 image.png 然后 重启mysql 查询内存 image.png 在这说一下 怎么看linux的内存 举个例子...空闲的内存数: 232M shared 当前已经废弃不用,总是0 buffers Buffer 缓存内存数: 62M cached Page 缓存内存数:421M 关系:total(1002M) = used...记住内存是拿来用的,不是拿来看的.不象windows, 无论你的真实物理内存有多少,他都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分的时候...,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常 swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦

    23.9K10

    Java8内存结构的改变~

    一、JVM 内存分布 根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 ? 1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。...关于方法区内存溢出的问题会在下文中详细探讨。...我们现在通过动态生成类来模拟 “PermGen space”的内存溢出: ? ? 运行结果如下: ? 本例中使用的 JDK 版本是 1.7,指定的 PermGen 区的大小为 8M。...剩余空间容量的百分比,减少为分配空间所导致的垃圾收集 -XX:MaxMetaspaceFreeRatio,在GC之后,最大的Metaspace剩余空间容量的百分比,减少为释放空间所导致的垃圾收集 现在我们在 JDK 8下重新运行一下代码段...四、总结 通过上面分析,大家应该大致了解了 JVM 的内存划分,也清楚了 JDK 8 中永久代向元空间的转换。不过大家应该都有一个疑问,就是为什么要做这个转换?

    1.1K20

    看懂服务器 CPU 内存支持,学会计算内存带宽

    所以,可以算得 单通道内存带宽 = 2666M * 64 比特 = 2666M * 8 字节 = 21.33 GB/s 6个通道的总带宽 = 21.33 GB/s * 6 = 128 GB/s 内存条模块规格...另外上面这个内存条还标识了 16 GB 2R*8 PC4-3200AA-U82-11。 SO-DIMM:小外形模块,是 Small Outline DIMM 的缩写。...这个服务器内存条不光正面有很多内存颗粒,连背面也有。可见服务器内存的颗粒数量比普通笔记本电脑、个人台式机的颗粒都要多很多。...一根 8 GB 的内存条平均大约每小时会出现 1 - 5 个这样的错误。 我们个人在办公的时候,由于内存主要都用来处理图片、视频等数据。...2023 年 1 月发布的第四代英特尔至强(Intel Xeon)更是支持了 8 内存通道。可以插更多的内存条。 另外就是服务器模块。

    1.6K11

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    热门标签

    领券