(undone) MIT6.S081 2023 学习笔记 (Day7: LAB6 Multithreading)

news/2025/2/1 0:22:06 标签: 操作系统

网页:https://pdos.csail.mit.edu/6.S081/2023/labs/thread.html


任务1:Uthread: switching between threads (moderate) (doing)

在这个练习中,你将设计一个用户级线程系统中的上下文切换机制,并实现它。为了帮助你开始,你的xv6系统中有两个文件 user/uthread.c 和 user/uthread_switch.S,以及Makefile中的一个规则来构建uthread程序。uthread.c 包含了大部分用户级线程包的代码和三个简单测试线程的代码。线程包缺少一些用于创建线程和在线程之间切换的代码。

你的任务是制定一个计划来创建线程以及保存/恢复寄存器以在线程之间进行切换,并实现该计划。完成之后,运行 make grade 应该显示你的解决方案通过了 uthread 测试。

根据讲义,执行 uthread 后预期的输出应该是:
在这里插入图片描述

TODO: here


任务2:Using threads (moderate) (doing)

TODO: here


任务3:Barrier(moderate) (doing)

TODO: here



http://www.niftyadmin.cn/n/5838924.html

相关文章

我的求职面经:(1)C++里指针和数组的区别

经典问题&#xff1a; char s1[]"hello"; char *s2"hello"; 1、s1的值是放在栈上的&#xff0c;值是可以修改的&#xff0c;而hello是一个字符串常量放在静态存储区是不能修改的。 2、内存大小不一样 #include<stdio.h>int main(){char s1[]&quo…

python-leetcode-路径总和

112. 路径总和 - 力扣&#xff08;LeetCode&#xff09; # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:de…

在K8s中部署动态nfs存储provisioner

背景 之前&#xff0c;我已经在一台worker node上安装了local lvm 的provisioner来模拟需要本地高IOPS的数据库等stafeful应用的实现。 为了后续给虚拟机里的K8s集群安装可用的metrics和logs监控系统&#xff08;metrics和logs的时序数据库需要永久存储&#xff09;&#xff0…

初始化mysql报错cannot open shared object file: No such file or directory

报错展示 我在初始化msyql的时候报错&#xff1a;mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory 解读&#xff1a; libaio包的作用是为了支持同步I/O。对于数据库之类的系统特别重要&#xff0c;因此…

第32篇:Python开发进阶:机器学习与人工智能

第32篇&#xff1a;机器学习与人工智能 目录 机器学习概述 什么是机器学习机器学习的应用领域 Python中的机器学习库 Scikit-learnTensorFlowKerasPyTorchXGBoost 机器学习的基本概念 监督学习与无监督学习特征工程模型评估与选择 人工智能的核心算法 线性回归逻辑回归决策树…

赛博算卦之周易六十四卦JAVA实现:六幺算尽天下事,梅花化解天下苦。

佬们过年好呀~新年第一篇博客让我们来场赛博算命吧&#xff01; 更多文章&#xff1a;个人主页 系列文章&#xff1a;JAVA专栏 欢迎各位大佬来访哦~互三必回&#xff01;&#xff01;&#xff01; 文章目录 #一、文化背景概述1.文化起源2.起卦步骤 #二、卦象解读#三、just do i…

unity使用内置videoplayer打包到安卓手机进行视频播放

1.新建UI&#xff0c;新建RawImage在画布当作视频播放的显示载体 2.新建VideoPlayer 3.新建Render Texture作为连接播放器视频显示和幕布的渲染纹理 将Render Texture同时挂载在VideoPlayer播放器和RawImage上。这样就可以将显示的视频内容在RawImage上显示出来了。 问题在于&a…

芯片AI深度实战:进阶篇之vim内verilog实时基于AST的自定义检视

本文基于Editor Integration | ast-grep&#xff0c;以及coc.nvim&#xff0c;并基于以下verilog parser(my-language.so&#xff0c;文末下载链接), 可以在vim中实时显示自定义的verilog 匹配。效果图如下&#xff1a; 需要的配置如下&#xff1a; 系列文章&#xff1a; 芯片…