所有观后感、玩后感的内容除“通关概况”外均包含对应作品的重度剧透

我音乐知识匮乏,因此自己扒的乐谱在歌曲节奏、音准、记谱等方面会存在较多错误,一切以原曲为准!

rCore-Tutorial-Book-v3学习笔记(七)


概述 上一节介绍了文件系统格式的解析,主要涵盖文件系统的文件节点层核块缓存层;本节主要介绍块设备的处理,以及附带的命令行参数、重定向等实现。 内容 先介绍上一节跳过的文件描述符层。基本都是调用文件节点层的各类函数,这里仅给出close和创建函数: void fnode_close(File *sel...

技术          2021年5月17日

动漫观后感:凉宫春日的忧郁


开始看凉宫春日的忧郁了,这番真的是主观唯心主义的巅峰啊。看完了经典的凉宫春日“漫无止境的八月”篇章,不说这8集怎么怎么样,至少漫无止境的感觉确实是完完整整体现给观众了...

杂谈          2021年5月15日

rCore-Tutorial-Book-v3学习笔记(♭七)


概述 文件系统果然是内核设计中boss级别的存在,花了我大量时间。主要是对文件系统格式的解析非常繁琐,以及之前没有在sbi环境下考虑过设备中断问题,网上也没有资料,走了不少弯路。因此这一块分为两节,本节主要介绍文件系统格式的解析,本身可以独立出来作为外部程序,相当于内核文件系统的预备部分,所以是“降...

技术          2021年5月7日

rCore-Tutorial-Book-v3学习笔记(六)


概述 第六部分是实现基本的文件数据结构、标准输入输出文件和管道文件。相对来讲比较简单,不过因为每个进程的文件描述符表需要用一个既能动态扩增又能直接索引的数据结构,所以我顺便自己实现了一个简单的vector,并利用相同的思想实现了一个队列,使用非常简单,所以又把queue.h换掉了。 内容 首先是ve...

技术          2021年4月10日

rCore-Tutorial-Book-v3学习笔记(五)


概述 第五个部分是实现进程相关的函数,相比前面几次任务难度高了不少。同时为了适应前面的内存函数,进程函数的实现基本也得靠自己了。由于用户程序增加了不少,所以我还增改了一下Makefile,并写了一个Python脚本用来生成link_app.S。 内容 首先是Makefile,之前一直是把Makefi...

技术          2021年4月3日

rCore-Tutorial-Book-v3学习笔记(四)


概述 第四个部分是实现系统的内存管理,核心当然就是虚拟地址和物理地址空间的管理了。xv6实验三让我有了心理阴影,所以在实验前我先整理了一下源代码,把项目的结构弄清晰,后面有错的时候方便查找。然后这一章节主要分成四个部分,第一部分是给内核代码添加动态内存分配支持,使得内核可以用上链表、可变数组等数据结...

技术          2021年3月20日

rCore-Tutorial-Book-v3学习笔记(三)


概述 第三个部分是实现一个分时多任务的系统,也就是能够在多个任务运行期间进行切换,让一个程序在等待IO时其他程序能执行而不是傻等。虽然和并行有点类似,但目前使用到的都只有一个CPU,任何时候都只有一个程序在执行。分时多任务有两种:一种是程序自己主动让出控制权,有点类似于编程语言中协程的概念;一种是由...

技术          2021年2月26日

rCore-Tutorial-Book-v3学习笔记(二)


概述 第二部分是实现一个批处理系统。批处理系统顾名思义就是能输入好几个程序,然后对这些程序依次执行的操作系统。重点不是在批处理,而是在输入用户程序,这就要求用户程序和我们的系统有一种隔离,所以需要在这一部分的系统实现用户态和内核态的切换。 内容 这一部分的代码文件比上一部分多了好几个,大致说明一下功...

技术          2021年2月25日

rCore-Tutorial-Book-v3学习笔记(一)


概述 最近看到清华的一个操作系统教程rCore-Tutorial-Book,和其他实验不同的是,这个教程介绍的是完全从零开始实现一个Riscv操作系统。教程所用的编程语言是Rust,但是我的Rust水平只到勉强能看懂代码的地步,所以打算用C语言照着实现一遍。虽然说是照着实现,但不同的语言还是会带来不...

技术          2021年2月24日

游戏玩后感:RewritePlus


开始玩rewrite了,rewrite的日常感觉好长,5年前我观摩大佬玩过一点,知道这部游戏的世界观极其宏大,但前期又是老掉牙的日常+后宫,真的是迫不及待。而且我准备一周目自己玩的...

杂谈          2021年2月13日
... ...