Skip to content

Commit

Permalink
FeiFei
Browse files Browse the repository at this point in the history
  • Loading branch information
FeiFei0827 committed Nov 23, 2023
1 parent b6b0d30 commit 576e045
Show file tree
Hide file tree
Showing 2 changed files with 109 additions and 0 deletions.
56 changes: 56 additions & 0 deletions source/_posts/FeiFei0827-s-arceos-blog.md
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的多应用

我的实力。。。 我真的不觉得我能写出来。。。。

但是我会去试试的 实际上已经学到许多东西了 可喜可贺

### 感谢

首先当然是各位老师以及助教

其次是帮助我的各位同学 希望开源社区能在大家的共同努力下越来越好
53 changes: 53 additions & 0 deletions source/_posts/feifei-s-blog.md
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里写的也很清楚 算是比较顺利



0 comments on commit 576e045

Please sign in to comment.