2 Star 9 Fork 3

zzhicanfly / juner_os

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

juner_os

juner_os

English

简介

这个项目结合了blog_osmal两个项目的内容。
现在实现了一个可以运行交互的 lisp shell.后续目标是使用 lisp 和 rust 混合的方式组织操作系统的代码。并而核心库准备使用 lisp 进行加载和维护。项目进行中。

特性

  • rust 实现的内核
  • LISP REPL
  • 支持了 load-file 方法,可以在内核加载后加载 mal 文件
  • 现在代码可以写在 user 文件夹下。在内核启动后的 repl 中可以使用 laod-file 方法进行加载。
  • 内核加载后会加载entry.jaml作为入口文件
  • lisp 方言的扩展名为jmal(Juner-os's Make A Lisp!)
  • 支持ps2鼠标。打开kernel/src/board/mouse.rs中的注释即可。

依赖

  • rustc 1.48.0-nightly
  • qemu

运行

make all

Lisp 的语法:

梦想清单

  • VGA text mode 下显示打印
    • 光标跟随
    • 删除
    • 代码提示 Tab
    • 光标移动编辑
    • 滚动条
  • Lisp 完整功能
    • 支持宏
    • 支持代码提示
    • sacnf 方法
    • 文件读写
    • 模块加载
    • JIT
    • 支持 call/cc
  • 设备
    • 识别硬盘 (ahci 使用 rcore-fuse)
    • 声音驱动
    • 网卡支持
  • 抽象的功能
    • UEFI 支持
    • 并行多任务
    • 支持 GUI
    • 网络加载 lisp 模块
    • 多核心利用
    • 自举(支持 rust 环境)
  • 梦中的 app
    • MAL 这个方言的编辑器
    • NoteBook
    • mal 的 vscode 编辑器插件

现在的工作和目标

目前来说实现的功能还很初步,lisp 内有没有实现的机制,内核里有要实现的内容。现在在研究使用 UEFI 进行引导,让系统可以读写文件,并在 lisp 内运行。后面 uefi 的分支会合并到主分支上,并且作为主流。

load-file 已经基本实现了。现在有两个方向可以做。~~一个是写一个 vscode 的 mal 语言的插件(当然要单独项目开发)。~~还有一个是写一个简单的编辑器,实现一个类似 freeze 的方法。让当前在内核运行的方法写到磁盘文件中,再用脚本反向保存出来。

期待你加入并完善这个项目

联系我: zzhggmm@gmail.com

感谢

空文件

简介

这个项目结合了blog_os和mal两个项目的内容。 现在实现了一个可以运行交互的lisp shell.后续目标是使用lisp和rust混合的方式组织操作系统的代码。并而核心库准备使用lisp进行加载和维护。项目进行中。 展开 收起
Rust 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Rust
1
https://gitee.com/zzhicanfly/juner_os.git
git@gitee.com:zzhicanfly/juner_os.git
zzhicanfly
juner_os
juner_os
master

搜索帮助