http://soft.buaa.edu.cn/linux/content/singleexperiment.htm
个人实验 |
|
|
实验一 内核的配置编译和安装。 |
|
该实验需要先获取内核源代码,再配置内核、编译生成新内核、安装新内核、引导系统
,从而让学生了解源代码结构、内核的配置方法,掌握内核的编译方法,理解内核的安
装过程,初步理解系统的引导过程。
详细内容请参见实
验01 内核的配置编译和安装.ppt。 |
|
实验二 内核模块 |
|
编写一个内核模块,分别实现函数init_module()、cleanup_module(),并向模块中添加新
的函数并编写测试程序,从而让学生深入理解Linux内核的模块机制及其特点、学习模块 编程的基本技能,掌握对内核模块加载、卸载、查看等管理操作。
详细内容请参见实
验02 内核模块 .ppt。 |
|
实验三 系统调用 |
|
该实验需要获取一份最新的内核源代码,在源代码中增加一个新的系统调用,编
译生成
新内核并引导,编写用户态程序测试新增的系统调用,从而使学生理解内核态和用户态概念,理解中断及其原理,理解内核及系统调用的原理,学习内核编程。
详细内容请参见实
验03 系统调用.ppt。 |
|
实验四 同步机制 |
|
本实验要设计并实现一个新的内核同步原语,它允许多个进程等待一个事件而阻塞,直到其他进程产生这个事件的信号为止,还要具体实现几个系统调
用,并编写测试程序。为了验证以上四个自己添加的系统调用的正确性,还需要另外编写一个用户态的应用程
序来测试。该测试程序应该显示内核函数在通用情况下的工作。从而使学生了解进程间同步技术,学习Linux同步原语,掌握进程间同步的实现技术。
详细内容请参见实
验04 同步机制.ppt。 |
|
实验五 共享内存 |
|
本实验要编写一个调用标准系统调用来使用共享内存程序,学习标准内核中共享
内存机制的实现,修改标准内核实现动态数据结构管理内存段,编译新内核,并进行测试,从
而使学生理解共享内存概念及机制,学习共享内存机制的实现及使用,修改标准内核实现动态数据结构管理内存段。
详细内容请参见实
验05 共享内存.ppt。 |
|
实验六 虚拟存储 |
|
本实验要用软件模拟硬件对给定的地址进行转换工作,用软件模拟硬件对缺页进
行缺页中断处理,并编写测试程序进行测试。以使学生理解虚拟地址空间和物理地址概念,理解页式存储管理如何实现地址转换,了解页式虚拟存储管理中如何处理
缺页中断,理解页面置换算法。
详细内容请参见实
验06 虚拟存储.ppt。 |
|
实验七 字符设备驱动程序 |
|
本
实验要求编写一个简单的字符设备驱动程序,要求该字符设备包括open()、write()、read()、ioctl()和release()五个基本
操作,并编写一个测试程序,验证驱动程序的正确性,以使学生理解Linux操作系统中的字符设备驱动程序结构,掌握简单的字符设备的驱动程
序的设计与编写方法,理解设备驱动程序的工作过程,理解Linux内核关于字符型设备的管理方法。
详细内容请参见实
验07 字符设备驱动程序.ppt。 |
|
实验八 块设备驱动程序 |
|
本实验要求编写一个简单的ramdisk块设备驱动程序。要求该块设备包括
open()、
request()、ioctl()和release()等基本操作,并编写测试程序,验证驱动程序的工作正确性。
以使学生了解Linux操作系统中的设备驱动程序的组成,编写简单的块设备驱动,并进行
测试,理解Linux操作系统的设备管理机制,了解USB设备驱动编程。
详细内容请参见实
验08 块设备驱动程序.ppt。 |
|
|
|
|
|