首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以从初始启动跟踪Linux源代码到桌面-GUI用户代码?

问是否可以从初始启动跟踪Linux源代码到桌面-GUI用户代码?
EN

Unix & Linux用户
提问于 2013-11-16 22:00:55
回答 4查看 134关注 0票数 2

我想知道,由于Linux是100%的开放源码,是否有可能遵循Linux的逐行指令来观察操作系统是如何完全工作的,这样人们就可以更好地了解OSes引导、加载进程、管理时间许可进程/多任务处理、加载驱动程序、进行系统调用、通过API操作、用户模式线程访问驱动程序、GUI/X窗口系统连接以及驱动程序到驱动程序的交互。

是否有可能从源中进行这一操作,即线性跟踪源的可行性,以及它是否是线性的?

EN

回答 4

Unix & Linux用户

发布于 2013-11-17 08:21:42

我怀疑这比迈克尔·克约林( Michael Rling)和“行动纲领”( OP )所理解的要困难得多。

OP似乎认为CPU的操作是一条直线,单时间线,任务是按顺序执行的。迈克尔·克约林( Michael Rling)重申了这种印象,他说,任何给定的核心都严格按照顺序执行每一个周期的指令。

这在微观层面上肯定是不完整的(今天的pcs有多个CPU),在中观/宏观层面上没有帮助。

我们用宏观变量来描述所有复杂的系统;有时这是因为这些只是我们可以接触到的变量,但它们的用处主要不是容易获得的。我们并不是通过描述所有粒子的位置和速度来描述气体,而是使用压力/体积/温度/熵。

同样,我们不通过CPU指令来描述机器状态,而是根据正在执行的任务和服务来描述机器状态。因此,在任何给定的时间,都有多个进程在运行和交换信息,通常是协调一致的(有时甚至是在竞争中,可悲的是)以实现一个共同的目标。

在计算机科学中,压力/体积/熵/温度的等效是抽象层,是机器执行的任务的简化表示,而不考虑执行任务的代理的实际实现。ALs广泛存在于计算机科学领域,从HALs到OSI层等等。

要求一步一步地表示pc操作,就像放弃湍流理论中的奇异吸引子,而采用多粒子流体描述。或者试图通过研究化学键来解码人类基因组。其中一个建立在另一个之上,但是新的抽象层提供了无法想象的洞察力。

票数 2
EN

Unix & Linux用户

发布于 2013-11-16 23:19:53

您可以查看源代码并了解系统如何工作(如果您非常了解C/C++和程序集)。据我所知,代码不是线性的。

票数 1
EN

Unix & Linux用户

发布于 2013-11-17 09:54:21

很可能你能得到的是一些在线调试器和systemd的日志守护进程,它很早就记录了一切(早在传统的日志记录功能之前)。

如果这还不够,并且您希望在较低级别上运行跟踪系统,您可以在像QEMU这样的虚拟环境中运行linux,这将允许深入了解内部信息,在动态内核上使用gdb等等。关于如何为活动内核设置QEMU及其整个映像调试,有一些教程:http://www.cs.rochester.edu/~sandhya/csc256/assignments/qemu_linux.html

还请看一下用于调试的内核内部工具的stackowerflow问题:https://stackoverflow.com/questions/4943857/linux-kernel-live-debugging-how-its-done-and-what-tools-are-used

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/101446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档