Skip to content
This repository has been archived by the owner on Dec 14, 2023. It is now read-only.

zymelaii/nwpu-os-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nwpu-os-lab

NWPU 2023 OS 试点班私人实验材料

lab3

就完成任务所需要的改动的代码量来说,本次实验不算难。由于本身汇编的可读性会差一点,所以本人在对源码进行翻篇重写的过程中碰到了几个严重的容易忽视的问题,导致进度被严重拖慢。

以下:

  1. 写 mbr 和 boot 不要太飘,不要太看重函数编写的规范性,这不是在写 C,而是引导程序,程序大小是有限制的!再者为了完成实验内容还需要加一些对引导没有任何用处的输出过程,故而且务必竭尽所能压缩你的代码长度,方法包括但不限于寄存器复用、不保留调用现场、栈上空间替代预留数据段、指令合并及重排序、使用循环、针对情景酌情使用危险操作、指令拷贝。
  2. 小心你的中断调用,注意每个入参的寄存器值都被正确赋值(包括清零)。
  3. 小心你的访存地址,尤其注意你的段地址被正确赋值(主要出现在跨 mbr -> boot -> kernel 时忘记修改段地址)。
  4. 注意使用 13h 中断拓展读时的起始逻辑地址被正确设置。
  5. 单纯地就完成实验来说,规范不重要,所以请不择手段地达成你的目的!没有什么是不能做的,如果不幸寄了,请自查并转换策略

另,如果你只是复现实验结果交差,那么在 mbr -> boot -> kernel 过程中你需要改动的代码量应该不会超过 30 行(仅加载 bootloader 与 kernel 过程)。

About

Private records of NWPU os lab (2023)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages