操作系统该课程设计

发布 2022-10-05 12:39:28 阅读 5928

姓名:孔龙班级:0451202 学号2012211766

姓名:揭大千班级:0451202 学号 2012211858

1.实验目的:

1.1在虚拟机下安装某一linux的发行版(推荐centos)

1.2从内核官网**某一新的内核版本,并进行编译。

1.3设置系统引导管理器(推荐grub),使得系统可以从新内核启动。

1.4编写一个简单的模块化字符设备驱动程序,动态地装载和卸载以模块形式存在的字符设备驱动程序。同时,学会对所编写的字符设备驱动程序进行测试,最终了解linux 操作系统是如何管理字符设备的。

2.实验内容和步骤。

1.编译内核。

1.1. 安装虚拟机软件:vmware workstation以及centos操作系统,我选择的版本6.5final

1.2. 使用uname –r,查看系统的内核版本:

1.3. 从内核官网**某一新的内核版本。是完整的内核包。

1.4. 解压文件,使用 tar -jxvf -c /usr/src/ 把文件解压到 /usr/src中(在root用户下才有效)解压到目录/usr/src,或者先解压然后移动到该目录也行。

如图:1.5. 运行命令make mrproper(第一次编译内核,并没有上次的残留文件可以可以跳过运行命令make menuconfig设置内核配置文件,此处需要两个包,选择最简单的yum 安装yum -y install gcc和yum install ncurses ncurses-devel。

1.6. 对新的内核功能选择,并生成一个 .config 的文件:

1.7. 编译内核 make和makemodules_install:

1.8. 安装内核make install:

1.9. 修改默认启动的内核(把光标处的default值改成0,就为默认启动,编译成功后默认1)

vim /boot/grub/ :

1.10. 重新启动系统,默认内核就是上面编译成功的。

1.11. 进入系统后再次使用命令 uname –r 查看内核信息 :

2. 编写测试模块。

#include

#include

#include

module_license("dual bsd/gpl");

int hello_init(void)

printk("<0>hello, world!/n");

return 0;

void hello_exit(void)

printk("<0>goodbye, cruel world!/n");

module_init(hello_init);

module_exit(hello_exit);

3.编写makefile文件:

obj-m :=

kerneldir :=lib/modules/3.18.0/build

pwd :=shell pwd)

modules:

$(make) -c $(kerneldir) m=$(pwd) modules

modules_install:

$(make) -c $(kerneldir) m=$(pwd) modules_install

4.编译模块。

在模块目录执行make命令编译:

发现目录下多了一些文件。

5.安装模块。

在此之前用lsmod命令查看当前的模块列表。

然后使用 insmod 安装模块。

再次使用lsmod 发现多出 hello说明模块安装成功。

3.遇到的问题与解决办法。

在编译内核过程中,老是出错,首先是make menuconfig命令不能正确的执行,后来发现是缺少了2个运行的包,后来在网上查到是此处需要两个包gcc和ncurses-devel。后来使用yu安装后就成功了。最后是make install的时候,出现如下图所示的错误,以为功亏一篑了,后来在网上查找资料说,因为是在虚拟机里,所以会有些模块找不到,不过不影响内核的正常运行。

4.任务分配。

孔龙负责内核编译以及编写实验报告,揭大千负责模块的编写和测试。

操作系统课程设计

课程设计 河北大学工商学院。装。订。线。操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专 操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专业计算机类 学号 姓名。指导教师。年 6 月 24 日。设备管理 2 2.1设计任务2 2.2设计要求...

操作系统课程设计

银行家算法模拟。系别 班级 组员 银行家算法模拟。1.课程设计目的。通过本次课程设计,加深对最经典的避免死锁的银行家算法的理解,掌握死锁形成必要条件 安全状态等概念的理解,通过用c语言编程模拟该算法,并在windows平台上实现,更好地掌握操作系统的原理及实现方法。2.任务及要求。设n为系统进程的个...

操作系统课程设计

学生实习实训报告。实习类型 操作系统课程设计 学号 0901110005 学生姓名 田兴杰 指导教师 曹春梅 专业班级 信息安全技术0901班 院 部 电子信息系 2011年 1 月 7日。实习实训成绩评定表。目录。目录3 摘要4关键字4 1.1虚拟机简介5 1.1.1 一般意义的虚拟机5 1.1....