# lab1 **Repository Path**: Deep_Kevin/lab1 ## Basic Information - **Project Name**: lab1 - **Description**: 操作系统第一次实验 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 81 - **Created**: 2024-03-03 - **Last Updated**: 2024-03-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OS2024-Lab1 ### 介绍 2024学年春季学期 操作系统原理实验课程 实验一 ### 开发环境及工具 - Ubuntu - qemu - gdb - Busybox ### 实验要求 1. 独立完成实验5个部份环境配置、编译Linux内核、Qemu启动内核并开启远程调试、制作Initramfs和编译并启动Busybox。 2. 编写实验报告、结合实验过程来谈谈你完成实验的思路和结果,最后需要提供实验的5个部份的程序运行截屏来证明你完成了实验。 3. 实验不限语言, C/C++/Rust都可以。 4. 实验不限平台, Windows、Linux和MacOS等都可以。 5. 实验不限CPU, ARM/Intel/Risc-V都可以。 ### 实验概述 1. 搭建OS内核开发环境包括:代码编辑环境、编译环境、运行环境、调试环境等。 2. 下载并编译i386(32位)内核,并利用qemu启动内核。 3. 熟悉制作initramfs的方法。 4. 编写简单应用程序随内核启动运行。 5. 编译i386版本的Busybox,随内核启动,构建简单的OS。 6. 开启远程调试功能,进行调试跟踪代码运行。 7. 撰写实验报告。 ### 实验教程 见链接:https://gitee.com/guifeng/sysu-2021-spring-operating-system/tree/main/lab1 ### 验收要点 1. 启动内核并在gdb中输出`lab1: Hello World\n`或其他字符串 2. 编译启动Busybox,能够通过`ls`命令查看当前文件夹 **【TA check】** 3 月 11 日实验课或提前 **【DEADLINE】** 3 月 17 日 23:59 ### 提交内容 1. 实验报告:markdown 格式和 PDF 格式。模版见 report.md 文件。 2. 源代码文件及可执行代码程序文件 3. (若有)测试输入数据文件和输出数据文件 4. 实验截图,可以在实验报告中展示 5. 虚拟机映像文件 **【PS】** 1. 一系列基础实验项目必须连续完成,当前项目只能在前一个项目的基础上进行,体现出前后的进化关系,否则要被约谈,证明没有抄袭行为! 2. 一个项目可提交多个改进的版本,实现新功能和个性化特征都有利于提高相应项目的成绩。在教程基础上,升级更新、拓展优化报告、代码质量高,在报告里突出创新点。 ### 提交要求及命名格式 **【提交路径】** 1. `/homework`文件夹内建本人个人目录 2. `/homework/<个人目录>/src `文件夹内存放代码等文件 3. `/homework/<个人目录>/report` 存放实验报告,建议把实验报告中的图片文件,保存在/homework/<个人目录>/report/img/目录下 **【个人项目提交方式】** - 布置的个人项目先 **fork** 到个人仓库下; - **clone** 自己仓库的个人项目到本地目录; - 在`/homework`目录下,新建个人目录,目录名为“学号+姓名”,例如“12345678WangXiaoMing”,在个人目录中,新建文件夹`src`和`report`。 - 在 `/homework/12345678WangXiaoMing/src`目录下,保存**项目相关文件,如代码、可执行文件等**,按要求完成作业; - **实验报告(markdown格式),实验结果截图**,保存在`/homework/12345678WangXiaoMing/report`目录下; - 完成任务需求后,**Pull Request回主项目的master分支**,PR标题为“学号+姓名”, 如“12345678王小明”; - **一定要在deadline前PR**。因为批改后,PR将合并到主项目,所有同学都能看到合并的结果,所以此时是不允许再PR提交作业的。 **【PS】**clone项目后,不能删除或修改项目原有的所有目录和文件,否则PR项目会出错。