write a OS like xv6 step by step
bro 这个仓库是相当随意的
这是Jer6y 的个人练手项目 [或许有那么一点含金量(至少我是这么认为的)]
意义在于完善Jer6y关于一个软件的架构到设计的全过程
2024-01-22 开启第二阶段 - 坚持不咕 去年咕掉了
还有就是,在第二阶段,jer6y熟悉RTOS 所以会发现此项目的结构会和RTOS非常像 ,但并不是,调度算法上有差异
可能以后会有第三阶段啥的 坚决不咕
硬件 : riscv64 virt SMP架构 核心数为4
软件支持:
CLINT驱动 √
PLIC驱动 √
UART驱动 √
spinlock √
内存管理 √ 【buddy 来分配大块页 slab 分配小对象 具体查看 jerry的buddy_system仓库】
tick中断处理 √ 【全部代理给核心号为3的核做,只运行在M态】
软件定时器 √
优先级轮转调度器 √
信号Signal √
互斥锁Mutex √
信号量Semphare √
API支持:
任务系列API √
调度器锁API √
IPC API √
第二阶段,DONE 当前时间 2024-01-27 5:35
不禁感慨,已经连续肝了5天代码,虽然有些API需要进一步测试,但是简单的测试运行已经完成
后续第三阶段可能要做的事情
E1000网卡驱动 【】
TCP/IP 协议栈支持 【】
文件系统支持 【】
MMU以及虚拟空间支持 【】
第三阶段是什么时候,谁知道呢,目前有时间还是测试一下第二阶段代码吧
明天回归正轨,肝UniProton 以及AMP 多核异构部署 , 能抽个5天出来基本没怎么停歇的写代码,属实不易
虽然并没有对我有什么能力上的提升,但是总归是给2023年的VERSION 1 的交代