Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update 2023开源操作系统训练营第二阶段总结报告-江昊.md #175

Merged
merged 1 commit into from
Nov 6, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,10 @@ tags:
- 实现以sv39模式的地址空间管理,页表的管理,虚拟地址到物理地址的转换,在这个实践上花费时间比较多,特别是异常处理时入口地址,返回地址,任务空间的页表地址切换,及程序各个段的映射,按照rcore的实现trap_context是放在应用层地址空间的,基本上可以随意修改,不够安全,准备尝试把trap_context放到内核地址空间
### 实践5
- 实现了解进程信号的发送接收过程,在内核层触发应用层的回调函数,实际上是一次任务的切换,必须在当前进程调用系统调用后才能触发,了解各种锁通过任务调度的实现,进程间的通信,管道消息的发送接收
### 实践5
### 实践6
- 实现通过对接调用easy-fs对文件的读写,块设备驱动采用的是virtio接口,这块比较复杂,待进一步理解

### 实践7
- 尝试启动双核,对任务进行调度,主要涉及到公共资源的加锁,当前任务的结构指针存储到tp寄存器(x4),获取当前进程通过读取tp寄存器实现,trap_context和task_context加入对tp寄存器的保存和加载(针对系统调用和任务调度)
### 总结
- 回顾这个学习实践过程,我认为我对操作系统原理上的理解取得了很大的进步。但我也意识到,还需要不断的继续学习和实践。
- 我希望能够继续深入学习Rust和操作系统开发,参与更多的开源项目,提升我的技能和经验。同时,我也希望能够将我在学习过程中积累的知识和经验分享给更多的人,帮助更多的人一起进步。
Expand Down