美文网首页
操作系统内核编译、调用以及strace追踪

操作系统内核编译、调用以及strace追踪

作者: 持之以蘅 | 来源:发表于2019-03-09 10:49 被阅读0次

1.使用器件:Vmware workstation(32位)、ubuntu 64位;

2. 实验步骤

(1)  创建ubuntu linux虚拟机

① 安装VMTools工具

使用tar 解压,记住一定要进入到能用ls列出VMTools的目录下面

(2)增加系统调用

①  下载内核版本为linux-4.16.10.tar.xz

②  打开终端通过apt-get install安装编译内核所需要的工具

Ⅰ.build-essential

Ⅱ.kernel-package

Ⅲ.libncurses5-dev

③  将内核代码解压并移入/usr/src目录;

Ⅰ.tar -xvf linux-4.16.10.tar.xz

Ⅱ.cp(或者mv) linux-4.16.10.tar.xz /usr/src

④  内核编译

 Ⅰ.进入/usr/src/linux-4.16.10/kernel中,在终端输入vim sys.c添加heloworld函数

 Ⅱ.添加声明;

进入/usr/src/linux-4.16.10/arch/x86/include/asm,然后vim sysalls.h进行编辑

 III .添加系统调用id

进入/usr/src/linux-4.16.10/arch/x86/entry/syscalls

然后用vim syscall_64.tbl编辑文件

添加系统调用号(333 64 helloworld sys_helloworld)

编辑完成esc+:wq退出

IV  .配置内核

使用make menuconfig指令

按照save、ok、exit步骤进行配置

]V    .正式编译内核

执行make -j4(或者make modules)指令(需要等待2-3小时)

(3) 撰写应用程序调用系统调用

①  登陆虚拟机

②  调用函数

Ⅰ.打开终端

II  .检查内核版本是否为linux-4.16.10

使用uname -r 指令

III .编辑调用系统调用的函数

vim test.c

gcc test.c

IV  .查看调用结果

./a.out

(4) 使用strace的系统跟踪工具对测试程序进行跟踪调试

①  使用strace ./test追踪系统调用过程

②  使用strace -c./test统计系统调用

大功告成!!!

相关文章

  • 操作系统内核编译、调用以及strace追踪

    1.使用器件:Vmware workstation(32位)、ubuntu 64位; 2. 实验步骤 (1) 创建...

  • 一段程序用strace和ltrace

    程序实例 用gcc编译 调用ltrace 调用strace 做了另一个实验, 用strace ./test, 然后...

  • strace分析系统调用

    strace查看系统调用 strace的源码在 ~/android-q/external/strace/ 下str...

  • 第一节 linux是什么

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

  • linux系统简单了解

    1.从内而外可以分为硬件,内核,系统调用和应用程序内核和系统调用,就叫做操作系统不同的操作系统调用不同硬件的方式是...

  • 2018-09-24 日常操作cheatsheet

    [一些变量] [strace]strace -T -tt -v -fp 2>&1 #追踪某个pid下所有线程的...

  • Linux系统简介实验报告

    Linux 就是一个操作系统,整个计算机系统包括硬件、内核、系统调用和应用程序,内核和系统调用就属于操作系统,操作...

  • 001-Linux简介

    Linux 内核以及发行版 Linux内核(kernel) 操作系统内核是指大多数操作系统的核心部分。它由操作系统...

  • linux sysdig系统监控神器

    sysdig介绍: 当需要追踪某个进程产生和接收的系统调用时,你可能会想到strace。你会使用什么样的命令...

  • 1.3 操作系统初试。

    五大部件: 操作系统: 内核:kernel 系统调用:system call 操作系统通过调用库(lib),库存在...

网友评论

      本文标题:操作系统内核编译、调用以及strace追踪

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