临时操作系统
临时版本 ------- Interim OS 是一款以极简主义为重点的全新操作系统,它从 Lisp 机器(基于语言的内核)和 Plan 9(一切都是文件系统)中借鉴了概念。它启动时会进入一个 JITting 的类似 Lisp 的 REPL,并将系统资源作为文件系统提供给程序员/用户。Interim 在以下平台上运行: - Raspberry Pi 2(Broadcom VideoCore4/ARMv7, 光核) - ARM5+ Linux(托管) - Intel/AMD x64 Linux, Mac OS X(托管) - Intel/AMD x86 Linux, Windows(托管, win32 .exe 从 Linux 编译) - Motorola 68020+ Amiga OS 3.x+ (托管) 详细文档请参阅 docs/index.html。联系/常见问题/参与开发 ---------------------------- 用于开发和使用问题的官方 IRC 频道是 #interim 在 irc.libera.chat。如果您发现了错误,请在 GitHub 问题跟踪器中提交问题。架构 ------------ - 第 2 层: 位图终端/编辑器 - 第 1 层: Sledge Lisp JIT 编译器 - 第 0 层: 平台接口(启动代码和文件系统) 设计选择 -------------- - 命令行是编辑器是 REPL 是语言是编译器。 - 命名空间允许沙箱化和网络透明。 - 您只需要一个文本编码: UTF-8。 - 所有功能都必须通过键盘进行导航。构建 -------- 1. 获取依赖项。对于托管版本,这仅是 GCC 和 SDL1 或 SDL2,如果您想要窗口图形。Sledge 也可以使用 /dev/fb0 代替,如果您的平台上有此选项。如果您想为 ARM 平台进行交叉编译,请获取 arm-none-eabi-gcc 和 libnewlib-arm-none-eabi。 1b. 对于 Mac OS X 的托管版本,您需要 GNU binutils,可以通过 homebrew 获得: brew install binutils。您也可以通过 homebrew 获得 SDL2。 2. 要构建托管版本,请进入 sledge 并运行 ./buildx64.sh。 3. 要为光核进行交叉编译,请使用 ./rpi2-build.sh。这将创建 build/interim-arm.elf。运行(托管) -------------------- cd sledge ./sledge 要启动图形化 REPL/命令行: ./sledge 使用 USB 线缆连接到另一台计算机,并使用它来控制 Interim。路线图 ------- - IEEE 754 双精度浮点数。 - 向量。 - 基于现有 sdhash 的本地字符串映射(字典)。 - 从 JavaScript 到 Interim Lisp 编译器…
暂无开放 Issues,或尚未同步最近议题。