-
Notifications
You must be signed in to change notification settings - Fork 453
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b6b0d30
commit 576e045
Showing
2 changed files
with
109 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,56 @@ | ||
--- | ||
title: FeiFei0827's arceos blog | ||
date: 2023-11-23 16:28:01 | ||
categories: | ||
- oscamp 2023fall arceos unikernel | ||
tags: | ||
- author:FeiFei0827 | ||
- 2023秋冬季开源操作系统训练营 | ||
- 第三阶段总结报告 | ||
--- | ||
|
||
# 第三阶段总结报告 | ||
|
||
### 第一周 | ||
|
||
完成了三阶段的第二周的练习,我要诚实的说这对我来说并不容易 | ||
|
||
先来说说第一周的练习吧 第一周的练习 现在可能做完了所以觉得不难 | ||
|
||
实际上hashmap源码的删减就让我头疼 由于rust的语言特性实现hashmap似乎要比其他语言难不少 其他也就感觉还好 | ||
|
||
练习三需要实现一个内存分配算法 在这里我遇到了一些问题 在邝劲强同学的帮助下(他给予了我一些指导)完成了 | ||
|
||
后面的练习也都较为顺利的完成 | ||
|
||
### 第二周 | ||
|
||
涉及到arceos的外部应用的引用,实验嘛 代码什么的都提供了 很顺利的就完成了,然而到了练习的阶段,完全没思路 看着和我同为大二的新认识的同学顺利的推动着进度 但是我却没进展 心里十分焦急, | ||
|
||
尝试了很多次 创建了不知道多少副本 不是跑不通就是panic 内存访问有问题,在百思不得其解下 我得到了王格格同学的指导 她细心的指导了我最后一点没想明白的地方(app.bin 如何被arceos调用),懂得了这一点内容,我后面的练习推动就能正常进行了,完成了联系一和二,接下来的3和4也都比较简单,然后是到了练习5 这里一开始我持续的panic 最后发现好像是我写的脚本不太严谨,总之忙了一段时间还终于是写出来了 练习6与练习5的关系比较大 没费什么功夫就写出来了。 | ||
|
||
总之 万事开头难 这样看来可能练习1&2才是最难 | ||
|
||
### 收获 | ||
|
||
在做arceos的练习与实验的过程中 让我更立体的理解了os的设计 而且arceos Unikernel是单内核的 与linux和windos都不同,组件化的设计,没有参加这次训练营我大概不会了解到的。 | ||
|
||
认识了很多rust底层开发的语法 (大部分是跟着chatgpt老师学的,虽然有的时候它笨笨的) | ||
|
||
学习了怎么去编写简单的脚本 shell ,makefile ...... (ps:也正是缺少了这部分知识让我第二阶段的学习遇到了许多困难) | ||
|
||
明白了一丢丢汇编代码 如何直接以地址的方式访问数据 | ||
|
||
### 期望 | ||
|
||
最终的任务 尝试让arceos支持linux的多应用 | ||
|
||
我的实力。。。 我真的不觉得我能写出来。。。。 | ||
|
||
但是我会去试试的 实际上已经学到许多东西了 可喜可贺 | ||
|
||
### 感谢 | ||
|
||
首先当然是各位老师以及助教 | ||
|
||
其次是帮助我的各位同学 希望开源社区能在大家的共同努力下越来越好 |
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,53 @@ | ||
--- | ||
title: <feifei's blog> | ||
date: 2023-11-05 21:44:10 | ||
tags: - author:FeiFei0827 | ||
- 开源操作系统训练营2023 | ||
--- | ||
|
||
# 学习报告 | ||
|
||
居然一个月了,我没想过我能进行下去,实际上我才接触rust,学习rust花了很长时间,不过因为有rustling的存在 让我对rust的熟悉程度确实强于其他只学了一个月的语言,不过只有一点os基础,也仅限于稍微改变下linux内核的程度的我,虽然了解一些操作系统运算的规律但完全没自信能参与os的设计,看到了群里的许多大佬,更让我明白自己的弱小,但还是努力了一把虽然做的都是最低限度的事,但是我可以自豪的说,确实达到了我最初学习的目的 | ||
|
||
<!-- more --> | ||
|
||
## 阶段一 | ||
|
||
### 去学习Rust | ||
|
||
虽然我才不过接触计算机一年多的时间,但也早听闻rust的大名,我之前一直在学习cpp,由于众所周知最好的cpp在rust,自然认识了这只小螃蟹,但是我还完全不了解他,只是记得在学习cpp的新特性时那位视频博主总是把变量与名称写反 并自嘲到“最近rust写多了” 我意识到 哦 原来rust与cpp的相似之处不少,但由于我没看到rust的就业空间(只是我的鼠目寸光罢了),所以就没学习,在一位朋友的推荐下我参与了学习,和其他几位朋友一起学习,但他们都因为很忙,最后搁置了。 | ||
|
||
显然rust不是一门简单的语言,前些日子我还觉得他的语法规定太严格,是的,我明白正是这种严格让rust变的更加安全,可作为初学者的我被他折磨的不轻。不过在阶段二的学习中我渐渐的好像也开始觉得感到rust的这种语法的好处 | ||
|
||
rustling真的很好 我会推荐给所有想学rust的人 | ||
|
||
### risc-v学习 | ||
|
||
完全没听说过。。。。 | ||
|
||
x86,arm,mips,我都曾了解过 不过都只是纸上谈兵 这次是真的第一次 | ||
|
||
## 阶段二 | ||
|
||
### 做lab | ||
|
||
实际上 我想说 只是寻找要干什么就花了我很久。。。(丢人) | ||
|
||
不过好在群里有很多人分享信息 还有笔记 让我的学习之路平坦了很多很多很多 应了训练营公告的话 | ||
|
||
也希望有朝一日我能帮助到其他人 | ||
|
||
虽然我只做了ch3 ch4 ch5 | ||
|
||
但还是能说出点东西 | ||
|
||
ch3 我认为最简单 只要实现最简单的taskmanage就行 熟悉一些提供的函数就好 | ||
|
||
ch4 我觉得三者最难 和ch3的关联真的不大。。。看文档。。看视频 。。看往届的视频。。概念听懂了 上手就完蛋。。。 | ||
|
||
最后终于是把东西组织起来了 但是又是错误不断 最后又忘记写文档。。。哎 | ||
|
||
ch5和ch4的关系比较紧密 我觉得有了ch4的经验 ch5比较好些 因为v3里写的也很清楚 算是比较顺利 | ||
|
||
|
||
|