首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ucoreOS_lab3 实验报告

    所有的实验报告将会在 Github 同步更新,更多内容请移步至Github:https://github.com/AngelKitty/review_the_national_post-graduate_entrance_examination.../ 练习0:填写已有实验 lab3 会依赖 lab1 和 lab2,我们需要把做的 lab1 和 lab2 的代码填到 lab3 中缺失的位置上面。...和 lab2 操作流程一样,我们只需要将已经完成的 lab1 和 lab2 与待完成的 lab3 (由于 lab2 是基于 lab1 基础上完成的,所以这里只需要导入 lab2 )分别导入进来,然后点击...就不用复制了,其他需要修改的地方主要有以下四个文件,通过对比复制完成即可: default_pmm.c pmm.c trap.c kdebug.c 练习1:给未被映射的地址映射上物理页(需要编程) 本实验要求完成...练习2:补充完成基于 FIFO 的页面替换算法(需要编程) 本实验要求完成 do_pgfault 函数,并且在实现 FIFO 算法的 swap_fifo.c 中完成 map_swappable 和 swap_out_victim

    1.5K20

    ucoreOS_lab1 实验报告

    ucoreOS_lab1 实验报告 由于我个人不太懂 AT&T 语法,在完成实验的过程中遇到了相当大的阻碍,甚至有点怀疑人生,我是否心太大了,妄想在短时间内学懂大清的课程。...ucoreOS_lab1 这个实验前前后后做到了现在才勉强完成,后来又花了两天时间,写完了这份9000余字的报告。...网上的资料参差不齐,很难有一份适合我这种新手(菜鸡)的详细的实验过程,无奈只有自己狠下心来,完成了这篇实验报告,虽然只是一篇小小的实验报告,却涵盖了我是如何一步步摸索这一艰辛的实验过程,如果文中有不合理之处.../docs/lab_report/lab1/lab1%20%E5%AE%9E%E9%AA%8C%E6%8A%A5%E5%91%8A.md,所有的实验报告将会在Github逐步更新。.../lab1_result下执行make debug: ?

    1.7K20

    ucoreOS_lab8 实验报告

    / 练习0:填写已有实验 lab8 会依赖 lab1~lab7 ,我们需要把做的 lab1~lab7 的代码填到 lab8 中缺失的位置上面。...和 lab6 操作流程一样,我们只需要将已经完成的 lab1~lab7 与待完成的 lab7 (由于 lab8 是基于 lab1~lab7 基础上完成的,所以这里只需要导入 lab7 )分别导入进来,然后点击...根据实验指导书,我们可以了解到,ucore 的文件系统架构主要由四部分组成: 通用文件系统访问接口层:该层提供了一个从用户空间到文件系统的标准访问接口。...请在实验报告中给出设计实现”UNIX的PIPE机制“的概要设方案,鼓励给出详细设计方案。...如果在sh用户界面上可以执行”ls”,”hello”等其他放置在sfs文件系统中的其他执行程序,则可以认为本实验基本成功。

    89550

    ucoreOS_lab7 实验报告

    /blob/master/books_and_notes/professional_courses/operating_system/sources/ucore_os_lab/docs/lab_report.../ 练习0:填写已有实验 lab7 会依赖 lab1~lab6 ,我们需要把做的 lab1~lab6 的代码填到 lab7 中缺失的位置上面。...和 lab6 操作流程一样,我们只需要将已经完成的 lab1~lab6 与待完成的 lab7 (由于 lab7 是基于 lab1~lab6 基础上完成的,所以这里只需要导入 lab6 )分别导入进来,然后点击...请在实验报告中给出内核级信号量的设计描述,并说其大致执行流流程。...能够基于信号量来完成条件变量机制;事实上在本实验中就是这么完成的,只需要将使用信号量来实现条件变量和管程中使用的锁和等待队列即可。 最终的实验结果如下图所示: ?

    1.5K20

    ucoreOS_lab5 实验报告

    /blob/master/books_and_notes/professional_courses/operating_system/sources/ucore_os_lab/docs/lab_report.../ 练习0:填写已有实验 lab5 会依赖 lab1~lab4 ,我们需要把做的 lab1~lab4 的代码填到 lab5 中缺失的位置上面。...和 lab4 操作流程一样,我们只需要将已经完成的 lab1~lab4 与待完成的 lab5 (由于 lab5 是基于 lab1~lab4 基础上完成的,所以这里只需要导入 lab4 )分别导入进来,然后点击...(事实上这个部分已经在LAB1的实验中顺手被完成了) 在时钟中断的处理部分,每过 TICK_NUM 个中断,就将当前的进程设置为可以被重新调度的,这样使得当前的线程可以被换出,从而实现多个线程的并发执行...* * */ 请在实验报告中描述当创建一个用户态进程并加载了应用程序后,CPU 是如何让这个应用程序最终在用户态执行起来的。

    1.6K60

    CSAPP lab0 实验环境搭建

    CSAPP Lab0 实验环境搭建 这是csapp lab开始的第一步,就是搭建实验环境。...那么可以用docker,vmware/vitrual box,wsl等方式搭建linux环境,我本人使用的是vmware,安装的linux发行版是manjaro,由于在做lab之前就已经配置好了虚拟机环境...实验文件下载 官网实验文件:http://csapp.cs.cmu.edu/3e/labs.html github仓库实验文件:https://github.com/Hansimov/csapp/tree...Handout是实验内容,Release Notes是版本历史,所有实验都是给出这四个文件的,我认为很多时候英文课程带来的语言环境差异一定程度让实验更难,但是国内很多翻译版等等那些资料也并不咋样,尽可能看英文会比较好...,我在我的github仓库中也会提供了实验文件供下载,从csapp的官网下和从github仓库下都一样,这些实验最近一次更新文件是19年,所以不用担心文件会不会有什么版本问题,接下来就可以开始愉快的做lab

    1.1K10

    ucoreOS_lab6 实验报告

    所有的实验报告将会在 Github 同步更新,更多内容请移步至Github:https://github.com/AngelKitty/review_the_national_post-graduate_entrance_examination.../ 练习0:填写已有实验 lab6 会依赖 lab1~lab5 ,我们需要把做的 lab1~lab5 的代码填到 lab6 中缺失的位置上面。...LAB6 使用 uint32_t lab6_priority; //该进程的调度优先级,仅在 LAB6 使用 }; alloc_proc() 函数 我们在原来的实验基础上...() 函数 我们在原来的实验基础上,新增了 1 行代码: run_timer_list(); //更新定时器,并根据参数调用调度算法 这里主要是将时间片设置为需要调度,说明当前进程的时间片已经用完了。...最终的实验结果如下图所示: ? 如果 make grade 无法满分,尝试注释掉 tools/grade.sh 的 221 行到 233 行(在前面加上“#”)。

    1.7K40

    ucoreOS_lab4 实验报告

    /blob/master/books_and_notes/professional_courses/operating_system/sources/ucore_os_lab/docs/lab_report.../ 练习0:填写已有实验 lab4 会依赖 lab1、lab2 和 lab3,我们需要把做的 lab1、lab2 和 lab3 的代码填到 lab4 中缺失的位置上面。...和 lab3 操作流程一样,我们只需要将已经完成的 lab1、lab2 和 lab3 与待完成的 lab4 (由于 lab4 是基于 lab1、lab2、lab3 基础上完成的,所以这里只需要导入 lab3...mm:即实验三中的描述进程虚拟内存的结构体 context:进程的上下文,用于进程切换。 tf:中断帧的指针,总是指向内核栈的某个位置。中断帧记录了进程在被中断前的状态。...扩展练习Challenge:实现支持任意大小的内存分配算法 通过少量的修改,即可使用实验2扩展练习实现的 Slub 算法。

    1.4K30

    JAVA实验:JDBC编程实现数据库操作

    0x00 课题内容 实验十 文件操作练习 使用MySQL数据库管理系统,建立名为“Information”数据库,在该数据库中创建表名为“userInfo”的数据表,用于存储用户注册时在注册界面输入的用户信息...编写数据库连接类DBUtil.java,该类实现连接数据库的功能 编写数据访问类UserDao.java(Data Access Object,DAO),该类负责提供方法对User表进行增查删改等所有操作...编写测试类Test.java,测试以下功能: 查询并显示所有用户 添加一个用户 按用户名查询用户 修改用户密码 删除用户 类 说明 UserDao.java 数据库操作 User.java 用户类 DBUtil.java...连接数据库 Test.java 测试类 0x01 源代码 UserDao.java package DBUtil; User.java package DBUtil; DBUtil.java package...DBUtil; Test.java package DBUtil; 0x02 测试结果 运行窗口截图: Mysql截图: 0x03 问题及解决方案 实验中的问题: 无法正常连接到数据库; 无法正常执行

    99550

    《深入理解计算机系统》实验二 —— Bomb Lab

    这是CSAPP的第二个实验,主要让我们理解代码的机器级表示,最重要的是理解每个寄存器的作用以及如何使用这些寄存器。本次的实验内容有点晦涩难懂,对于这些内容多看下习惯就好了。   ...本次实验中的bomb文件中共有7个炸弹问题(6个显式的和1个隐藏的),每条问题只有输入正确的答案才能进入下一题,否则则会触发爆炸。...准备工作   从官网下载到实验,解压后一共三个文件,具体如下图所示。...1421380-20201210171124760-482969894.png   readme中没写什么有用的内容,bomb文件是编译完成的文件,bomb.c是本次实验的源码,打开看下,大概浏览了一遍...phase6的解析来自以下链接: 这是链接 总结   实验太难了。分析汇编像看天书,不过通过本次实验也提高了自己阅读汇编代码的能力,学会了基本的GDB调试代码的步骤。收获颇丰!

    95120

    MIT 6.830数据库系统 -- lab six

    MIT 6.830数据库系统 -- lab six 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi...各个lab的实现,会放在lab/分支下。 ---- 引言 在本实验中,我们将要实现基于日志的中止回滚和崩溃恢复。源码中提供了定义日志格式的代码,并在事务期间的适当时间将记录附加到日志文件中。...的策略,而这个实验我们实现的是steal/no-force策略,两种策略的区别如下: steal/no-steal: 是否允许一个uncommitted的事务将修改更新到磁盘 如果是steal策略...如果通过的测试少于这三个子测试的话,说明我们对已有代码的修改并不兼容,我们需要解决这些问题 ---- 回滚 阅读LogFile.java文件中对于日志文件格式描述的注释;我们可以在LogFile.java...我们的第一个任务是实现LogFile.java的rollback()函数。当事务中止时,并且事务释放掉它的锁之前会调用该函数。它的任务就是撤销事务对数据库可能的更改。

    22520

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    热门标签

    领券