跳转至

OS-APP 简介

OS-APP 是移植自多个开源库中的应用程序和用户运行库,其中包括南京大学开发的菜单、命令行、来自 GitHub 大神的 Bird 游戏、来自 Linux 的 libc 库等。这些应用程序和库都是基于 C 语言开发的,因此可以在我们的处理器上运行。

1 目录结构

OS-APP 的目录结构如下:

.
├── apps
   ├── bird
   ├── menu
   ├── nslider
   ├── nterm
├── fsimg
   ├── bin
   └── share
├── libs
   ├── compiler-rt
   ├── libSDL
   ├── libSDL_image
   ├── libSDL_mixer
   ├── libSDL_ttf
   ├── libbdf
   ├── libbmp
   ├── libc
   ├── libfixedptc
   ├── libminiSDL
   ├── libndl
   ├── libos
   └── libvorbis
├── scripts
└── tests
    ├── bmp-test
    ├── cpp-test
    ├── dummy
    ├── event-test
    ├── exec-test
    ├── file-test
    ├── hello
    └── timer-test
  • apps:应用程序,包括菜单、命令行、bird 游戏等;
  • fsimg:文件系统镜像,其中存储了编译好的二进制文件和资源文件;
  • libs:用户运行库,包括 libc, libSDL 等;
  • tests:测试程序,用于测试用户运行库的正确性。

2 应用程序展示

2.1 menu

一个简单的菜单程序,按对应的数字就可以运行对应的应用程序: image-20230907141724447

2.2 nterm

命令行程序,可以在其中执行命令,命令规则基本与 Linux 相同: image-20230907143200101

2.3 nslider

幻灯片程序,可以在其中浏览幻灯片:

image-20230907143342224

幻灯片图片存储在 fsimg/share 目录下。

如果你想制作自己的幻灯片,只需要把 PDF 格式的幻灯片放在 nslider/slides 目录下,然后运行 covert.sh 脚本,就可以生成对应的图片文件。请注意,幻灯片的页数不宜过多,否则 ramdisk.img 会过大。

2.4 bird

一个小游戏,可以通过空格键控制小鸟的飞行,避开障碍物:

image-20230907143719657

游戏资源存储在 fsimg/share 目录下。

这个游戏前期加载资源较多,因此启动需要一定的时间,请耐心等待。

3 应用程序开发

这里的应用程序都是基于 C 语言开发的,其使用的库函数都与我们日常编写 C 语言程序一致,同时也支持基础的 C++ 语法。大家如果想要开发自己的应用程序,请注意以下几点:

  1. 程序不宜过大,ramdisk.img 不能超过 20M;
  2. 程序调用的库必须和 OS-APP 中提供的库一致,否则会出现链接错误。