【欢迎加入】类操作系统开当前整体状态,欢迎有兴趣开发的伙伴加入,谢谢

目录

【整体介绍】

【加入开发需要的技能要求】

【运行效果展示】

【代码配套信息】

【代码信息】

【二进制运行演示视频】

【编译环境信息】

【当前开发状态】

【代码查看&代码编写工具】

【欢迎加入~~】


【整体介绍】

        本项目基于UEFI的edk2代码开发,纯属个人兴趣爱好,从2021年7月中旬开始开发,当前开发代码量大概在4K左右,欢迎对操作系统有兴趣的伙伴加入,QQ群组:663726937,群里成员有来自国内的、国外的、有初中的、有大学的、有工作多年的成员,有水平比较高的,有水平比较不高的,但是我们都欢迎愿意加入的你。

【加入开发需要的技能要求】

         只需要对C语言熟悉就可以,当然不熟悉也可以,当前开发只用到C语言,未使用汇编

         当前开发流程:编码、编译、把二进制*.efi拷贝到U盘,把U盘插入笔记本USB接口,开机,运行*.efi,就显示成【运行效果展示】的效果。

【运行效果展示】

        当前桌面是一个显示图层(每个图层都有一个唯一编号):图层最下边是一张珠峰图片,格式是BMP格式,然后在左上角显示了三张小的图片,我的电脑、系统设置、回收站,不过下边的汉字还未调整正确,

       在桌面图层左下边第一行显示了鼠标当前的x轴、y轴坐标,以及x轴、y轴动态移动的变化量;在第二行显示了当前鼠标光标位置所对应的图层(Graphics Layer id),这个参数很重要,其他参数不太重要;在第三行和第四行显示了操作系统时间片计数,第五行显示了进程通信使用buffer的内容,第六行未显示的是键盘输入(这里还有点性能问题);第八行显示的屏幕水平、垂直分辨率;

        在桌面左下边再下边是菜单按钮,如果点击的话会显示菜单,包含(我的电脑、内存使用信息、系统日志、系统设置、系统退出),分别点击这几个菜单可以进入相应 的功能,其中我的电脑、内存使用信息、系统日志点击会弹出窗口,系统设置当前只支持把桌面背景置灰或者还原成珠峰图片背景,系统退出则会有点点小动画,然后关机。左下边还有三个按钮图标,暂时未使用

        在桌面的右下角显示当前的年、月、日、时、分、秒,还有星期几信息

        以上是桌面图层。

        接下来有启动菜单图层,不过未显示出来;

        然后桌面中间有三个图层:

        我的电脑窗口(桌面显示的左边):我的电脑里边显示了系统分区信息、分区名称(当前只支持FAT32名称读取,NTFS的暂不支持,开发已经完成还在调试中),每个分区的大小,在下边是显示一个FAT32文件系统分区,可以进入目录,可以进入子目录,也可以查看文件内容,不过当前只能显示成十六进制,注:我的电脑显示的内存信息并不准确。在我的电脑窗口右下角有个比较黑的块,实际上它是我们系统鼠标的光标。

        内存信息窗口(桌面显示的中间):显示了通过我们自己定义内存分配接口分配使用的内存信息汇总,当前内存分配是基于4K为粒度分配,不过还不支持单进程使用不同内存信息,当前对EDK2代码了解还不是很深入,还需要进一步学习并完善代码。

         系统日志窗口(桌面显示的右边):显示我们运行的日志,其实开始实现代码的时候日志都是直接打印在桌面的,后边使用单独的窗口显示出来的,最前面4位是所在的代码行,后边是一些字符信息。

          下边这张图是两台电脑之间可以通过TCP进行数据收发测试成功,测试时间:2021年12月25日。

另外笔者基于Docker搭建 Ubuntu20.10下的编译环境,并且测试成功,下载地址:

Docker Ubuntu20.10 image下载地址
链接:https://pan.baidu.com/s/1Q_YjAoCQmXKGfF1Jzjt6lw 
提取码:aawf

【代码配套信息】

        基于UEFI的edk2代码,基于稳定标签:stable202105-base拉的开发分支,项目配套代码地址:

         https://gitee.com/dream-os/edk22/tree/edk2-stable202105-base 


【代码信息】

         代码目录:

edk22: 类操作系统源码https://gitee.com/dream-os/edk22/tree/Split

          

【系统运行演示视频】

        类操作系统实现-当前可以读取FAT32系统格式目录和文件内容_哔哩哔哩_bilibili

        类操作系统-两台PC机之间TCP通信测试成功_哔哩哔哩_bilibili

        注意:

        1、只支持在笔记本或PC机运行,不支持在模拟器运行,当然可能还存在一些兼容性问题。

        2、只支持基于UEFI的系统运行,不支持BIOS的系统运行。

【编译环境信息】

基于Ubuntu20.10编译,当前编译出来的efi文件大小:239K,当前增量编译大概需要20秒。


【当前开发状态】

已实现的功能列表:
1、当前支持对FAT32文件系统格式目录和文件读取;
2、支持桌面多图层、多窗口;
3、支持多窗口移动;
4、支持关机动画;
5、支持时间日期显示;
6、支持多任务;
7、支持任务的优先级;
8、支持中文/英文字符;
9、NTFS只能显示根目录文件列表;

10、基于TCP与另一台电脑进行数据传输;

当前正在开发:
1、基于本系统实现应用代替Linux内核的中断;
2、等等

当前问题列表:
1、【问题】支持鼠标、键盘输入;不过还有点性能问题;
2、【问题】图层处理也有点性能问题
3、【问题】鼠标移动,移动到窗口最左边会跑到窗口最右边
4、【问题】当前菜单部分,显示设置的时候有BUG
5、【问题】当前我的电脑窗口状态机还有点问题,只能访问一次我的电脑
6、等等

待开发:
1、桌面显示效果优化
2、
3、等等

【代码查看&代码编写工具】

SourceInsight4.0,SourceInsight3.5的BUG比较多,4.0版本修复了不少问题,是一个看代码的神器。

【欢迎加入~~】

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值