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

    MIT_6.s081_Lab

    MIT_6.s081_Lab 于2023年2月6日2023年2月6日由Sukuna发布 1:Xv6 and Unix utilities 运行环境:Ubuntu 20.04 qemu 在做6.s081.../kernel/kernel载入符号表,然后target remote loaclhost:26000即可: Lab1_1:Boot xv6 运行并安全退出xv6系统: 运行的方法很简单:cd进xv6的文件夹里面...Lab1_2 sleep 本实验要为 xv6 实现 UNIX 程序 sleep; 您的睡眠应暂停用户指定的滴答数。 滴答是 xv6 内核定义的时间概念,即来自定时器芯片的两次中断之间的时间。...图片 6:Xv6 and MultiThread Lab6_1 Uthread: switching between threads 在本实验中,您将为用户级线程系统设计上下文切换机制,然后实现它。...Lab6_3 Barrier 在此分配中,您将实现一个障碍:应用程序中的一个点,所有参与线程必须在该点等待,直到所有其他参与线程也都到达该点。

    1.2K10

    ucoreOS_lab6 实验报告

    /docs/lab_report/ 练习0:填写已有实验 lab6 会依赖 lab1~lab5 ,我们需要把做的 lab1~lab5 的代码填到 lab6 中缺失的位置上面。...和 lab5 操作流程一样,我们只需要将已经完成的 lab1~lab5 与待完成的 lab6 (由于 lab6 是基于 lab1~lab5 基础上完成的,所以这里只需要导入 lab5 )分别导入进来,然后点击..._run_pool; //该进程在优先队列中的节点,仅在 LAB6 使用 uint32_t lab6_stride; //该进程的调度步进值,仅在 LAB6...LAB6 使用 uint32_t lab6_priority; //该进程的调度优先级,仅在 LAB6 使用 }; alloc_proc() 函数 我们在原来的实验基础上...0; //初始化时间片 proc->lab6_run_pool.left = proc->lab6_run_pool.right = proc->lab6_run_pool.parent = NULL

    1.7K40

    MIT_6.s081_Lab2:Xv6 and Syscall

    MIT_6.s081_Lab2:Xv6 and Syscall 于2022年3月4日2022年3月4日由Sukuna发布 Lab2_1 Trace....主要就是创建一个新的跟踪系统调用来控制跟踪,它应该采用一个参数,一个整数“掩码”,其位指定要跟踪的系统调用.比如说跟踪fork系统调用就会调用trace(1<<SYS_USER_FORK).我们需要修改 xv6...SYS_exit 2 #define SYS_wait 3 #define SYS_pipe 4 #define SYS_read 5 #define SYS_kill 6...return 0; } 这个时候可以通过argint系统调用来获得栈帧中保存的寄存器值.然后把寄存器的值保存到mask元素中. 6) 更改fork函数,添加mask的复制.np->mask = p->mask...全部过关 Lab2_2 sys info 我们需要完成一个系统调用,给定一个struct sysinfo的指针,然后可以输出当前系统的可用进程数和可用内存数. 1) 在makefile,user.pl和

    54410

    MIT 6.S081 Lab Eight -- Lock

    MIT 6.S081 Lab Eight -- Lock ---- 引言 本文为 MIT 6.S081 2020 操作系统 实验八解析。...MIT 6.S081课程前置基础参考: 基于RISC-V搭建操作系统系列 ---- locks 在本实验中,您将获得重新设计代码以提高并行性的经验。多核机器上并行性差的一个常见症状是频繁的锁争用。...您将对xv6内存分配器和块缓存执行此操作。 Attention 在编写代码之前,请确保阅读xv6手册中的以下部分: 第6章:《锁》和相应的代码。...git fetch $ git checkout lock $ make clean ---- Memory allocator(moderate) 程序user/kalloctest.c强调了xv6的内存分配器...提示: 请阅读xv6手册中对块缓存的描述(第8.1-8.3节)。 可以使用固定数量的散列桶,而不动态调整哈希表的大小。使用素数个存储桶(例如13)来降低散列冲突的可能性。

    20920

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    热门标签

    领券