典型操作系统内核分析与设计.docx
- 文档编号:16058082
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:12
- 大小:1.05MB
典型操作系统内核分析与设计.docx
《典型操作系统内核分析与设计.docx》由会员分享,可在线阅读,更多相关《典型操作系统内核分析与设计.docx(12页珍藏版)》请在冰点文库上搜索。
典型操作系统内核分析与设计
院系:
计算机学院
实验课程:
Linux内核分析与实现
实验项目:
典型操作系统内核分析与设计
指导老师:
尹传勇
开课时间:
2011~2012年度第2学期
专业:
计算机科学与技术(师范)
班级:
09本1班
学生:
黄光宇
学号:
20092100001
华南师范大学教务处
Linux内核编译
一.实验目的
操作系统是计算机系统的核心,它负责控制和管理整个计算机系统的硬软件资源,使之协调工作。
Linux更是近代计算机领域,让人们青睐的操作系统。
它开源的系统内核,让许多学者对此爱不释手,也因此引来了更多的人来学习Linux系统,同时也增强了开源队伍。
我们在学习系统内核分析这门课程的时候,Linux是我们主要学习和研究的范畴。
所以,通过本实验——编译Linux系统内核来提高我们对Linux系统的了解,让我们更好的掌握系统内核知识,把编写系统、编译内核等知
识应用到实践中去。
二.实验内容:
实验准备:
查看系统是否已安装源码?
#rpm–qkernel-source
如果没有安装从安装盘(一般在2号盘)或从网上下载
kernel-source-2.4.x-xx.i386.rpm并安装
#rpm–Uhvkernel-source-2.4.x-xx.i386.rpm
1、配置系统调用
2、编译内核
3、用新的内核启动系统
4、使用系统调用
三.实验的主要步骤:
1、配置系统调用
(1)在/usr/src/linux-2.4.20-8/kernel/sys.c中的最后一行加入系
统调用代码:
asmlinkageintsys_ycycall(intnumber){
returnnumber;
}
(2)修改文件/usr/src/linux-2.4/include/asmi386/unistd.h
增加:
#define__NR_ycycall259
(3)修改文件/usr/src/inlux/arch/i386/kernel/entry.s增加:
.longSYMBOL_NAME(sys_ycycall)
2、编译内核
(1)、进入/usr/src/linux2.4.20-8目录
#cd/usr/src/linux2.4.20-8
(2)、#makemrproper
(3)、配置内核
#makexconfig
※在“Process
family”选项,选择“386”类型
※在FileSystem选项,选择“Ext3journallingfilesystemsupport”和“JDB(ext3)debuggingsupport”
※在SCSISupport选项,“SCSIlow-leveldrivers”在选择“BusLogic
SCSIsupport”(默认为m)。
※在Blockdevices选项,选择“RAMdisksupport”.
(4)、将源代码于硬件设备连接起来
#makedep
5)清理编译环境,删除一些不必要的文件
#makeclean
(6)、生成bzImage文件
#makebzImage
(7)、#makemodules
(8)、#makemodules_install
3、用新的内核系统启动系统
(1)、#cp/usr/src/linux-2.4.20-8/arch/i386/boot/bzImage/boot
/bzImage-1
(2)#cp/usr/src/linux-2.4/System.map/boot/System.map-1
(3)#ln-sf/boot/System.map-1/boot/System.map
(4)、#makeinstall
(3)、打开grub.conf文件,我们可以看到系统启动多了(2.4.20—
8custom)选项:
2.4.20-8custom为新生成的内核
#geditgrup.conf
(4)、重新启动系统
(5)、查看版本
#uname–a
4、使用系统调用
#include
#include
#include
#define__NR_ycycall259
//intycycall(intnumber)
_syscall1(int,yaycall,int,number)
main()
{
inta=ycycall(100);
printf(“%d\n”,a);
}
输出结果为:
100
四.实验总结
本次实验主要是通过对相关指令的执行,在RedHat9.0的环境下进行一次Linux内核编译。
实验过程中,按照老师给的实验操作手册进行Linux内核的配置,在Linuxkermelconfiguration目录下根据编译内核的需要对各个相关文件进行配置。
在配置完成后用新内核启动系统,但是在第一次配置内核的时候我没有成功,问题应该是在配置过程中由于粗心忽略了某些配置,再一次的细心操作后成功完成了内核的变异。
通过本次试验,我对Linux内核的编译以及执行有了更深一步的了解,但有些问题以及指令不大明白,仍待提高。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 典型 操作系统 内核 分析 设计