MIT6.S081笔记:Lab2 System Calls

Lab2 System Calls

Operating System Organization

xv6 源码结构如下图所示:

img

进程的内存分布图:

img

Pre

ecall

img

System Init

Lab: System Calls

System Call Tracing

实现 trace 工具

工具格式

trace mask cmd

当执行 cmd 时,打印 mask 指定的系统调用以及相关信息——进程id,系统调用名,返回值。如下图所示:

img

32 为 read 系统调用的编号

3 为进程号

read 为系统调用名

之后的数字为 read 的返回值

如上图所示,其后 cmd 调用过程中 fork 出的子进程相关系统调用也应该进行打印。

文件

Sysinfo

  1. 得到空闲进程数
  2. 得到空闲内存数

img

在内核态填充这个结构中的两个字段,并复制到用户态。

Reference

posted on   LambdaQ  阅读(45)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示