《操作系统课程设计》
实验报告
学号:
姓名:
苏州大学计算机科学与技术学院
2014年9月
目 录
目 录1
一、实验环境2
二、实验报告总体要求2
实验一 编译Linux内核3
实验二 观察Linux行为7
实验三 进程间通信14
一、实验环境
Linux平台
硬件平台:普通PC机硬件环境。
操作系统:Linux环境,例如,红旗Linux或Red Hat Linux;启动管理器使用GRUB。
编译环境:伴随着操作系统的默认gcc环境。
工作源码环境:一个调试的内核源码,版本不低于2.4.20。
二、实验报告总体要求
在201年1月日前提交实验报告。实验报告至少要求包含以下内容:
引言:概述本次实验所讨论的问题,工作步骤,结果,以及发现的意义。
问题提出:叙述本篇报告要解决什么问题。注意不可以抄写实验要求中的表述,要用自己的话重新组织我们这里所提出的问题。
解决方案:叙述如何解决自己上面提出的问题,可以用小标题3.1, 3.2…等分开。这是实验报告的关键部分,请尽量展开来写。注意,这部分是最终课程设计的基本分的部分。这部分不完成,本课程设计不会及格。
实验结果:按照自己的解决方案,有哪些结果。结果有异常吗?能解释一下这些结果吗?同别人的结果比较过吗?注意,这部分是实验报告出彩的地方。本课程设计要得高分,应该在这部分下功夫。
结束语:小结并叙述本次课程设计的经验、教训、体会、难点、收获、为解决的问题、新的疑惑等。
附录:加了注释的程序清单,注释行数目至少同源程序行数目比1:2,即10行源程序,至少要给出5行注释。
实验一 编译Linux内核
实验时间
6小时实验目的
认识Linux内核的组成,掌握配置、编译、安装Linux内核的步骤。实验目标
下载2.6.19或更新的Linux内核,配置该内核使其支持NTFS,并在新的内核中修改其版本为Linux NameTestKernel x.x.x,其中,Name是你的名字(汉语拼音);x.x.x是新内核的版本号,最后在你的机器上编译安装这个新内核。
背景知识
参见《Red Hat Enterprise Linux 4入门与提高》第20章。
实验步骤
验证gcc的可用:在你自己的工作目录下,编译运行Hello World程序。
在上下载指定的内核,或者查找更新的稳定版内核并下载之。
准备相关工具。
提示:如当前运行的Linux内核是基于2.4版本的,则需要更新以下软件:module-init-tools和mkinitrd。具体更新信息可参见下载内核源代码中的Documentation/Changes这个文件。
把源代码解压缩至/usr/src中,最终形成/usr/src/linux x.x.x/目录(x.x.x是新内核的版本号)。
提示:这里的注意点是路径的选择,一般要放在/usr/src/linux x.x.x/目录下面,以满足Makefile对路径设置的初始要求。
进入源代码的根目录,找到合适自己的内核配置方法,并按照实验目标对其进行配置。
修改 /usr/src/linux x.x.x/include/linux/verson.h文件中的版本信息。
编译内核。
安装模块文件。
安装内核文件。
重新启动新内核。
实验结果
实验步骤1中,编译运行程序你下达了哪些命令?
实验步骤2中,你下载了哪个版本的内核文件?
实验步骤3中,你是否安装了相关工具?如安装,则写出安装过程。
实验步骤4中,你是用哪些命令解压缩内核文件的?
实验步骤5中,你用了哪种内核配置的方法?
你对实验步骤6中涉及的文件做了怎样的修改?
实验步骤7-9的过程
观察你机器中GRUB的配置文件,它在安装完新内核后发生了哪些变化?
新内核启动过程是否成功?如有错误,是哪些错误?你是如何消错的?
实验报告
实验二 观察Linux行为
实验时间
小时实验目的 学习Linux内核、进程、存储和其他资源的一些重要特征。实验目标 编写一个程序使用/proc机制检查反映机器平均负载、进程资源利用等方面的各种内核值。在得到内核状态之后,将所观察到的行为在屏幕上输出。背景知识 Linux、Solaris和其他版本的UNIX提供了一种非常有用的检查内核状态机制,叫做/proc文件系统。这是可以用来完成本练习的关键机制。
1/proc文件系统
/proc文件系统是一种操作系统机制,它的接口就像传统UNIX文件系统的一个目录(在根目录中)。可以改变到/proc正如改变到任何其他目录,例如,
bash$ cd /proc
使/proc作为当前目录。一旦把/