zoukankan      html  css  js  c++  java
  • 系统调用的工作机制(下)

    给MenuOS增加time和time-asm命令

    中间过程已省略了,我们所做的只是将menu更新

    具体命令如下

    rm menu -rf 强制删除

    git clone http://github.com/mengning/menu.git 克隆相关信息

    cd menu make rootfs 

    使用gdb跟踪系统调用内核函数sys_time

    命令如下

    使用gdb跟踪调试内核

    qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S # 关于-s和-S选项的说明:
    另开一个shell窗口

    gdb
    (gdb)file linux-3.18.6/vmlinux # 在gdb界面中targe remote之前加载符号表
    (gdb)target remote:1234 # 建立gdb和gdbserver之间的连接,按c 让qemu上的Linux继续运行 加载符号表

    分析system_call中断处理过程

    将getpid添加到menu中

    首先在test.c的main函数中添加MenuConfig和相应函数

    测试添加成功

    调试过程如system_time,故不再重复

    从system_call到iret可以用下图表示

  • 相关阅读:
    dracut-initqueue timeout
    Request.Url
    ipv4 ipv6数据库存储
    DataRow To DataTable
    AS ShortCut
    linq on 多链接条件
    SQL逻辑查询语句执行顺序
    ckeditor 使用几点
    SqlDataAdapter 更新插入 与 InsertBulkCopy
    HTTP协议改HTTPS
  • 原文地址:https://www.cnblogs.com/huyufeng/p/5322852.html
Copyright © 2011-2022 走看看