- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
广州大学松田学院
操作系统课程设计报告
题目: 修改内核及Linux内核重编译
修改内核及Linux内核重编译
--为Linux内核增加系统调用systest( )
概述
针对ubuntu10.04.中,通过下载新的内核版本,并且修改新的版本的内核的系统调用,然后在其系统中编译,加载新内核
内核修改内容介绍
输入一个数字,各个位上数字相乘,如 15 1*5=5
24 2*4=8
内核编译环境介绍
虚拟机版本VM9.0
Ubuntu版本10.02
内核2.6.32-21-generic
内核修改
系统设计
内核修改的基本思路
将被调用的函数写入内核中,并生成新的内核,在新的内核中编写函数调用
内核修改的实现步骤
在网站中下载想要修改的内核版本,并放入到/usr/src中进行解压,解压后修改函数,并重新生成新的内核,重启后再调用函数
程序设计
Sysmyf( )系统调用介绍
操作系统的主要功能是为应用程序的运行创建良好的环境,为了达到这个目的,内核提供一系列具备预定功能的多内核函数,通过一组称为系统调用(system call)的接口呈现给用户。系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序,如果没有系统调用和内核函数,用户将不能编写大型应用程序
Sysmyf( )系统调用程序设计
asmlinkage int sys_mycall(int num)
{
Int k=1;
do{
k*=num%10;
num/=10;
}
while(num);
return (k);
}
Sysmyf( )系统调用验证程序设计
#includestdio.h
#includeunistd.h
int main(){
int num;
scanf(%d,num);
printf(%ld\n, sys_mycall(223,num));
}
内核重编译
Linux内核源代码下载及其版本说明
在网站/中下载
在Linux内核源代码中添加sysmyf()系统调用
首先修改/usr/src/linux-4.0.4/kernel/sys.c文件。在这个文件末尾添加系统调用的实现函数,用gedit sys.c打开编辑
在/usr/src/linux-4.0.4/arch/x86/syscalls/syscall_32.tabl中添加
/usr/src/linux-4.0.4/arch/x86/kernel/syscall_table_32.S中的末行添加:.long sys_myf
/usr/src/linux-4.0.4/arch/sh/include/uapi/asm/unistd_32.h中添加:#define __NR_myf 223
内核重编译
内核重编译步骤介绍
(每一步骤,建议截图,并添加说明)
从中下载4.0.4内核(原来的内核版本是4-genric),并将该内核放到 usr/src中。
解压内核
使用xz -d linux-4.0.4.tar.xz
tar -xvf linux-4.0.4.tar
sudo apt-get install build-essential kernel-package libncurses5-dev fakeroot
sudo aptitude install libqt3-headers libqt3-mt-dev libqt3-compat-headers libqt3-mt
make menuconfig
选中ext3文件系统, File systems--- [*] Ext3 journalling file system support [*] Ext3 Security Labels [*] JBD (ext3) debugging support
配置了内核之后先使用make dep将内核功能间的依赖联系起来。
使用make bzImage编译内核
接着用make modules、make modules_install和make install
#cp /usr/src/linux/System.map /boot/System.map-4.0.4 #cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-4.0.4
#cp .config /boot/config-4.0.4
# mkinitramfs -o /boot/initrd.img-4.0.4 4.0.4
#cd /boot
#rm -f System.
您可能关注的文档
- 地理知识点湘七上探索.docx
- 蔡老师作业1(15.10月)探索.doc
- 蔡仪先生的美学理论与人生态度探索.doc
- 地面气象测报业务软件修改及操作说明探索.doc
- 地理选修六总结探索.docx
- 参股广州源车件网络科技有限公司可行性(16.9.19)探索.doc
- 蔡文彬计算机网络探索.docx
- 彩色图像分割混合方法探索.doc
- 参考值技术探索.doc
- 参考知识点.(心理咨询师考试))探索.docx
- 2025广东省惠东县招聘公办学校教师71人模拟试卷及答案详解1套.docx
- 2025河南郑州巩义市总医院招聘专业技术人员50人模拟试卷及答案详解一套.docx
- 2025国防科技大学智慧政工社会招聘17人考前自测高频考点模拟试题含答案详解.docx
- 2025年安徽省地震局招聘事业单位博士学位工作人员考前自测高频考点模拟试题及参考答案详解一套.docx
- 2025河南南阳市消防救援支队招聘政府专职消防员59人考前自测高频考点模拟试题及答案详解1套.docx
- 2025年四川大学教育培训部业务岗工作人员招聘模拟试卷参考答案详解.docx
- 2025广东广州市增城区人民法院招聘合同制司法警察兼囚车驾驶员拟聘用人员模拟试卷带答案详解.docx
- 2025甘肃陇南市人民检察院招聘司法警察辅助人员5人模拟试卷附答案详解.docx
- 2025年安徽省地震局招聘事业单位博士学位工作人员模拟试卷及完整答案详解1套.docx
- 2025国网宁夏电力有限公司博士后科研工作站博士后招聘1人考前自测高频考点模拟试题附答案详解.docx
最近下载
- 高中生跨学科项目学习的实践研究教学研究课题报告.docx
- 钢轨探伤水平裂纹和斜裂纹波形及图像识读.pptx VIP
- 外文资料Medicare andMedicaid at 50 Years Perspectives of Beneficiaries, Health Care Professionals and Institutions, and Policy Makers.pdf VIP
- 机电安全管理常识培训课件(ppt 86页).ppt
- DB37_T 5232-2022城镇道路添加剂型抗车辙沥青混合料技术标准.pdf
- 民族团结铸牢中华民族共同体意识.pptx VIP
- 知到智慧树网课:大学美育(长春工业大学)章节测试满分答案.doc VIP
- 胸椎骨骨折术后健康宣教ppt.pptx
- (应该是终稿)斜道施工方案.doc
- 2022年风电项目合作开发协议.doc VIP
文档评论(0)