当前位置: 首页 > news >正文

【头歌】操作系统 课堂练习2.3:系统调用

课堂练习2.3:系统调用

第1关:版本1内核执行的前 3 个系统调用

任务:分析版本1内核,回答下列问题:
系统运行时,执行的前 3 个系统调用的编号和名字分别是什么?

第1关 任务过程
打开终端,输入以下代码:
cp /data/workspace/myshixun/exp1/1.tgz ~/os cd ~/os/linux-0.11-lab tar -zxvf ../1.tgz rm -rf cur ln -s 1 cur cd 1/linux make cd ../.. ./rungdb
打开另一个终端,输入以下代码:
cd ~/os/linux-0.11-lab ./mygdb
此时会进入gdb,在gdb输入:
b system_call c disas display $eax b *0x7780 c x/3i $eip si
再次在gdb输入:
b system_call c disas display $eax b *0x7780 c x/3i $eip si
再次在gdb输入:
b system_call c disas display $eax b *0x7780 c x/3i $eip si
在文件中正确输入答案:

第2关:命令 ls 执行的系统调用

任务:分析版本1内核,回答问题:

系统启动后,在可执行文件 ls 运行时(无参数),会依次执行哪些系统调用?

第2关 任务过程
打开终端,输入以下代码:

cd ~/os/linux-0.11-lab tar -zxvf ../0.tgz rm -rf cur ln -s 0 cur cd 0/linux make cd ../.. ./rungdb
打开另一个终端,输入以下代码:
cd ~/os/linux-0.11-lab ./mygdb
此时会进入gdb,输入以下代码:
b do_execve commands 2 p current->start_code+filename end c
此时请再次输入c,直到只出现continue,后在 bochs 虚拟机画面输入命令 ls 并回车:
b system_call commands 3 p $eax p sys_call_table[$eax] end
然后开始输入单行c(大概20个左右),注意不要打太多或太少,最后测评,不行就再输
输入相应答案:

http://www.jsqmd.com/news/582633/

相关文章:

  • OpenMS实战指南:如何用开源工具解决质谱数据分析三大难题
  • 春游出发前买酒外卖来得及吗?歪马送酒大额券解锁春日微醺新方式 - 资讯焦点
  • 论文查重还在花冤枉钱?Paperxie 免费查重,本科生的毕业省钱神器
  • SQL优化让查询提升10倍——从数据库工程到执行计划深度解析
  • 2026海外网红营销内容合作与策划最佳实践
  • 数据分析之事实表(Fact Table)
  • 代码随想录算法训练营第一天 | Leetcode 704.二分查找 | Leetcode 27.移除元素 | Leetcode 977.有序数组的平方 (c#和c++双语)
  • 履约门槛再次大修!TikTok美区全面强制官方物流后,卖家该怎样守住前台账号的安全底线?
  • 露营烧烤喝什么精酿比较潮?歪马送酒大额券帮你省出潮饮预算 - 资讯焦点
  • AI辅助开发:让快马AI理解并生成ccswitch工具的核心逻辑与UI管理代码
  • AgentCPM-Report高效部署教程:GPU显存优化+流式输出配置详解
  • async/await:异步编程的“读心术”|从原理到避坑,一篇吃透!
  • 追剧想喝点酒外卖哪里买方便?歪马送酒大额券解锁便捷微醺 - 资讯焦点
  • 解决FTPS连接问题:从握手失败到成功连接的实战
  • 《Docker 部署 Elasticsearch + Kibana:搭建自己的日志搜索平台》
  • 117. 如何在Rancher监控中测试 AlertManager
  • GitHub 学生认证须知
  • 学会OpenClaw后,我的摸鱼时间又变长了
  • 如何通过LAV Filters解决媒体播放难题?开源解码工具完整优化指南
  • STM32H723ZGT6 与 STM32F103RCT6 硬核对比,从参数到实战的全维度精准解析
  • 2026最新户外文旅灯光设计厂家推荐!权威榜单发布,品质服务双优 - 十大品牌榜
  • LFM2.5-1.2B-Thinking-GGUF版本管理与协作:GitHub工作流中的AI助手
  • 苏州日料哪家优惠力度大?火地铁板烧口令解锁隐藏福利,性价比碾压同档门店 - 资讯焦点
  • 为什么 ABAP 开发团队现在要认真看待 AI 这项能力
  • Ruby短信营销接口示例代码:Ruby开发环境下营销短信API接口的集成与Demo演示
  • 《从Claude Code泄露源码看工程架构:导读》
  • pre-pre-training的规则系统有哪些
  • 分子动力学自由能计算实战指南:从理论到实践掌握gmx_MMPBSA
  • 腾讯云摆摊、淘宝卖20万:OpenClaw掀起的自动化风暴,到底是什么?
  • BEVFormer论文复现