Akaban操作系统(3)-----不按套路出牌的开发

在西方人们发扬个~性,没错我也发扬个~性,为甚?你看我们的Boot文件夹中的重点讲完了,细节完全可以看我代码中的注释秒懂,那么接下来没错就是PawLoader了,wait!PawLoader,听起来像是一个grub引导器一样的玩意,没错,我本以为grub是鹰爪的意思,结果,一翻译,居然是蛆虫,于是我就决定开发爪子引导器(既然grub不是爪子我就创造一个爪子),不愧是我,凭空捏造这一块我是砖业的

整个系统的启动框架化简框架:

bios->booter->loader->paw_loader->AkabanSys

虽然启动流程相当得长,但是没有关系,真机高速的运行环境会弥补上的(实际上在真机运行时换行的帧数都肉眼可见了...)!再加上后期的优化润色,不会太糟糕的!

首先,这一篇我决定对操作系统的开发做一个重大决定,那就是不会开发8259a可编程中断处理器,而仅仅开发apic,为何?看看下图

从我在网上搜到的各种资料表示,apic将会是逻辑最简单,且实现pci设备中断的最佳选择,如果不选...就又要去花头发学神马中断路由器了,太不幸了,这意味着系统的兼容性将再下降一个档次。当然,接下来迎来的apic开发也不会多简单(玩意搞开发又打脸就不好了)。

pawloader中仍有许多特性(是特性不是bug!),比如,内存一旦注册,不允许注销!因为1个G的内存在系统启动初期是远远有余的(主要还是因为懒...,写注销程序会极其麻烦),等到AkabanSys加载到内存后统一注销

此外pawloader会适booter中存的启动模式来决定各种设备的初始化,比方说如果是在拿U盘安装这个系统则会初始化USB大容量设备的驱动,当然后期会考虑用bios代替(当然前提是电脑不是现代的只支持64位uefi启动的电脑),并且后面会打算开发一个叫vuefi的(自创的新工程)玩意,专门用来在老式64位电脑上虚拟出uefi启动环境(感觉好像用处不大,真的有那么强悍的老电脑能运行macOS吗?),同样只是装在电脑上磁盘时启动不会加载任何冗杂的启动设备,只有sata的驱动,如果有人将系统装在了U盘上,pawloader也会加载USB驱动

当然,写这一章不仅是为了说明pawlaoder的一些特性和整个开发大局的架构,还是为了说明一下,我要改成周更了

寒假的时候我打算快一点把apic的驱动完成,并开始pci设备的初始化,最后完成USB驱动,引导AkabanSys

哦这里更新一下源码(已经完成了基本的PCI设备探测和基本内存分配)

链接: https://pan.baidu.com/s/10GcZILmxbt6PxdunVX8ZGw 提取码: d1co

顺便说明一下,上次的源码中IA64这玩意在两台真机上实验后发现都不支持,所以将30重新改为29

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值