各位同学好:


今天上午汪乐平同学给大家过了一下UniKraft的启动代码到进入到应用程序的全过程。

总结来看,全过程大概如下:

1. 启动(启动器,或者qemu将应用程序的镜像以及应用程序本身放到主内存固定的位置)

2. 操作系统初始化中断向量,初始化页表等各种硬件需要初始化的地方(这里启动了堆内存和frame内存分配器?)

3. 启动处理器的多核效果

4. 初始化内核的库,这些库有不同的启动顺序。ctor表里面先于init表里面的启动函数。

5. 启动用户程序所需要构造函数

6. 进入到用户程序的main。


汪乐平同学发一下上午的ppt给大家。


晚上同学进行了总结,下一阶段需要做的工作:

1. 袁世平:rcore的第九章,virt driver

2. 晏巨广:完成的工作arceos arm上面能启动。没有设备树。定先做一个redisbhy, yjb合作。做应用程序。sqlitenginxredis。下周讲一下arceos的结构。

3. 张益程:Zyc: xv6相关的文档和代码都看了一下。wyf,里面有kernel中断打开的问题。下一步用陈渝老师的sleepspinlock trait先来实现文件系统。

4. 汪乐平1)看一下arceos的代码。(2zcorearm的多核。第一步目标多个核一起干活。

陈康