rCore Lab3(Chapter5)
基础概念 系统调用 fork 1234/// 功能:当前进程 fork 出来一个子进程(除返回值外状态机相同)。/// 返回值:对于子进程返回 0,对于当前进程则返回子进程的 PID 。/// syscall ID:220pub fn sys_fork() -> isize; waitpid 1234567/// 功能:当前进程等待一个子进程变为僵尸进程,回收其全部资源并收集其返回值。/// 参数:pid 表示要等待的子进程的进程 ID,如果为 -1 的话表示等待任意一个子进程;/// exit_code 表示保存子进程返回值的地址,如果这个地址为 0 的话表示不必保存。/// 返回值:如果要等待的子进程不存在则返回 -1;否则如果要等待的子进程均未结束则返回 -2;/// 否则返回结束的子进程的进程 ID。/// syscall ID:260pub fn sys_waitpid(pid: isize, exit_code: *mut i32) -> isize; 在一个子进程结束后通常由父进程调用 waitpid...
rCore Lab2(Chapter4)
刚开始像做 Lab1 那样随便看了看,结果看完立马就忘了,概念有点多,于是认真记一下。 基础概念 分页内存管理 页表实现 页面(Page):每个应用的地址空间被分成的小块 页帧(Frame):可用的物理内存被分成的小块 虚拟页号(VPN, Virtual Page Number) 物理页号(PPN, Physical Page Number) 页表(Page Table):每个应用有一个页表,用于 VPN 与 PPN 转换,其中每个 VPN 也有一组保护位(rwx)表示权限。页表同样存放在内存中 逻辑段:由多个虚拟页面组成,在应用视角是一块连续内存 多级页表:Trie 实现 默认 MMU(Memory Management Unit)未启用,需修改 CSR satp MODE:页表模式,0 表示访问物理地址,8 表示 SV39 虚拟地址 PPN:根页表的物理页号 地址格式 单个页面大小设置为 4KiB,则如图 Page Offset 为 12 位 SV39 分页模式下虚拟地址只有 39 位有效长度,则只有最低 256 GiB(38 位为...
rCore Lab1(Chapter3)
Lab1 编程作业 读完前 3 章终于迎来了第一个 Lab,感觉前面都忘完了 先跟着敲了一遍第 3 章(os3-ref)的代码,稍微对代码框架了解了一点 首先考虑实现获取 syscall_times,注意是查询当前任务的调用次数,不是所有任务调用的总和 在 TaskControlBlock 中维护,调用 syscall 的时候修改即可。 1234567// os/src/task/task.rspub struct TaskControlBlock { pub task_status: TaskStatus, pub task_cx: TaskContext, pub syscall_times: [u32; MAX_SYSCALL_NUM],} 12345678910// os/src/syscall/mod.rsuse crate::task::count_syscall;pub fn syscall(syscall_id: usize, args: [usize; 3]) -> isize { ...
[C++]CS 106L: Standard C++ Programming 学习笔记
前言 五一比较闲,就看了看 CS106L 这门课 懒得等今年的课,看的是 Spring 2021 的,因为没代码就只看了课件 记一点学到的新东西(其实只是凑篇blog) std::optional (C++17) 类似于一个普通变量,但有一个“没有值”的状态 std::variant (C++17) 类似 std::optional,但可选择含多种类型(同一时刻只有一种值,类似 union) std::any (C++17) 类似 std::any,可含任意类型的值 统一初始化(Uniform Initialization)(C++11) 内部实现为 std::initializer_list 结构化绑定(Structured binding) (C++17) 语法糖,简单例子: 123456789101112std::pair<int, double> v{1, 3.14};auto [x, y] = v;std::cout << x << ' ' << y...
Python-Ramune-D v1.0 简单弹幕软件
Github地址 Ramune-D 这是什么? 刚开学闲着没事干写出来的小东西 使用Python+Qt编写 碎碎念 本来就没学过Python,一开始想用C++的,但一想到C++处理编码太麻烦就放弃了 然后Python0基础来写Qt踩了一堆坑。。。最后还是勉强做出个这东西 以后看看能不能加新功能( 使用方法 服务器 py Server/main.py Windows可运行Server.exe (服务器默认使用端口为11235,可在main.py中进行修改) 弹幕发送端 py Client_Sender.py Windows可运行Client_Sender.exe 若服务器在本地则IP填写127.0.0.1,端口填写11235,否则填写相应地址 在"Ramune-D"一栏填写弹幕后点击Send发送 弹幕接收端 py...
[UE4]简单小游戏 MoeSurv 开发日志
前言 假期闲着没事干,就打算学学做游戏,选了UE4做引擎。 想着写个小游戏试试,才发现整个假期都在颓,根本没学成什么东西( 0.0.0:Github Log 2022.1.25 初始关卡场景(直接网上找资源) 2022.1.26 人物基本功能(移动/跳跃) 2022.1.27 开关门功能 2022.1.29 新增速度/跳跃增益道具 2022.1.30 完成道具随机生成机制 2022.1.31 增加血量/护盾/Walk_Lv/Jump_Lv UI 修复场景穿模 修复无法上楼梯问题 新增场景炸弹 添加空气墙 添加自动回血功能 2022.2.1 新增回血/盾牌道具 新增角色死亡后旁观者功能 新增主菜单/结束菜单 0.0.0完成 2022.9.28 发现代码找不到了 反正也没更新
[AFO]NOI 2020 游记/退役记
NOI 2020 游记/退役记 Day -? NOI 2019 Cu WC 2020 Cu 多学了一年还是不变的Cu( Day -? UOJ NOI Round #4 Cu ... 也就这水平吧 Day -3 打模拟赛,只会签到 刷模板... Day -2 继续刷模板,感觉好多都忘得差不多了 发现根本不会非传统题...有时连暴力分都拿不到 只求最少AG保底( Day -1 坐一早上车 扛不住长沙这天气,被热傻 不过志愿者小哥哥小姐姐好热情啊/se 宿舍挺不错,至少比之前几次好多了,只有信号是一致的差( 又是女生宿舍 感觉没救了,索性颓了一下午 食堂日常吊打本校的 Day 0 早上开幕式,节目都挺正常 和去年NOI一样的公开处刑 又到了我最喜欢的d*d金句时间( 1 0 0 0 多 万 一 个 月 的 工 资 剩饭要扣分,NOI吃饭大赛( 回去做了一下...
CSP-S 2019 游记
NOIP CSP-S 2019 游记 第一次参加CSP好激动,我就是萌新中的萌新了 现在写会不会被禁赛呀( Day -\infty CSP-S 2019 Round 1 初赛在本校考。。整个市加起来不过20人吧。 大课间考试听着外面吵嚷简直毫无气氛( 题也不是很难,错了2个sb题,最后只有97 走了走了,回去颓废(x) Day -7 Gal真好玩 还没有复习模板。。 下午考一套CSP-S Day2模拟:40+100+30 晚上Comet OJ - Contest #14: 只会 T1 T2 T2看错题了还WA一次 要AFO了8 Day -6 装了一早上的NOI Linux COJ的短裙终于到了! 下午 GZ联考 全是卡常水题,T3 O(n^4)过1000( 晚上 Comet OJ - 模拟赛 #1 Day1,AK,rk4 RP花光 Day -5 RP真的没了。。 早上联考Day2,T3看错题了,交上去的时候才反应过来 100+100+10 晚上 Comet OJ - 模拟赛 #1 Day2 只会T1,还写了个O(n\log n)被O(n)吊打 100+4+24...
[GZOI2019&GXOI2019]省选GG记
GZOI=贵州OI 题目 ecr1欢迎AK)题解 4hac Update:我省的题终于上OJ了好感动 Luogu P5300 [GXOI/GZOI2019]与或和 Luogu P5301 [GXOI/GZOI2019]宝牌一大堆 Luogu P5302 [GXOI/GZOI2019]特技飞行 Luogu P5303 [GXOI/GZOI2019]逼死强迫症 Luogu P5304 [GXOI/GZOI2019]旅行者 Luogu P5305 [GXOI/GZOI2019]旧词 DAY0 上一次的普及难度成功地让我体验到了省选500+的快感。 然后今年又来混2天半的假期( 然后就被两套省选模拟搞到自闭 坐了大半天的车,难受得要死,去试机,敲了3k(FTT,NTT,平衡树-树状数组版)的模板就溜了。。 到宾馆就开始打Arcaea,完全不想复习QWQ Arc真好玩,我推荐你们都去玩一玩 DAY1 早上差点睡过头。。 赶往考场,然后发了密码 for i := 1 to n...
PKUWC2019游记
PKUWC2019游记 前言 NOIPRP爆发,混到分数线,估计去THU也是爆0的份,就去PKU耍几天 Day0 早上在机房颓了一个上午。。。 下午昏昏沉沉的报了道,跑去试机 去了机房,键盘还是挺好用的 毕竟用了2个星期了 考试在openjudge上考,先上去看了一看,一共2道题,一个10分,一个100分,看着都毒瘤 T1 求有多少对(a,b)满足a*b=(a|b)*(a\&b),0\le a,b\le 1023 。。。暴力就好 T2 #6433. 「PKUSC2018」最大前缀和 试机题日常原题,一个水水的状压DP 瞎分析了一下就过了 然后坐不住就溜了 晚上打了一场CF\ Div.2 A:暴力,秒了 B:贪心,秒了 C:一个递推题,瞎写写水了 D:模拟,秒了 E:WDM这什么啊好难不会QAQ Day1 早上ci玩早餐匆匆赶往纪中参加开营仪式,先吹了一波纪中,再吹了一波PKU,顺便黑隔壁某THU,然后合影结束了。 下午去考试,感觉自己要凉qwq 先是浏览一遍题面: T1:\%998244353 T2:\%998244353 T3:斗地主,\%998244353 woc\...