ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:1.05MB ,
资源ID:28324723      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28324723.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(典型操作系统内核分析与设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

典型操作系统内核分析与设计.docx

1、典型操作系统内核分析与设计 院 系: 计算机学院实验课程:Linux内核分析与实现实验项目:典型操作系统内核分析与设计指导老师:尹传勇开课时间:20112012年度第 2 学期专 业:计算机科学与技术(师范)班 级:09本1班学 生:黄光宇学 号:20092100001 华南师范大学教务处 Linux 内核编译一 实验目的操作系统是计算机系统的核心,它负责控制和管理整个计算机系统的硬软件资源,使之协调工作。Linux 更是近代计算机领域,让人们青睐的操作系统。它开源的系统内核,让许多学者对此爱不释手,也因此引来了更多的人来学习 Linux 系统,同时也增强了开源队伍。我们在学习系统内核分析这门

2、课程的时候,Linux 是我们主要学习和研究的范畴。所以,通过本实验编译 Linux 系统内核来提高我们对 Linux系统的了解,让我们更好的掌握系统内核知识,把编写系统、编译内核等知识应用到实践中去。二 实验内容:实验准备:查看系统是否已安装源码?#rpm q kernel-source如果没有安装从安装盘(一般在 2 号盘)或从网上下载kernel-source-2.4.x-xx.i386.rpm 并安装#rpm Uhv kernel-source-2.4.x-xx.i386.rpm 1、配置系统调用 2、编译内核 3、用新的内核启动系统 4、使用系统调用三 实验的主要步骤:1、配置系统调

3、用(1)在/usr/src/linux-2.4.20-8/kernel/sys.c 中的最后一行加入系统调用代码:asmlinkage int sys_ycycall(int number)return number;(2)修改文件 /usr/src/linux-2.4/include/asm i386/unistd.h增加:#define _NR_ycycall 259(3)修改文件/usr/src/inlux/arch/i386/kernel/entry.s 增加:.long SYMBOL_NAME(sys_ycycall)2、编译内核(1)、进入 /usr/src/linux 2.4.2

4、0-8 目录#cd /usr/src/linux 2.4.20-8(2)、#make mrproper(3)、配置内核#make xconfig在“Processfamily”选项,选择“386”类型在 File System 选项,选择“Ext3 journalling file system support” 和“JDB (ext3) debugging support”在 SCSI Support 选项, “SCSI low-level drivers”在选择“BusLogicSCSI support”(默认为 m)。在 Block devices 选项,选择“RAM disk supp

5、ort”.(4)、将源代码于硬件设备连接起来#make dep5)清理编译环境,删除一些不必要的文件#make clean(6)、生成 bzImage 文件#make bzImage(7)、#make modules(8)、#make modules_install3、用新的内核系统启动系统(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

6、-1 /boot/System.map(4)、#make install(3)、打开 grub.conf 文件,我们可以看到系统启动多了(2.4.208custom)选项:2.4.20-8custom 为新生成的内核#gedit grup.conf(4)、重新启动系统(5)、查看版本#uname a4、使用系统调用include#include(#include)#include#define _NR_ycycall 259/int ycycall(int number)_syscall1(int,yaycall,int,number)main()int a=ycycall(100);printf(“%dn”,a);输出结果为:100四 实验总结 本次实验主要是通过对相关指令的执行,在RedHat 9.0的环境下进行一次Linux 内核编译。实验过程中,按照老师给的实验操作手册进行Linux 内核的配置,在Linux kermel configuration 目录下根据编译内核的需要对各个相关文件进行配置。在配置完成后用新内核启动系统,但是在第一次配置内核的时候我没有成功,问题应该是在配置过程中由于粗心忽略了某些配置,再一次的细心操作后成功完成了内核的变异。 通过本次试验,我对Linux内核的编译以及执行有了更深一步的了解,但有些问题以及指令不大明白,仍待提高。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1