给MenuOS增加time和time-asm命令

上周是从用户态的观点来理解系统调用,这周从内核态出发研究系统调用,通过跟踪调试,首先把上周的两个命令加到MenuOS中:

rm menu -rf 强制删除原menu文件
git clone http://github.com/mengning/menu.git 从github中克隆cd menu
make rootfs 运行自动编译脚本,生成根文件系统,启动MenuOS
  • 更新menu代码到最新版
  • 在main函数中增加MenuConfig(一个命令一行,与上面的格式一样)
  • 增加对应的time和time-asm函数(就是上周写的两个函数)
  • make rootfs (rootfs是一个脚本,可以自动生成,编译)

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

qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -Sgdb
(gdb)file linux-3.18.6/vmlinux //加载符号表 (gdb)target remote:1234 //连接 b sys_time:在系统调用time的位置设置断点 c:继续执行,停在断点处 n/s:单步运行,s进入函数,n不进入

实验

进入menu菜单

编辑makefile

make rootfs

老师的time功能

加入上周自己写的getpid功能。

展现自己的getpid功能。

转载于:https://www.cnblogs.com/20135118lpy/p/5325390.html

linux内核分析第五次实验相关推荐

  1. Linux内核分析——第五章 系统调用

    第五章 系统调用 5.1 与内核通信 1.系统调用在用户空间进程和硬件设备之间添加了一个中间层,该层主要作用有三个: (1)为用户空间提供了一种硬件的抽象接口 (2)系统调用保证了系统的稳定和安全 ( ...

  2. Linux内核分析 - 网络[五]:vlan协议-802.1q

    内核版本:2.6.34 802.1q 1. 注册vlan网络系统子空间, [cpp] view plaincopy err = register_pernet_subsys(&vlan_net ...

  3. linux内核分析实验三,linux内核分析第三次实验

    WIN10 CMD 启动虚拟WIFI 1.以管理员身份运行命令提示符: 快捷键win+R→输入cmd→回车 2.启用并设定虚拟WiFi网卡: 运行命令:netsh wlan set hostednet ...

  4. [网易云课堂]Linux内核分析(九)—— 课程总结

    付何山+原创作品转载请注明出处+<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000; 导读:本文分为两个部分 ...

  5. Linux内核分析期末总结

    <Linux内核分析>期末总结 20135313吴子怡.北京电子科技学院 Chapter1 往期博客传送门 (1)计算机是如何工作的:Linux内核分析--第一周学习笔记 (2)操作系统是 ...

  6. linux内核分析 网络九,“Linux内核分析”实验报告(九)

    一 Linux内核分析博客简介及其索引 本次实验简单的分析了计算机如何进行工作,并通过简单的汇编实例进行解释分析 在本次实验中 通过听老师的视频分析,和自己的学习,初步了解了进程切换的原理.操作系统通 ...

  7. Linux内核设计第五周学习总结 分析system_call中断处理过程

    陈巧然原创作品 转载请注明出处   <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 使用gdb跟踪分析一 ...

  8. 《Linux内核分析》实验一

    陈智威,<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 课堂学习笔记: 作业截图: 汇编代码堆栈分析: ...

  9. Linux 内核分析 之一:How Computer Works 实验

    说明 欧长坤 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 这学期学校恰好有操 ...

最新文章

  1. 世界顶级赛事百万座位如何做到票务限时匹配?
  2. pyqt 获取 UI 中组件_一起学Vue:UI框架(elementui)
  3. c++学习笔记之类的应用
  4. C++最全输入方式总结(cin、get、getchar、getline)
  5. Jerry Wang 2013年几篇比较受欢迎的SAP社区博客
  6. server sql 将出生日期转为年龄_在sql server表中有一个出生日期字段我怎么才能在当前年份改变时自动更新年龄字段...
  7. php维护session,维护带有cookie的PHP session_start()
  8. CCNA学习指南(第五版)下载地址
  9. 《python程序员面试宝典(陈屹)》chapter1 技术面试方法论
  10. 电动汽车蒙特卡洛分析matlab 通过matlab程序编写电动汽车蒙特卡洛模型
  11. CuteFTP Pro v8.3.1 (Build 08.07.2008.1) - patch - PakMan / Team SnD
  12. html网页设计模板
  13. 【NLP】第16章 Transformer驱动副驾驶的出现
  14. 线性代数系列(1)行列式
  15. 多年心路历程见证从技术小白到收获BAT等大厂研发offer,分享一些经验和感悟
  16. linux ida和idr分配机制
  17. 喜讯|星舆科技获得CMMI 3级认证,研发能力获国际认可!
  18. M-K趋势检验以及突变检验
  19. 网络术语MSL/TTL/RTT
  20. 测试wi-fi信号软件是什么,3个免费Wi-Fi实用软件 检测安全查信号

热门文章

  1. 主机测评软件_海外主机测评丨SugarHosts 美国虚拟主机测评
  2. oracle 的 dml,Oracle——DML
  3. Cordova iOS WKWebView 整改完美解决方案
  4. ionic4 背景设置动态图片报错WARNING: sanitizing unsafe style value background-image:url
  5. 计算机组成原理李玉玲,2005年高等教育国家级教学成果奖初审结果公告-山东大学.DOC...
  6. linux7重装linux6,CentOS6远程重装7过程
  7. 我的世界中国版服务器无限夜视,我的世界中国版怎么无限夜视_我的世界夜视药水怎么合成_我的世界怎么永久夜视...
  8. mysql 两个数相加_LeetCode 01两数之和02两数相加
  9. 废品机械师双脚机器人教程_废品机械师自动寻物机器人图文教程_快吧单机游戏...
  10. 2008r2无线服务器,2008r2云服务器