没有合适的资源?快使用搜索试试~ 我知道了~
北航OS操作系统课程指导书,操作系统是计算机系统的一个重要系统软件,也计算机专业教学的重要内容。该课 程概念众多、内容抽象,不仅需要讲授操作系统的原理,而且还要通过实验加深对操作 系统理解。实验对操作系统课程的学习是至关重要的,掌握操作系统原理的最好途径就 是自己编写一个操作系统。 因此,从 年我开始讲授这门课程以来,一直想寻找一个好的操作系统实验环 境。我曾经尝试过 、、、 等很多实验环境,其中还得到了微软亚 洲研究院、 中国研究院的帮助,但是一直没有找到合适的实验环境。直到 年 我发现了 的 系统,并指导学生刘智武在毕业设计期间完成了该系统实验。同 时,在操作系统课上选了两个学生尝试完成 实验,但是效果不太好,由于 启动 比较复杂,他们在前两个实验上花费的时间太多了,以至于没时间完成后面的实验。因 此,我开始尝试将实验适当简化,并移植到相对简单的 上。
资源推荐
资源详情
资源评论
小操作系统实验
指导书
操作系统课程实验任务及相关说明
带你体验自己动手完成一个小操作系统的乐趣
a+?QQH Q7 *QKTmi2` a+B2M+2 M/ 1M;BM22`BM;
"2B?M; lMBp2`bBiv
kyR3 年 j 月 Rk 日
SQr2`2/ #v G
h
1
s
编者序
.B2 S?BHQbQT?2M ?#2M /B2 q2Hi Mm` p2`b+?B2/2M BMi2`T`2iB2`i,
2b FQKKi #2` /`m7 M- bB2 xm p2`M/2`MX
哲学家们只是用不同的方式解释世界- 而问题在于改变世界。
—— 马克思《关于费尔巴哈的提纲》
深夜,幽幽的荧屏,杂乱的代码,诡异的错误,不知所措的我们死死地盯着屏幕,试
图解决实验里那些莫名其妙的问题。每当这时,我们都不禁抱怨:代码为什么有这么多
错误,注释为什么这么混乱,指导书内容又为何如此鸡肋。抱怨之余我们也幻想了很多
假如,相信曾挣扎于操作系统实验的人都曾这么想过:假如代码注释更完善些,假如实
验的体系和计组一样成熟,假如XXX
我们最大的愿望,便是有一本指南针般的指导书。它可能会穿插设置一些小练习让
我们更容易上手并带来满足感,它可能会针对性地让我们对某些细节进行深度思考,它
可能会从实验角度为我们展现一个真实的操作系统,它可能会让我们着迷于操作系统实
验,它优雅而美丽,它平易而近人。假如那样,我们或许能更专注于操作系统本身设计
吧。
但我们不希望我们只在心里假如,我们想做些什么。一路走来,我们耗费了太多的
时间在不必要的地方,因此,我们不希望这样的经历延续下去,一年又一年,一届又一
届,我们想做些改变。
这正是我们重新整理并改写指导书的初衷,而你将要看到的,就是我们为改善操作
系统实验而作出的努力。仅以此书献给我们所热爱的学弟学妹们,愿它能带给你一次愉
快而奇妙的编写操作系统的体验。
学生的潜力是无穷的,但我们还只是操作系统实验改革的起点。本书还有很多不足
之处与不完善之处,但是我们可以向你许诺,不再是大量无用材料的堆砌,不再是混乱
无逻辑的排版,除很少部分的转载外,其他内容都是我们日日夜夜呕心沥血的原创。同
时,秉着减轻代码难度,加强思考深度的初心,我们创造了许多思考训练。所有的思考
训练都是我们精心设计- 是世上绝无仅有的。所以我们请求你,希望你多花些时间来看
看这本书,自主思考,勇于探索,并鼓励你与伙伴积极交流。
哪天我们若能在路上听到你和小伙伴神采飞扬地讨论操作系统实验中的某个细节,
那时或许我们会在心里欣慰地轻叹一声
“为了这帮兔崽子,值了!”
B
在重编指导书的过程中,我们对于读者的知识掌握情况做了如下的假设。
Ç 熟练掌握 * 语言,特别是指针、结构体的使用。
Ç 对于 JASa 体系结构有基本的了解(正常完成了计算机组成课程实验)。
Ç 初步了解中断、异常等概念。
指导书有三种特殊标记的段落:LQi2、1t2`+Bb2 和 h?BMFBM;。
LQi2 表示该段内容是补充说明,或者课外延展,可以选择性地跳过。
1t2`+Bb2 我们需要完成的实验任务,我们将在服务器端对代码是否合格进行检查。
h?BMFBM; 思考训练,无固定答案,但是需要将你的见解写在实验报告中。注意这
些思考训练不同于你以往所做的题目,它由关键代码、见解、参考资料组成。你需
要使用参考资料与你认为的关键代码对你的见解进行支撑,为了做到这一点你可
能需要做很多功课。这部分内容将作为操作系统实验成绩的重要参考。我们没有规
定固定格式,只需要在说明前标明 h?BMFBM; 序号即可。
编者寄语 U按姓名汉语拼音顺序排列V
天道酬勤。
——何涛
行胜于言。
——刘乾
一个人可以走得很快,但一群人可以走得更远,我愿与你们一路同行,分享彼此
的经验与知识。
——王鹿鸣
BB
教师寄语
“掌握操作系统原理的最好途径就是自己编写一个操作系统,我希望大家
都能写出自己的操作系统。”
—— 王雷
操作系统是计算机系统的一个重要系统软件,也计算机专业教学的重要内容。该课
程概念众多、内容抽象,不仅需要讲授操作系统的原理,而且还要通过实验加深对操作
系统理解。实验对操作系统课程的学习是至关重要的,掌握操作系统原理的最好途径就
是自己编写一个操作系统。
因此,从 RNNN 年我开始讲授这门课程以来,一直想寻找一个好的操作系统实验环
境。我曾经尝试过 JBMBt、L+?Qb、GBMmt、q_E 等很多实验环境,其中还得到了微软亚
洲研究院、alL 中国研究院的帮助,但是一直没有找到合适的实验环境。直到 kyyd 年
我发现了 JAh 的 CPa 系统,并指导学生刘智武在毕业设计期间完成了该系统实验。同
时,在操作系统课上选了两个学生尝试完成 CPa 实验,但是效果不太好,由于 t3e 启动
比较复杂,他们在前两个实验上花费的时间太多了,以至于没时间完成后面的实验。因
此,我开始尝试将实验适当简化,并移植到相对简单的 JASa 上。
正好北航计算机学院在进行教学改革,希望将硬件课与软件课打通,加强学生系统
能力的培养。在学院支持下,组织了刘阳、程致远、刘伟、朱沥可等同学,我们参考 GBMmt
代码,完成了向 JASa 的移植工作。特别是刘阳同学,不仅编写了代码和手册,还完成了
很多组织协调工作。这时候总算有了一个能让学生在一学期完成的、相对完整的小型操作
系统。在推广 JASa 操作系统实验时,为了保证教学连续性,我们允许学生从 qBM/Qrb、
GBMmt 和 JASa 操作系统中选择一个实验完成,并可以分组完成。
kyRy、kyRR 和 kyRk 年选择 JASa 操作系统实验的同学人数分别为 jW,R9W,jyW,
实验成绩也在逐步上升。在 kyRj 年的计算机学院实验班、kyR9 年和 kyR8 年计算机大
班中开始全面推广,并要求每个同学独立完成。在实验教学过程中,我的研究生都当过
我的助教,另外还有一些其他老师的研究生和一些本科生志愿者,这些同学共同完成了
实验手册的编写、实验代码的完善和实验环境的搭建。这些人包括蔚鹏志、谭成鑫、王
刚、王欢、李康、王振、王平、马春雷、师斌、张健、高超、康乔、禹舟健和宗毅等同学,
特别是王振和马春雷对完成了大量实验手册完善工作,高超在沃天宇老师和师斌的帮助
下独立完成了整个实验环境的搭建,宗毅完成了实验向 Z1Jl 的部分移植工作。我可
能无法把所有人的名字列出来,但由衷地感谢他们!
BBB
最后我要感谢刘乾、王鹿鸣和何涛三位同学!他们修改了代码中的错误、加入了大
量注释,特别是他们重写了整个实验指导手册。我再次感谢他们!
本实验的目标是在一学期内,以 JASa 为基础,让学生从最基本的硬件管理功能,逐
步扩充,最后完成一个完整的系统。操作系统实验共包括“初识操作系统”、“内核制作与
启动”、“内存管理”、“进程与中断”、“系统调用”、“文件系统”(选做)和“b?2HH”(选
做)等七个部分。
RX 初识操作系统:在只有命令行的环境下,掌握 GBMmt 的基础命令、常用工具以及
:Bi 的使用。
kX 内核制作与启动:了解计算机在加电之后,如何引导文件,初始化基本硬件设备,
通过修改链接脚本,学习把一段程序放在指定的内存地址。
jX 内存管理:完成初始化 JJl,hG",建立虚拟内存管理机制,并在内存中安排基
本的内核数据结构布局。
9X 进程与中断:完成初始化进程运行环境,实现进程创建的基本方法和简单的进程调
度算法。
8X 系统调用:进程使用内核服务都是通过系统调用的方式实现。
eX 文件系统:实现一个基于块设备的文件系统。
dX b?2HH 命令解释程序:a?2HH 功能的实现,给用户提供了访问操作系统的接口。
从实验内容可以看出,现代操作系统基本的几个功能,例如内存空间,进程管理等,
都得到实现。通过这些实验,学生能够更加深入的理解操作系统原理及其实现方法,同
时也可以在这个基础上实现自己的功能,实现更加复杂的操作系统并完成一些有挑战性
任务。
我相信,现在的实验指导手册和代码注释会使同学们在完成复杂操作系统实验时感
到一些轻松。感谢这些同学对实验做出的贡献,希望你们不辜负他们的努力,用心完成
实验。更希望你们能为实验和实验指导书提出更多的反馈意见!
Bp
剩余146页未读,继续阅读
资源评论
weixin_40327435
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功