# os_elephant **Repository Path**: wqkuang/os_elephant ## Basic Information - **Project Name**: os_elephant - **Description**: 《操作系统真象还原》对应代码。来自 https://gitee.com/youyifeng/os-elephant - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 2 - **Created**: 2024-03-29 - **Last Updated**: 2025-11-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # os_elephant ## 介绍 《操作系统真象还原》对应代码。来自[游益锋的仓库](https://gitee.com/youyifeng/os-elephant)。 个人遇到的问题和解决方法详见 [note.md](./note.md) (三)调试记录 ## 软件架构 软件架构说明 |文件(夹) | 说明 | |:---|---| |c01 | 部署工作环境 | |c02 | 编写MBR (Main Boot Record) | |c03 | 完善MBR | |c04 | 保护模式入门:构建全局描述符表GDT(实现内存分段) | |c05 | 保护模式进阶:内存分页(实现虚拟内存),建立内核 main() 函数| |c06 | 完善内核 (汇编实现打印函数) | |c07 | 中断:中断描述符表IDT, 中断控制器8259A,定时器8253 | |c08 | 内存管理系统 | |c09 | 线程 | |c10 | 输入输出系统: 锁, 键盘 | |c11 | 进程 | |c12 | 完善内核:实现系统调用getpid()、 printf() 、 malloc() | |c13 | 硬盘驱动 | |c14 | 文件系统:文件创建、开关、读写(更新printf)、删。目录的创建、遍历、删除| |c15 | 系统交互:简单的 shell | |Makefile | 只实现了 make clean 功能 | |iconv_utf8.sh |将某路径下编码是GB2312的文件转换成 UTF-8 编码。 | |install_env.sh|一键安装开发环境。| |page_table.py |用来打印 页表,便于做笔记分析。| |note.md |学习笔记。| ## 安装教程 1. cd os_elephant 2. ./install_env.sh ## 使用说明 1. 确保 install_env.sh 执行正确。 2. 进入各目录编译(make all 或 ./gen.sh)、运行(./run.sh) 3. command中有应用层的代码,用 ./compile.sh 编译 ## 注意 ### 如果 bochs 启动后弹出 不能打开硬盘文件 出现该弹窗可能有如下情况: - 没有 \*.img 文件 - 生成了 \*.img.lock 文件 一定要删除 \*.img.lock ### 如果 bochs 启动后弹出 doesn't fit on disk image 出现该弹窗是因为 创建硬盘文件太小了,我把硬盘大小设置为3MB就不会出现该弹窗。 - 你也可以不用理会,点击 Continue , 然后在命令行输入c,回车继续执行。 - 如果你点击了 Quit , 将会终止程序,并生成 \*.img.lock 文件。 ## TODO 创建文件 重定向到文件 > 和 >> 线程优先级的实现