-
Notifications
You must be signed in to change notification settings - Fork 437
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #227 from storage-db/master
docs: 新增王炼学习记录
- Loading branch information
Showing
1 changed file
with
31 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
--- | ||
title: <王炼学习记录> | ||
date: 2024-01-07 18:41:43 | ||
tags: | ||
- author:<cargo-youth> | ||
- repo:<https://github.com/cargo-youth/blog.git> | ||
- 第一周工作学习总结 | ||
--- | ||
|
||
## 学习流程 | ||
第一天的接触就是修改CI/CD的错误,我的认知里面是写构建的yml文件,实际上是需要解决starry跑在x86的问题,第一天就大概看了starry的设计文档了解了它和arceos的承接关系和相关的模块图,于是在和杨金博同学沟通后对编译选项和copy.S的代码进行了x86的改造之后发现pci等还有问题,于是问题交到金博哥手里,这时候进行了unikernel的学习,石磊老师ppt讲解和训练营的录课大概看过之后对unikernel有了大概的认识,之后就边处理strace那边的数据边学习和做lab。 | ||
|
||
## 进展 | ||
目前在做第三周的实验的lab1,将c程序的镜像打包到文件系统实现了,目前对hello的报错进行修改,目前的思考是hello的命令行参数处理有问题,需要内核提供支持,目前定位到的代码如下 | ||
``` | ||
if let Some(app_inode) = open_file(path.as_str(), OpenFlags::WRONLY) { | ||
let all_data = app_inode.read_all(); | ||
let process = current_process(); | ||
let argc = args_vec.len(); | ||
process.exec(all_data.as_slice(), args_vec); | ||
// return argc because cx.x[10] will be covered with it later | ||
println!("exec argc is {}", argc as isize); | ||
argc as isize | ||
} else { | ||
-1 | ||
} | ||
``` | ||
执行后可在shell中看到初始为0执行hello程序后为1但是此时的参数处理是输出了argc为0的错误输出,目前在继续看代码准备把后续都尽快跑通。 | ||
|
||
|