littlebot
Published on 2025-04-13 / 0 Visits
0

【源码】基于C语言和uCore操作系统的简单shell移植项目

项目简介

本项目是一个基于C语言和uCore操作系统的简单shell移植项目,适配了LoongArch 32架构,解决了与MIPS架构在跳转指令、寄存器等方面的差异。同时提供了简单shell程序,具备命令行输入解析、文件操作、进程控制等功能。

项目的主要特性和功能

移植部分

  • 适配LoongArch 32架构,解决了与MIPS架构在跳转指令、寄存器、例外处理、存储空间管理等方面的差异。
  • 提供Docker镜像用于快速搭建编译环境。
  • 支持编译、运行和调试内核的操作。

简单shell程序部分

  • 支持命令行输入与解析,能根据输入调用相应系统调用或内部函数执行命令。
  • 可进行文件的基本操作,如读取、写入、获取状态等。
  • 提供进程控制功能,包括创建子进程、等待子进程结束、杀死进程等。
  • 具备错误处理和警告机制,能输出相应信息。
  • 提供交互式界面,允许用户持续输入命令并获取反馈。

安装使用步骤

移植项目部分

  1. 下载本项目的源码文件。
  2. 准备编译环境:使用docker pull chenyy/la32r-env安装Docker镜像,并在该容器内完成编译。
  3. 编译内核:在容器内执行make命令。
  4. 运行内核:执行make qemu命令。
  5. 调试内核:一个终端执行make debug,另一个终端执行make gdb

简单shell程序部分

  1. 下载本项目的源码文件。
  2. 编译:使用uCore提供的编译器和工具链进行编译。
  3. 运行:在uCore操作系统环境下运行生成的可执行文件。
  4. 输入命令:在交互式界面中输入命令,如"ls"、"cd"、"echo"等。
  5. 查看结果:根据命令的执行结果,查看文件列表、目录内容、输出信息等。

真实硬件运行注意事项

如果硬件未保证I - D Cache一致性,需要正确实现CACOP指令,并修改kern/include/loongarch.h中的缓存行大小宏定义。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】