我最近在操作系统上开始了一堂课,我的一项工作涉及从代码调用系统调用getpid(),该代码通过在OS中的实现,再调用系统库,再返回至系统库和用户。程序。我真的迷路了,不知道从哪里开始。我使用了strace,但看到了getpid(),但我不明白如何遵循它。
我以为我应该看看getpid()编写的系统调用。有人可以告诉我我是否走在正确的轨道上,如果不能提供一些建议以了解strace的输出?
…我的一项工作涉及从系统调用getpid()开始,该代码从调用系统库的代码开始,直到它在OS中的实现,再回到系统库和用户程序。我真的迷路了,也不知道该从哪里开始。
开始分配的起点:(1)来自进行调用的代码。然后继续(2)系统库函数getpid
,(3)其在OS中的实现,回到系统库,(4)和用户程序。
我使用了strace…
strace
仅向您显示操作系统的调用方式和返回的方式。对于分配,您必须学习源代码或使用调试器,包括内核调试器。