版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统实验一实验报告一、 基本信息:实验题目: 向 Linux 内核增加一个系统调用完成人姓名:金威报告日期: 2016 年 4 月 24 日二、实验目的通过实验,熟悉 Linux 操作系统的使用, 掌握构建与启动 Linux 内核的方法;掌握用户程序如何利用系统调用与操作系统内核实现通信的方法,加深对系统调用机制的理解; 进一步掌握如何向操作系统内核增加新的系统调用的方法,以扩展操作系统的功能。三、实验内容1. Linux 环境下的 C 或 C+编译和调试工具的使用。2. 向 Linux 内核增加新的系统调用,系统调用名称和功能自行定义,但必须实现如下输出功能: “ My Student
2、No. is ×××, and My Name is ×××”。3. Linux 新内核的编译、安装和配置。4. 编写应用程序以测试新的系统调用并输出测试结果。四、实验步骤1.第一次尝试了使用workstations,曾试过用Virtual Box,但是出了一些问题,虚拟机网连不上就换了VMware和比较老版本的内核,但是过程略繁琐,且很容易出错,就更换了Ubuntu 64 15.10来创建虚拟机。2.我先在 windows 中下载了 linux-4.2 的内核,然后直接拖入了虚拟机中(拖入的过程有时可能会无法进行,可以对虚拟机的Vm
3、ware Tools 重新安装,或者用共享文件夹的形式拖入),拖入了桌面后,我直接进行了解压,较新版本无需cp 入 /usr/src 中。3.接着进入终端, sudo apt-get install build-essential kernel-package libncurses5-dev fakeroot获得编译内核必需,但是这个所需下载的东西太多,有现故障,出现故障中断下载后我是按它的提示输入了1 个 G 左右,中间可能如果网络出apt-get update 更新软件环境。4. 修改systemtable。进入解压的文件目录下,执行件中,在x32specific system calls
4、udo gedit /arch/x86/entry/syscalls/syscall_64.tbl设定之前添加32364mycallsys_mycall 。在打开文5. 向 syscalls.h 中添加函数。精选文库Cd入 /include/linux , sudo gedit./syscalls.h , 在 #endif后 添 加asmlinkageintsys_mycall(intnumber)。6.进入 /kernel 的目录,执行gedit ./ mycall.c新建一个mycall.c文件,内容如下:7.sudogedit./Kconfig.mycall新 建 一 个Kconfig.
5、mycall文 件 , 内 容 如 下2精选文库8修改 /kernel 下的 Makefile 文件,向 obj-y 列表中添加 mycall.o sudo gedit ./ Makefile9.修改 Linux-4.2 目录下的 Makefile 文件,填写 EXTRA VERSION 的值,为新版本的内核 名称。我填写了我的姓名的拼音 .Jin3精选文库10.编译内核。在 cd 到所在文件夹make localmodconfig / 去掉一些不需要的模块make j4/ 使用双核同时编译能使速度加快,同时在创建虚拟机分配内存时也多分配了些,磁盘也分配了32个Gmake j4 modules
6、_install / 编译模块4精选文库11. Make install/ 安装内核,最后显示的就是新内核的版本号12.进入新内核测试系统。安装完后 reboot 后自动进入新内核,编写测试系统调用的函数,系统调用函数中的第二个参数值可变,第一个参数对应前面步骤设置的参数5精选文库(由于之前没有进入root 权限, 之后执行系统调用时出现错误所以需要获得root 权限)su root / 获得权限在 test.c 文件目录下打开终端。gcc test.c o test /对 test.c 文件编译./testdemesg c /查看系统调用结果五实验体会能用新的版本就用新的版本吧,老的版本过程繁琐,而且容易出错,在老版本失败多次后,我再使用了新版本的乌班图和l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程项目人员流动性控制方案
- 2026广东汕尾市城区消防救援大队招聘政府专职消防员4人备考题库带答案详解(突破训练)
- 2026福建龙岩市投资开发集团有限公司招聘1人备考题库及参考答案详解(典型题)
- 瓦斯工程施工安全方案
- 施工人员沟通技巧培训方案
- 绿化工程施工技术要求
- 某麻纺厂风险防范措施细则
- 涂料施工工艺及质量控制方案
- 2026年春季学期小学五年级音乐备课组三月歌唱教学计划模板
- 电气安装调试管理方案
- 乡镇禁毒举报奖惩制度
- 2026年江西赣州市高三一模高考数学试卷试题(含答案详解)
- 2026年安徽工业职业技术学院单招综合素质考试题库及答案详解(全优)
- 2026年安徽新闻出版职业技术学院单招综合素质考试题库及一套答案详解
- 考古发掘与保护技术规范
- 2026创新药licenseout交易模式与价值评估体系
- 2026年高考数学复习讲练测专题04 导数题型全归纳(题型专练)(原卷版)
- 《虚拟商业社会环境》-项目一
- DLT 5035-2016 发电厂供暖通风与空气调节设计规范
- 矿井水综合利用分析及前景展望
- 室外消防及给水管道
评论
0/150
提交评论