这是上周的,上周发送给自己了,不算。



The following is the forwarded mail:

Sender: chenkang<chenkang@tsinghua.edu.cn>
Subject: Re: 本周工作总结以及下周工作任务
Date: Thursday, Apr 27, 2023 15:31
Recipient: chenkang<chenkang@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,chenkang<chenkang@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,chenkang<chenkang@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,chenkang<chenkang@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

下周把实验做完,有问有答。




陈康