随笔分类 -  rCore

对于小rCore的学习随笔
摘要:上一节:硬件 本节:软件实现 物理页帧管理 内核->空闲内存->物理页帧->分配->存放 可用物理页的分配和回收 Link文件中关于操作系统bin文件的内存设计 内容os\src\linker-qemu.ld: OUTPUT_ARCH(riscv) ENTRY(_start) BASE_ADDRES 阅读全文
posted @ 2025-04-08 12:21 winddevil 阅读(210) 评论(1) 推荐(0)
摘要:引言 因为rcore并非设计为一个rtos,而是在我们需要的时候我们需要在设计的时候考虑到线程切换的时候的延时问题. 回顾上一部分的使用环形队列进行调度的方式,我们会发现我们寻找下一个Ready的任务的时间是不均匀的. 并且我们的任务是没有优先级的,可以认为是平权的,因此,为了: 快速且时间均匀地找 阅读全文
posted @ 2025-03-29 20:29 winddevil 阅读(112) 评论(0) 推荐(0)
摘要:看到这个题目就知道上一节提到的RISC-V手册的10.6节又有用武之地了. 这里只需注意,RV32 的分页方案Sv32支持4GiB的虚址空间,RV64 支持多种分页方案,但我们只介绍最受欢迎的一种,Sv39。: RISC-V 的分页方案以SvX的模式命名,其中X是以位为单位的虚拟地址的长度。 虚拟地 阅读全文
posted @ 2024-10-27 02:50 winddevil 阅读(1484) 评论(0) 推荐(1)
摘要:时隔很久,终于忙里偷闲可以搞一搞rCore,上帝啊,保佑我日更吧,我真的很想学会. 导读部分 首先还是要看官方文档. 我决定看一遍然后自己表述一遍(智将). 这里反复提到MMU,就是因为之前学MCU的时候有一个疑问,就是为什么MCU上不选择跑一个Linux,当时找到的答案是因为没有MMU. MMU的 阅读全文
posted @ 2024-10-25 01:28 winddevil 阅读(579) 评论(1) 推荐(0)
摘要:在上一部分,我们讲了动态内存分配器的原理是维护一个堆,而且是实现各种连续内存分配方法. 但是上一部分是直接通过引用了buddy_system_allocator来解决的问题. 那么对于内存分配算法有兴趣的我,还是决定看一下源码,总之人是咸鱼但是还是需要有梦想. 人生这么不顺,若是连梦想都没有了,可能 阅读全文
posted @ 2024-10-05 01:00 winddevil 阅读(619) 评论(0) 推荐(0)
摘要:引言 想起我们之前在学习C的时候,总是提到malloc,总是提起,使用malloc现场申请的内存是属于堆,而直接定义的变量内存属于栈. 还记得当初学习STM32的时候CubeIDE要设置stack 和heap的大小. 但是我们要记得,这么好用的功能,实际上是操作系统在负重前行. 那么为了实现动态内存 阅读全文
posted @ 2024-10-01 13:36 winddevil 阅读(709) 评论(0) 推荐(2)
摘要:写在前面 本随笔是非常菜的菜鸡写的。如有问题请及时提出。 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 引言 兜兜转转又是新的一章的开始,还是首先要看官方手册里的理论介绍和内容. 这里主要还是提纲挈领地摘抄里面 阅读全文
posted @ 2024-09-18 00:01 winddevil 阅读(433) 评论(0) 推荐(0)
摘要:写在前面 本随笔是非常菜的菜鸡写的。如有问题请及时提出。 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 编程题 第一题 扩展内核,能够显示操作系统切换任务的过程。 首先先回忆一下操作系统切换任务的过程. 因此只 阅读全文
posted @ 2024-09-14 17:30 winddevil 阅读(955) 评论(0) 推荐(0)
摘要:写在前面 本随笔是非常菜的菜鸡写的。如有问题请及时提出。 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 本节重点 本章最开始的时候讲解了有类似于多道程序与协作式调度的区别. 回想上一节,我们提到的,如果我们仍然 阅读全文
posted @ 2024-08-21 02:06 winddevil 阅读(768) 评论(0) 推荐(0)
摘要:写在前面 本随笔是非常菜的菜鸡写的。如有问题请及时提出。 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 下载它 随便找个地方下载,如果官网下载速度过慢: 官网 B站 微信公众号 知乎 各大软件站 这里附上我使用 阅读全文
posted @ 2024-08-15 17:29 winddevil 阅读(437) 评论(0) 推荐(0)
摘要:写在前面 本随笔是非常菜的菜鸡写的。如有问题请及时提出。 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 本节重点 主要是对 任务 的概念进行进一步扩展和延伸:形成 任务运行状态:任务从开始到结束执行过程中所处的 阅读全文
posted @ 2024-08-10 19:12 winddevil 阅读(539) 评论(0) 推荐(1)
摘要:导读 还是要先看官方手册. 学过DMA的同志可能比较好理解,一句话, 释放CPU总线 : 如果把应用程序执行的整个过程进行进一步分析,可以看到,当程序访问 I/O 外设或睡眠时,其实是不需要占用处理器的,于是我们可以把应用程序在不同时间段的执行过程分为两类,占用处理器执行有效任务的计算阶段和不必占用 阅读全文
posted @ 2024-08-08 12:04 winddevil 阅读(532) 评论(5) 推荐(0)
摘要:写在前面 本随笔是非常菜的菜鸡写的。如有问题请及时提出。 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 思考 上一节我们也提到了关于多道程序的放置和加载问题的事情.对比上一章的加载,我们需要把所有的APP全部都 阅读全文
posted @ 2024-08-06 16:53 winddevil 阅读(472) 评论(0) 推荐(1)
摘要:写在前面 本随笔是非常菜的菜鸡写的。如有问题请及时提出。 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 导读 这里就是第三章的开头了,由于我的巨菜,导致天天半天理解不了关键点所在,唉,实在是太折磨人. 遵照上一 阅读全文
posted @ 2024-08-04 00:13 winddevil 阅读(645) 评论(0) 推荐(0)
摘要:写在前面 本随笔是非常菜的菜鸡写的。如有问题请及时提出。 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 编程题 实现一个裸机应用程序A,能打印调用栈 首先在这里卡了我很久的是调用栈保存在哪里,回想到上一部分画的 阅读全文
posted @ 2024-08-01 15:29 winddevil 阅读(899) 评论(0) 推荐(0)
摘要:写在前面 本随笔是非常菜的菜鸡写的。如有问题请及时提出。 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 批处理操作系统的启动和运行流程 要想把本章实现的那些模块全部都串联在一起以实现运行一个批处理操作系统,回顾 阅读全文
posted @ 2024-07-30 16:24 winddevil 阅读(472) 评论(2) 推荐(1)
摘要:本节内容 因为risc-v存在硬件特权级机制,我们又要实现一个可以使得应用程序工作在用户级,使得操作系统工作在特权级.原因是要保证用户态的应用程序不能随意使用内核态的指令,要使用内核态的指令就必须通过操作系统来执行,这样有了操作系统的控制和检查,程序不会因为应用程序的问题导致整个操作系统都运行错误. 阅读全文
posted @ 2024-07-27 22:32 winddevil 阅读(815) 评论(0) 推荐(1)
摘要:写在前面 本随笔是非常菜的菜鸡写的。如有问题请及时提出。 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 本章目的 实现批处理操作系统,每当一个应用程序执行完毕,都需要将下一个要执行的应用的代码和数据加载到内存. 阅读全文
posted @ 2024-07-23 20:41 winddevil 阅读(407) 评论(4) 推荐(0)
摘要:写在前面 本随笔是非常菜的菜鸡写的。如有问题请及时提出。 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 设计方法 了解了特权级机制,实际上如果要设计一个应用程序就需要保证它符合U模式的要求,不要去访问S模式下的 阅读全文
posted @ 2024-07-20 12:47 winddevil 阅读(741) 评论(1) 推荐(0)
摘要:写在前面 本随笔是非常菜的菜鸡写的。如有问题请及时提出。 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 官方文档 仍然是一上来就丢出来的官方文档. 只摘抄了我觉得有意思的部分: 实现特权级机制的根本原因是应用程 阅读全文
posted @ 2024-07-14 14:46 winddevil 阅读(431) 评论(0) 推荐(0)