操作系统课程设计报告题 目:Geekos 操作系统的讨论与实现 专业:学号:学生:指导老师:2024 年 3 月 16 日目录一、 实验目的 2二、 项目设计要求 3三、 开发环境的建立 41. 开发环境的介绍 42. 开发环境的构建 4四、 项目设计原理 5五、 项目设计的实现 61. Project0 项目的具体实现 62. Project1 项目的具体实现 83. Project2 项目的具体实现 9六、 系统编译运行的结果 20七、 遇到的问题和解决方法 23八、 课程设计总结 24一、实验目的1.Project0:熟悉 GeekOS 的项目编译、调试和运行环境,掌握 GeekOS 运行工作过程
2.Project1:熟悉 ELF 文件格式,了解 GeekOS 系统如何将 ELF 格式的可执行程序装入到存,建立核进程并运行的实现技术
3.Project2:扩充 GeekOS 操作系统核,使得系统能够支持用户级进程的动态创建和执行
二、项目设计要求1.Project0(1)搭建 GeekOS 的编译和调试平台,掌握 GeekOS 的核进程工作原理
(2)熟悉键盘操作函数,编程实现一个核进程
该进程的功能是:接收键盘输入的字符并显示到屏幕上,当输入 ctrl+d 时,结束进程的运行
2.Project1(1)修改/geekos/elf
c 文件:在函数 Parse_ELF_Executable( )中添加代码,分析 ELF 格式的可执行文件(包括分析得出 ELF 文件头、程序头,猎取可执行文件长度,代码段、数据段等信息),并填充 Exe_Format 数据结构中的域值
(2)在 Linux 环境下编译系统得到 GeekOS 镜像文件
(3)编写一个相应的 bochs 配置文件
(4)在 bochs 中运行 GeekOS 系统显示结果
3.Project2:要求用户对以下