Windows NT内核函数调用追踪技术研究

0 下载量 129 浏览量 更新于2024-07-14 收藏 3.26MB PDF 举报
"Tracing Function Calls in the Windows NT Kernel - Charles University in Prague - Roman Kápl - Bachelor Thesis - 2015" 这篇博士论文详细探讨了在Windows NT内核中追踪函数调用的技术和方法。作者Roman Kápl在查尔斯大学数学与物理学院的分布式和可靠系统部门完成了这项研究,指导教师是Pavel Ježek博士,专业方向为计算机科学编程。 论文的主要目标是帮助理解和分析操作系统,特别是Windows NT内核的复杂性。对于那些希望深入了解操作系统工作原理的学生和研究人员来说,这是一个宝贵的资源。函数调用跟踪是操作系统调试和性能分析的关键工具,它允许开发者监控系统级别的事件,如系统调用、内核模式函数调用,以及它们之间的交互。 在Windows NT内核中,函数调用的追踪涉及到了诸如IRP(I/O请求包)处理、中断处理、线程调度等核心操作。论文可能涵盖了如何利用内核调试器(如WinDbg)和其他专门的工具来实现这一点,这些工具可以帮助捕获和分析系统中的函数调用流。此外,可能还讨论了内核模式驱动程序编程,以及如何通过编写特定的驱动程序或扩展来增强跟踪能力。 论文可能包括以下内容: 1. Windows NT内核架构简介:概述内核的基本组件和服务,如执行体、调度器和内存管理。 2. 跟踪技术:介绍各种函数调用跟踪技术,如软件断点、硬件断点、事件追踪(如ETW,Event Tracing for Windows)和内核日志记录。 3. 实践应用:通过具体的案例研究展示如何在实际环境中实施函数调用追踪,以诊断问题或优化性能。 4. 法律框架:提及了作品的版权法律,指出查尔斯大学有权根据版权法规定使用该作品。 5. 实验与结果:可能包括实验设计和分析,展示了追踪功能如何帮助识别和解决操作系统中的问题。 通过这篇论文,读者不仅可以了解到Windows NT内核的内部工作,还可以学习到如何有效地使用调试工具进行系统级分析,这对于系统开发者、内核程序员和性能工程师来说都是非常实用的知识。

2023-06-09 09:46:11.022252: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1900] Ignoring visible gpu device (device: 0, name: GeForce GT 610, pci bus id: 0000:01:00.0, compute capability: 2.1) with Cuda compute capability 2.1. The minimum required Cuda capability is 3.5. 2023-06-09 09:46:11.022646: I tensorflow/core/platform/cpu_feature_guard.cc:151] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX AVX2 To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. WARNING:tensorflow:5 out of the last 9 calls to <function Model.make_test_function.<locals>.test_function at 0x0000017BB39D0670> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/guide/function#controlling_retracing and https://www.tensorflow.org/api_docs/python/tf/function for more details. WARNING:tensorflow:6 out of the last 11 calls to <function Model.make_test_function.<locals>.test_function at 0x0000017BB3AE83A0> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/guide/function#controlling_retracing and https://www.tensorflow.org/api_docs/python/tf/function for more details.

2023-06-10 上传