操作系统课程设计说明书写

2019-04-01 19:09

广州大学松田学院《操作系统》课程设计说明书

广州大学松田学院

操作系统课程设计报告

题目: 修改内核及Linux内核重编译

1

广州大学松田学院《操作系统》课程设计说明书

修改内核及Linux内核重编译

--为Linux内核增加系统调用systest( )

1 概述

针对ubuntu10.04.中,通过下载新的内核版本,并且修改新的版本的内核的系统调用,然后在其系统中编译,加载新内核

1.1 内核修改内容介绍

输入一个数字,各个位上数字相乘,如 15 1*5=5 24 2*4=8

1.2 内核编译环境介绍

虚拟机版本VM9.0 Ubuntu版本10.02 内核2.6.32-21-generic

2 内核修改

2.1 系统设计

2.1.1 内核修改的基本思路

将被调用的函数写入内核中,并生成新的内核,在新的内核中编写函数调用

2.1.2 内核修改的实现步骤

在www.kernel.org网站中下载想要修改的内核版本,并放入到/usr/src中进行解压,解压后修改函数,并重新生成新的内核,重启后再调用函数

2

广州大学松田学院《操作系统》课程设计说明书

2.2 程序设计

2.2.1 Sysmyf( )系统调用介绍

操作系统的主要功能是为应用程序的运行创建良好的环境,为了达到这个目的,内核提供一系列具备预定功能的多内核函数,通过一组称为系统调用(system call)的接口呈现给用户。系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序,如果没有系统调用和内核函数,用户将不能编写大型应用程序

2.2.2 Sysmyf( )系统调用程序设计

asmlinkage int sys_mycall(int num) {

Int k=1; do{

k*=num; num/=10; }

while(num); return (k); }

2.2.3 Sysmyf( )系统调用验证程序设计

#include #include int main(){ int num;

scanf(\

printf(\,num)); }

3

广州大学松田学院《操作系统》课程设计说明书

3 内核重编译

3.1 Linux内核源代码下载及其版本说明

在网站https://www.kernel.org/中下载

3.2 在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中添加

4

广州大学松田学院《操作系统》课程设计说明书

/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

5


操作系统课程设计说明书写.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高层经济适用住房施工组织设计20090210

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: