“操作系统实验”实验报告

基于内核栈切换的进程切换

南通大学信息科学技术学院

实验名称: 操作系统的引导 实验日期: 2020 年 5 月 25 日 班级: 物联网183 姓名:朱文杰 学号: 1813061079

一、实验预习报告 1、实验相关知识的简述: 了解到了什么是图灵机,初步了解了计算机从开机开始的各条指令,包括bootset、jmpi setup模块等等,讲解了什么是保护模式等等 2、实验原理的预习情况: 基本掌握了这次实验的相关知识 3、实验注意事项: 这次实验有上次实验是有关联的 预习完成情况: 教师签名: 日 期:

二、实验报告 1、实验目的与要求: 熟悉 hit-oslab 实验环境; 建立对操作系统引导过程的深入认识; 掌握操作系统的基本开发过程; 能对操作系统代码进行简单的控制,揭开操作系统的神秘面纱。

2、实验仪器或材料: 硬件环境是 IA-32(x86) 架构的 PC 机(在实验楼的环境中就是右侧的窗口),主要软件环境是 Bochs + gcc + 你最喜欢的编辑器 / IDE + 你最喜欢的操作系统 + Linux 0.11 源代码 3、实验原理: 改写 bootsect.s 主要完成如下功能: 1.bootsect.s 能在屏幕上打印一段提示信息“XXX is booting...”,其中 XXX 是你给自己的操作系统起的名字,例如 LZJos、Sunix 等(可以上论坛上秀秀谁的 OS 名字最帅,也可以显示一个特色 logo,以表示自己操作系统的与众不同。) 改写 setup.s 主要完成如下功能: 1.bootsect.s 能完成 setup.s 的载入,并跳转到 setup.s 开始地址执行。而 setup.s 向屏幕输出一行"Now we are in SETUP"。 2.setup.s 能获取至少一个基本的硬件参数(如内存参数、显卡参数、硬盘参数等),将其存放在内存的特定地址,并输出到屏幕上。 3.setup.s 不再加载 Linux 内核,保持上述信息显示在屏幕上即可。

4、实验过程及数据记录: 首先搭建环境解压文件

image.png

完成 bootsect.s 的屏幕输出功能

image.png

编译和运行

image.png

image.png

从bootsect.s读入setup.s

image.png

再次编译后修改bulid.c

image.png

setup.s 获取基本硬件参数(部分代码)

image.png

image.png

显示

image.png

5、实验结果分析: 最终的显示结果与实验所给一至 三、实验总结 实验中遇到了很多困难,尤其是在编写bootsect.s和setup.s的时候,但最终还是成功做出了来了 四、评阅结果 1、实验完成情况: 2、报告完成情况: 教师签名: 日 期:

最新评论
暂无评论~