这是上周的,上周发送给自己了,不算。
The following is the forwarded mail:
Sender: chenkangchenkang@tsinghua.edu.cn Subject: Re: 本周工作总结以及下周工作任务 Date: Thursday, Apr 27, 2023 15:31 Recipient: chenkangchenkang@tsinghua.edu.cn
zyc: 连续读写分配有问题。修复了这个bug。 pjdfstest有权限检查,功能检查。有错误代码的检查。 测试并发提交log的。 Ior, mdtest (1)代码和yjg沟通一下。 (2)尝试跑一下c语言版本的mdtest。
Yz: (1)按照现在的ppt最后一页的计划完善virtio驱动。 (2)考虑使用中断让virtio来支持异步IO。read-nonblock变成 async read/write更高级的接口。 Virtio example里面做了一些小的实验,可以参考一下。
Ysp: 修改栈的设置,每个核用一个栈。 在 qemu 上面把raspi 3跑一下,调多核。
Yjg:(哪里跑不下去问闭浩扬!) 非法地址:没有redis main 传参数。 Kernel command line 转成应用程序的参数。给应用程序准备环境变量。 启动有两个:环境变量,配置文件。 Socket。lua? (1)查一下signal到底在redis里面干了啥,看看是否需要支持。 (2) getaddrinfo 硬编码一下。 (3) 实现pipe2,参考rcore来做。 —> 最高优先级 (4) 实现pthread库。libc 应该有pthread的测试。 (5) epoll_create 陈渝找个学生! (6) fcntl (7) 用闭包传参数
wlp: (设备树也弄成了单独模块) 把small tcp 改一下,把中断驱动跑起来。 给驱动留一个注册中断的接口。 测试中断是不是正常工作。 arm gic v3弄过来试试。
On Apr 13, 2023 16:03,chenkangchenkang@tsinghua.edu.cn wrote:
原则:用户程序不能改源代码。
Zyc: 有rust版本的pjdfstest,可以用来借鉴。 给自己的文件系统加了功能。 建议:通过pjdfstest完善现有的文件系统,完善rust版本的pjdfstest
Yz: 下周分享一下virt-io block部分的内容。block mq。
Ysp: 依据 树莓pi,直接调库,访问device tree。(根据树莓pi来写死也行。axconfig) 单核:中断跑通 下一步任务:多核(参考rcore)
yjg:(最重要) 浮点指令开启。已经做了静态链接。可以进到redis main 了。 在strlen上面出错,报page fault。 (非法地址)argp0 按照c语言的要求,给它传给东西过去。argc, argv
Wlp: 注册中断,打开中断,使用中断方式接收网络包。 照着unikraft的来。(研究一下)
lh: 继续学习arm tutorial。
Jyk: Sqlite合并。下一步先加一些文档。
陈康
On Apr 6, 2023 15:58,chenkangchenkang@tsinghua.edu.cn wrote:
本周总结以及下一周任务。
zyc: (1)先看一眼pjdfstest。改一下自己的测例。 (2)scalefs工作继续。 (3)任意时间点crash了,然后测试一下能不能恢复。
Yz: (1)virt-io specification。 c 语言的需要看一下。先重点关注块设备的driver。 (2)如何把现在virt-io的驱动写得完全。
Ysp: 已经完成了串口输出。现在设置页表的时候出现问题。 下一步是调试通过内存管理单元。
lh: 看明白内存管理部分的内容。
Yjg: 已经实现了一部分的函数调用。 现在的困难是静态库装载有问题,涉及到PIC。下一步完成静态链接。 参考一下unikraft
Wlp: 继续看中断。独立先把中断弄出来。网络的驱动,块驱动。 使用配置文件来区分驱动用轮询还是中断。 找一个事件驱动的调度应用程序,不需要通过时钟中断调度。(nginx)
真正硬件需要支持的进一步工作: 中断,内存布局,驱动(真正驱动)
On Mar 30, 2023 16:31,chenkangchenkang@tsinghua.edu.cn wrote:
各位同学好:
zyc: xv6已经跑通。已经更新到了最新的分支,merge了一下。正在接lock。正在改xv6上面的。 正在看scalefs。主要是使用里面的task wait queue。 (1)做多并发的测试;(2)做扩展性; (3)crash了之后能恢复。 下一步:(1)先完成并发的实现;(2)crash 测试。 下一步做扩展性,借鉴scalefs
(a) 正确性 (b) 性能
yz rust for linux
在unikernel里面提供rust针对virt-io的驱动(先看一下virt-io的各种信息,看一下rust的virt的驱动程序)
ysp 硬件上面跑ArceOS,先把串口跑出来,输出东西
yjg 179个库函数
wlp 单队列支持绑核,关时钟中断。kernel command line, API。搞一下中断。需要看一下驱动框架。UniKraft里面的中断。 GIC。
lh 下周把实验做完,有问有答。
陈康