logo资料库

操作系统实验报告.doc

第1页 / 共56页
第2页 / 共56页
第3页 / 共56页
第4页 / 共56页
第5页 / 共56页
第6页 / 共56页
第7页 / 共56页
第8页 / 共56页
资料共56页,剩余部分请下载后查看
1( 马上动手写一个最小的“操作系统”
1.1(实验内容及上机实验所用平台
1.1.1 □实验内容
1.1.2 (实验所用平台
1.2□数据结构及代码段分析
1.3(调试过程
1.4(实验结果
2(搭建你的工作环境
2.1(实验内容及上机实验所用平台
2.1.1 □实验内容
2.1.2 (实验所用平台
2.2□数据结构及代码段分析
2.3(调试过程
2.4(实验结果
3(保护模式
3.1(实验内容及上机实验所用平台
3.1.1 □实验内容
3.1.2 (实验所用平台
3.3(调试过程
3.4(实验结果
3.2□数据结构及代码段分析
4(让操作系统走进保护模式
4.1(实验内容及上机实验所用平台
4.1.1 □实验内容
4.1.2 (实验所用平台
4.2□数据结构及代码段分析
4.3(调试过程
4.4(实验结果
5(内核雏形
5.1(实验内容及上机实验所用平台
5.1.1 □实验内容
5.1.2 (实验所用平台
5.2□数据结构及代码段分析
5.3(调试过程
5.4(实验结果
6(进程
6.1(实验内容及上机实验所用平台
6.1.1 □实验内容
6.1.2 (实验所用平台
6.2□数据结构及代码段分析
6.3(调试过程
6.4(实验结果
7(输入/输出系统
7.1(实验内容及上机实验所用平台
7.1.1 □实验内容
7.1.2 (实验所用平台
7.2□数据结构及代码段分析
7.3(调试过程
7.4(实验结果
8(总结
8.1(实验中遇到的问题及解决方法
8.2(实验体会和收获
参考文献
教师评语评分
武汉大学计算机学院 本科生实验报告 操作系统设计与实现 专 业 名 称 :计算机科学与技术 课 程 名 称 :操作系统设计 指 导 教 师 : 学 生 学 号 : 学 生 姓 名 : 二○二○年七月
郑 重 声 明 本人呈交的实验报告,是在指导老师的指导下,独立进行实验工 作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中 已经注明引用的内容外,本实验报告不包含他人享有著作权的内容。 对本实验报告做出贡献的其他个人和集体,均已在文中以明确的方式 标明。本实验报告的知识产权归属于培养单位。 本人签名: 日期:
摘要 操作系统实验的实验目的是实现一个简单的操作系统。 实验设计主要遵循操作系统的实现、编译原理。 实验内容主要包括:《ORANGE’S:一个操作系统的实现》前 7 章 实验结论为成功实现操作系统前 7 章代码 关键词:操作系统;汇编语言;bochs
目录 1 马上动手写一个最小的“操作系统” ..................... 6 1.1实验内容及上机实验所用平台 ................................. 6 1.1.1 □实验内容 .......................................... 6 1.1.2 实验所用平台 ...................................... 6 1.2□数据结构及代码段分析 ....................................... 7 1.3调试过程 ................................................... 8 1.4实验结果 ................................................... 9 2搭建你的工作环境 ............................................ 10 2.1实验内容及上机实验所用平台 ................................ 10 2.1.1 □实验内容 ......................................... 10 2.1.2 实验所用平台 ..................................... 10 2.2□数据结构及代码段分析 ...................................... 11 2.3调试过程 .................................................. 11 2.4实验结果 .................................................. 13 3保护模式 ......................................................13 3.1实验内容及上机实验所用平台 ................................ 13 3.1.1 □实验内容 ......................................... 13 3.1.2 实验所用平台 ..................................... 13 3.2□数据结构及代码段分析 ...................................... 17 3.3调试过程 .................................................. 14 3.4实验结果 .................................................. 15 4让操作系统走进保护模式 ..................................... 17 4.1实验内容及上机实验所用平台 ................................ 24 4.1.1 □实验内容 ......................................... 24 4.1.2 实验所用平台 ..................................... 24 4.2□数据结构及代码段分析 ...................................... 25 4.3调试过程 .................................................. 32 4.4实验结果 .................................................. 33 5内核雏形 ......................................................35 5.1实验内容及上机实验所用平台 ................................ 35 5.1.1 □实验内容 ......................................... 35 5.1.2 实验所用平台 ..................................... 35 5.2□数据结构及代码段分析 ...................................... 36 5.3调试过程 .................................................. 42 5.4实验结果 .................................................. 43
6进程 .......................................................... 44 6.1实验内容及上机实验所用平台 ................................ 44 6.1.1 □实验内容 ......................................... 44 6.1.2 实验所用平台 ..................................... 44 6.2□数据结构及代码段分析 ...................................... 45 6.3调试过程 .................................................. 47 6.4实验结果 .................................................. 48 7输入/输出系统 ................................................ 50 7.1实验内容及上机实验所用平台 ................................ 50 7.1.1 □实验内容 ......................................... 50 7.1.2 实验所用平台 ..................................... 50 7.2□数据结构及代码段分析 ...................................... 51 7.3调试过程 .................................................. 52 7.4实验结果 .................................................. 52 8总结 .......................................................... 54 8.1实验中遇到的问题及解决方法 ................................ 54 8.2实验体会和收获 ............................................ 54 参考文献 ......................................................... 55 教师评语评分 .................................................... 56
1 马上动手写一个最小的“操作系统” 1.1实验内容及上机实验所用平台 1.1.1 □实验内容 动手写一个最小的操作系统,得到一个易于执行和调试的引导扇区,可以直 接在裸机上运行。 1.1.2 实验所用平台 (1)VirtualBox VirtualBox 是一款简单易用还免费的开源虚拟机,VirtualBox 软件体积小 巧,使用时不会占用太多内存,操作简单,用户可以轻松创建虚拟机。不仅如此 VirtualBox 功能也很实用,支持虚拟机克隆,支持 Direct3D 等,为用户带来快 速便捷的使用体验。 (2)Ubuntu Ubuntu 是一个以桌面应用为主的 Linux 操作系统。.Ubuntu 基于 Debian 发 行版和 GNOME 桌面环境,而从 11.04 版起,Ubuntu 发行版放弃了 Gnome 桌面环 境,改为 Unity,与 Debian 的不同在于它每 6 个月会发布一个新版本。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建 而成的操作系统。Ubuntu 具有庞大的社区力量,用户可以方便地从社区获得帮 助。2013 年 1 月 3 日,Ubuntu 正式发布面向智能手机的移动操作系统。 (3)Bochs Bochs 是一个 x86 硬件平台的开源模拟器。它可以模拟各种硬件的配置。 Bochs 模拟的是整个 PC 平台,包括 I/O 设备、内存和 BIOS。更为有趣的是,甚 至可以不使用 PC 硬件来运行 Bochs。事实上,它可以在任何编译运行 Bochs 的 平台上模拟 x86 硬件。通过改变配置,可以指定使用的 CPU(386、486 或者 586), 以及内存大小等。一句话,Bochs 是电脑里的"PC"。根据需要,Bochs 还可以模 拟多台 PC,此外,它甚至还有自己的电源按钮。
1.2□数据结构及代码段分析 a): 文件:boot.asm (1)主要数据结构: 常量 BootMessage BootMessage: db "Hello, OS world!" (2)代码段分析: 主要代码结构: 代码主体框架 DispStr 函数 代码主体框架: 告诉编译器程序加载到 07c00 处 使 ds 和 es 两个段寄存器指向与 cs 相同的段 调用 DispStr 子程序显示字符串 无限循环 DispStr 子程序: 设置 ES:BP = 串地址 设置 CX = 串长度 设置 AH = 13, AL = 01h 设置页号为 0(BH = 0) 黑底红字(BL = 0Ch,高亮) 10h 号中断 b): 文件:boot.asm (1)主要数据结构: 常量 BootMessage BootMessage: db "Hello, OS world!" (2)代码段分析:
主要代码结构: 代码主体框架 DispStr 函数 代码主体框架: 预编译宏 使 ds 和 es 两个段寄存器指向与 cs 相同的段 调用 DispStr 子程序显示字符串 无限循环 DispStr 子程序: 设置 ES:BP = 串地址 设置 CX = 串长度 设置 AH = 13, AL = 01h 设置页号为 0(BH = 0) 黑底红字(BL = 0Ch,高亮) 10h 号中断 1.3调试过程 (1)修改 bochsrc romimage: file=/usr/share/bochs/BIOS-bochs-latest vgaromimage: /usr/share/vgabios/vgabios.bin 改为: romimage: file=/usr/local/share/bochs/BIOS-bochs-latest vgaromimage:file=/usr/local/share/bochs/VGABIOS-lgpl-latest keyboard_mapping:enabled=1,map=/usr/share/bochs/keymaps/x11-pc-us. map 改为: keyboard:keymap=/usr/local/share/bochs/keymaps/x11-pc-us.map (2)打开终端,进入当前文件夹,在终端输入:
分享到:
收藏