学习
课程
在线编程,提高编码技能
题库
梯度刷题,剑指大厂OFFER
图书
系统学习,构建知识图谱
项目库
积累高价值项目经验
竞赛
PK挑战,综合评测个人能力
蓝桥杯
赛事专区
关于大赛
大赛通知
大赛章程
比赛赛规
竞赛科目
比赛大纲
获奖名单
赛点名单
历届真题
备赛专区
16届
设计赛
NEW
学习资料
资料文档
备赛系统
获奖证书查询
大赛回顾
联系我们
我是院校
我是学生
求职辅导
考证
蓝桥工程实践能力考试(LEAT)
企业认可的求职强力背书
1+X 证书
教育部认证的等级证书
工信人才岗位能力认证证书
蓝桥杯获奖选手免考自愿申领
蓝桥工业和信息化人才培养项目
培训合格后可申领LEAT培训证书
⽀持蓝桥业务各类
证书的查询、验证
证书查询
讨论区
校企版
院校在线实训平台
赋能教师开设在线实战课
企业版 SaaS
赋能企业提升 IT 实战能力
登录
注册
红芋
L16
2022-05-24 14:53:28
操作系统的引导
87
0
“操作系统实验”实验报告
操作系统的引导
实验名称:操作系统的引导
班级:软嵌202
姓名:张成昱
学号:2030110783
日期:3.12
实验目的
熟悉 hit-oslab 实验环境;
建立对操作系统引导过程的深入认识;
掌握操作系统的基本开发过程;
能对操作系统代码进行简单的控制,揭开操作系统的神秘面纱。
实验内容
阅读《Linux 内核完全注释》的第 6 章,对计算机和 Linux 0.11 的引导过程进行初步的了解;
改写 bootsect.s 主要完成如下功能:
bootsect.s 能在屏幕上打印一段提示信息“XXX is booting...”,其中 XXX 是你给自己的操作系统起的名字,例如 LZJos、Sunix 等。
改写 setup.s 主要完成如下功能:
bootsect.s 能完成 setup.s 的载入,并跳转到 setup.s 开始地址执行。而 setup.s 向屏幕输出一行"Now we are in SETUP"。
setup.s 能获取至少一个基本的硬件参数(如内存参数、显卡参数、硬盘参数等),将其存放在内存的特定地址,并输出到屏幕上。
setup.s 不再加载 Linux 内核,保持上述信息显示在屏幕上即可。
实验过程
先将hit-oslab解压到 /home/shiyanlou/oslab/ 中
编写bootsect.s 完成bootsect.s的屏幕输出功能。将完成屏幕显示的代码在开发环境中编译,并将编译后的目标文件做成 Image 文件。将 .org 508 修改为 .org 510,为了保证 boot_flag 一定在最后两个字节,修改 .org
执行下面两个命令编译和链接 bootsect.s
用以下命令生成的 Image 就是去掉文件头的 bootsect
将刚刚生成的 Image 复制到 linux-0.11 目录下并执行 oslab 目录中的 run 脚本
编写一个 setup.s,然后将其中的显示的信息改为:“Now we are in SETUP”。
编写 bootsect.s 中载入 setup.s 的关键代码
使用make BootImage再次编译,发现提示错误
接下来修改build.c,注释掉以下内容以解决问题
最后再次重新编译并运行,成功!
0
请
登录
后发表评论
最新评论
暂无评论~
实验数据
学习时间
125分钟
操作时间
69分钟
按键次数
3334次
实验次数
10次
报告字数
2004字
是否完成
完成
评分
未评分
下一篇
上一篇
相关报告
clone from 操作系统实验: 熟悉实验环境 实验报告
clone from 操作系统实验: 熟悉实验环境 实验报告
clone from 操作系统实验: 熟悉实验环境 实验报告
clone from 操作系统实验: 熟悉实验环境 实验报告
clone from 操作系统实验: 熟悉实验环境 实验报告