posted @ 2023-04-20 16:43 lyc2002 阅读(189) 评论(0) 推荐(0) 编辑
摘要:
仅使用互斥保护每个成员函数 问题 1 尽管运用互斥保护共享数据,条件竞争仍然无法避免,考虑如下代码: if (!q.empty()) { const int value = q.front(); q.pop(); do_something(value); } 在 empty() 和 front() 阅读全文
摘要:
Speed up system calls kernel.h/proc.h,在 struct proc 中添加 struct usyscall *usyscall kernel.h/proc.c,在 proc_pagetable() 中添加 USYSCALL 的 PTE kernel.h/proc. 阅读全文
posted @ 2023-04-18 19:02 lyc2002 阅读(22) 评论(0) 推荐(0) 编辑
摘要:
System call tracing 修改 Makefile user 在 user/user.h 中添加系统调用声明 在 user/usys.pl 中添加桩程序,生成 user/usys.S 即真实的系统调用桩程序 kernel 在 kernel/syscall.h 中添加系统调用号 在 ker 阅读全文
posted @ 2023-04-16 18:07 lyc2002 阅读(21) 评论(0) 推荐(0) 编辑
摘要:
Boot xv6 启动 xv6:make qemu 打印进程信息:ctrl-p 退出:ctrl-a x sleep 在 user 下创建编写 sleep.c,修改 Makefile pingpong 在 user 下创建编写 pingpong.c,修改 Makefile #include "kern 阅读全文
posted @ 2023-04-14 19:09 lyc2002 阅读(20) 评论(0) 推荐(0) 编辑
摘要:
~~~bash # 在 remote 端 sudo apt install openssh-server # 在 local 端 VSCode 点击新建 ssh,输入 ssh @ -A,修改 config,点击 connect # 在 local 端 cmd 运行 ssh-keygen -t rsa 阅读全文
posted @ 2023-04-06 22:12 lyc2002 阅读(58) 评论(0) 推荐(0) 编辑
摘要:
创建私人仓库管理 lab 代码 git clone git://g.csail.mit.edu/xv6-labs-2021 cd xv6-labs-2021 git checkout util make qemu # github 是可选的远程仓库名,由于 origin 被使用,此处用 github 阅读全文
posted @ 2023-04-06 21:25 lyc2002 阅读(40) 评论(0) 推荐(0) 编辑
摘要:
[acwing]291. 蒙德里安的梦想 /* 横放的方案数就等于总方案数,因为横着放完后,再竖着放是唯一的 dp[i][j] 表示第 i 列状态为 j 的方案数 状态为 j 是指:各行用 0 或 1 表示摆放状态 :若某行为 0,表示竖放或由前一列伸出 :若某行为 1,表示横放并向后一列伸出 dp 阅读全文
posted @ 2023-04-04 22:00 lyc2002 阅读(13) 评论(0) 推荐(0) 编辑
摘要:
[acwing]4405 .统计子矩阵 #include <cstdio> using namespace std; typedef long long LL; const int N = 510; int n, m, k; int s[N][N]; LL res; int main() { sca 阅读全文
posted @ 2023-04-03 22:02 lyc2002 阅读(10) 评论(0) 推荐(0) 编辑