命令ls执行的系统调用

这篇具有很好参考价值的文章主要介绍了命令ls执行的系统调用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

设置版本0内核为分析对象,打开gdb调试

先跟踪do_execve函数,以确定ls在几号进程中运行,并跟踪到ls命令即将开始执行的时候

在do_execve函数处设置断点。为了准确起见,以如下方式自动显示可执行文件名:

第2关:命令 ls 执行的系统调用,操作系统educoder实训,linux

一直continue,直到虚拟机等待输入( gdb 不响应)

第2关:命令 ls 执行的系统调用,操作系统educoder实训,linux

此时在bochs虚拟机中输入命令ls,gdb调试器会出现以下画面:

第2关:命令 ls 执行的系统调用,操作系统educoder实训,linux

此时 gdb 里会捕获到可执行文件/usr/bin/ls的执行,此即为 ls 执行的开始。从中可见,ls 是在 6 号进程中运行,因此后面由 6 号进程引发的系统调用即为 ls 执行的系统调用

然后system_call函数处设置断点,以跟踪6号进程引发的系统调用:(可以按照以下方式来设置条件断点,以忽略 0 号进程发出的系统调用)

另外还设置了该条件断点被捕获时自动执行的命令,这些命令显示了系统调用号和实现函数名,从中可以方便地看出是哪个系统调用发生了

第2关:命令 ls 执行的系统调用,操作系统educoder实训,linux

 可以看到6号进程引发的第一个系统调用是13号sys_time

然后一直continue,查看每一次引发的系统调用,直到6号进程结束

第2关:命令 ls 执行的系统调用,操作系统educoder实训,linux

 最终结果如下:

第2关:命令 ls 执行的系统调用,操作系统educoder实训,linux文章来源地址https://www.toymoban.com/news/detail-529212.html

到了这里,关于命令ls执行的系统调用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 操作系统实验 2.3系统调用:linux-0.11-lab “为版本0内核增加一个系统调用getjiffies” 和 “在用户程序中使用新增的系统调用”

    打开 vscode ,在如图所示位置打开 ~/os/linux-0.11-lab/0 文件夹 1.定义getjiffies系统调用 题目中给的提示:进入到 unistd.h 文件中 阅读代码,可以发现上图划线处有个系统调用名为 getpid :返回当前进程号——这与我们期望实现的功能类似:通过系统调用返回jiffies值。 于是此时希望

    2023年04月08日
    浏览(85)
  • 【Linux操作系统】深入理解系统调用中的read和write函数

    在操作系统中,系统调用是用户程序与操作系统之间进行交互的重要方式。其中,read和write函数是常用的系统调用函数,用于在用户程序和操作系统之间进行数据的读取和写入。本文将深入介绍read和write函数的工作原理、用法以及示例代码,以帮助读者更好地理解和应用这两

    2024年02月13日
    浏览(34)
  • 【操作系统】优化MBR程序:让MBR调用显存吧

            显卡用于 连接 CPU 和显示器 ,我们调用显示器时,其实就是利用显卡提供的IO接口间接地对显示器进行操作,所以显卡也称之为 显示适配器 。接下来我们将优化之前写的MBR程序(参考:【操作系统】BIOS与MBR之间的过渡实践),使我们的程序通过直接操作显卡来输

    2024年01月23日
    浏览(30)
  • 网络攻防——kali操作系统基本使用-调用摄像头

    本文章中生成的木马带有一定的攻击性,使用时请遵守网络安全相关的法律法规(恶意攻击操作系统属于违法行为)。 kali中打开终端最好是进入root sudo su 获取IP ip address 重新打开一个终端 输入指令,注:-p表示攻击载荷,表示的是说明这个程序需要载入什么功能,这里就是

    2024年02月13日
    浏览(34)
  • HDU 操作系统实验二 -设计一个系统调用,返回指定进程的相关时间信息

    目录 一、实验思路 二、准备工作——Linux内核编译步骤 1.实验环境配置 2.下载内核源码 3.解压缩内核源码文件 4.清除残留的.config和.o文件 5.配置内核 6.编译内核,生成启动映像文件 7.编译模块 8.安装内核 9.配置grub引导程序 10.重启系统 三、设计系统调用,返回指定进程的相关

    2024年02月03日
    浏览(32)
  • mac操作系统 java 调用tdengine时序数据库

    sudo ln -s /usr/local/lib/libtaos.1.dylib /Users/ admin /Library/Java/Extensions/libtaos.1.dylib admin 为你自己用户目录 即可正常使用

    2024年02月12日
    浏览(46)
  • 杭电操作系统实验一 --- Linux内核编译及添加系统调用(arm架构华为云)

    掌握Linux 内核的编译与安装 掌握Linux 系统调用基本概念 设计和添加linux系统调用         (1)修改或返回指定进程的优先级(nice值和prio值)(详见教材P328)提示:可能参考的内核函数:set_user_nice().         (2)改变主机名称为自定义字符串(自选题目)   1、 L

    2023年04月20日
    浏览(35)
  • Linux操作系统常用命令

    目录 一、Linux常用命令 1.date命令 用于显示当前日期和时间 2.pwd命令 用于显示当前工作路径 3.cd命令 用于切换当前路径 4.cal命令 用于显示日历(有些Linux系统用ncal) 5.who命令 用于显示当前已经登录到系统的所有用户名、登录终端以及登录时间 6.wc命令 用于统计给定文件的行

    2024年02月16日
    浏览(31)
  • Linux操作系统命令大全

    Linux是一种操作系统  Operating System  简称  OS  ,是软件的一部分,它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁。 操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,同时还提供一些

    2024年02月02日
    浏览(36)
  • linux系统 常用操作命令

    1.8.1 暂离(最小化)当前screen 1.8.2 关闭当前session 参照我之前的博文 参考Pytorch官网 安装完后可以通过此命令看是否成功安装gpu版本: 参考tensorflow官网 不过根据我的安装经验,pip安装完gpu版本并不能使用,最好使用conda安装, 如果不指定版本,会默认安装2.0+版本,也可以指

    2024年02月13日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包