美文网首页
Linux内核编译及添加系统调用

Linux内核编译及添加系统调用

作者: 奔跑骚年 | 来源:发表于2018-12-27 09:01 被阅读0次

1 总体设计思路

系统调用的本质是调用内核函数,以内核态运行程序。为了在内核态下运行,本实验针对Linux的内核进行修改,增加自定义系统调用函数实现用户态程序对任意进程的nice值进行修改或者读取来进行测试。

2 主要函数的接口设计

核心态程序

SYSCALL_DEFINE3(mysetnice, pid_t, pid, int, flag, int, nicevalue)

其中pid为选择进程的进程标识符;flag是操作符,设计为0时读取nice值,设计为1时进行修改操作;nice值为一返回变量,返回内核程序读取到的进程nice值;共计三个变量。

使用SYSCALL_DEFINE声明添加到~/kernel/sys.c文件中。

3 项目实现过程

3.1 准备

本次实验使用的环境为装载在Vmware Workstation Pro 14中的Ubuntu 17.10镜像。

镜像下载地址:http://mirrors.zju.edu.cn/ubuntu-releases/17.10/

为了编译执行顺利,我给虚拟机分配了8GB RAM和100GB虚拟硬盘空间,同时vCPU分配了8个核心,以便make -jn命令的使用。

安装ubuntu的时候,一定要注意查看/boot分区是否足够,如果不是工作环境最好直接将/boot分区挂载在根目录下,否则编译的时候产生的文件会塞满/boot分区导致编译安装失败。

参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1413.html

相关文章

  • Linux内核编译及添加系统调用

    首先让我们脑补一下什么是系统调用,个人理解系统调用就是调用系统函数(内核状态下的函数)。在linux系统中,用户通...

  • Linux内核编译及添加系统调用

    1 总体设计思路 系统调用的本质是调用内核函数,以内核态运行程序。为了在内核态下运行,本实验针对Linux的内核进...

  • Linux内核编译及添加系统调用

    1 总体设计思路 系统调用的本质是调用内核函数,以内核态运行程序。为了在内核态下运行,本实验针对Linux的内核进...

  • 编译安装 Linux 内核并添加系统调用

    编译安装 Linux 4.2.6 内核 实验环境 阿里云服务器 Centos_7_03 64 位本次实验使用最基...

  • Linux内核裁剪及编译

    [TOC] Linux内核裁剪及编译可加载模块 Linux基础知识 linux内核组要由五个子系统组成: 进程调度...

  • 记第一次编译linux内核过程并添加系统调用

    想要做一次编译linux内核并添加系统调用的实验,于是在网上找了许多教程,没有找到特别合适的,许多命令在作者这里并...

  • 五种IO模型的特点以及比较

    资料 Linux IO模式及select、poll、epoll详解 系统调用、用户空间、内核空间 为了保证操作系统...

  • Linux简介

    自学整理记录,大神见笑 Linux内核及发行版 内核版本 即Linux的心脏,封装了系统调用,并且封装了一整套终端...

  • 第一节 linux是什么

    1、linux是什么 组成: 硬件、内核、系统调用、应用程序。 操作系统组成: 内核+系统调用。 2、li...

  • Linux 内核系统调用

    《Linux 内核分析》 MOOC 课程实验 分析 Linux 系统调用过程 1.系统调用概述 现代操作系统为了保...

网友评论

      本文标题:Linux内核编译及添加系统调用

      本文链接:https://www.haomeiwen.com/subject/haillqtx.html