- @[toc] 第一章 操作系统概述1,操作系统定义:操作系统(Operating System)使计算机系统中的一个==系统软件==,是一些程序模块的集合,它能以尽量有效,合理的方式==组织和管理计算机的软硬件资源==,合理组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得计算机系统高效地运行。(没有广泛接受的标准定义)2,操作系统中一些名词解释名词解释ROM(Read-O... @[toc] 第一章 操作系统概述1,操作系统定义:操作系统(Operating System)使计算机系统中的一个==系统软件==,是一些程序模块的集合,它能以尽量有效,合理的方式==组织和管理计算机的软硬件资源==,合理组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得计算机系统高效地运行。(没有广泛接受的标准定义)2,操作系统中一些名词解释名词解释ROM(Read-O...
- 源码角度了解Skywalking之告警机制是怎么实现的 告警初始化 检查是否触发告警 发送告警信息 告警信息持久化 发送告警信息给第三方 总结 源码角度了解Skywalking之告警机制是怎么实现的我们在使用Skywalking的时候有没有想过它的告警机制是怎么实现的呢,本篇文章就介绍一下它的告警机制的实现机制skywalking插件的源码部分在server-alarm-plugin 模块... 源码角度了解Skywalking之告警机制是怎么实现的 告警初始化 检查是否触发告警 发送告警信息 告警信息持久化 发送告警信息给第三方 总结 源码角度了解Skywalking之告警机制是怎么实现的我们在使用Skywalking的时候有没有想过它的告警机制是怎么实现的呢,本篇文章就介绍一下它的告警机制的实现机制skywalking插件的源码部分在server-alarm-plugin 模块...
- 源码角度了解Skywalking之Trace可以跨线程吗 使用 实现原理 CallableOrRunnableConstructInterceptor CallableOrRunnableInvokeInterceptor beforeMethod()方法 afterMethod()方法 总结 源码角度了解Skywalking之Trace可以跨线程吗Trace信息是一个重要的信息,那么Sk... 源码角度了解Skywalking之Trace可以跨线程吗 使用 实现原理 CallableOrRunnableConstructInterceptor CallableOrRunnableInvokeInterceptor beforeMethod()方法 afterMethod()方法 总结 源码角度了解Skywalking之Trace可以跨线程吗Trace信息是一个重要的信息,那么Sk...
- 源码角度了解Skywalking之Skywalking是如何进行JVM监控的 JVMService prepare()方法 boot()方法 run()方法 Sender run()方法: 总结 源码角度了解Skywalking之Skywalking是如何进行JVM监控的大家都知道Skywalking可以监控Java的JVM情况,包括垃圾回收情况等等,那么它是怎么实现的呢?今天就带大家一探... 源码角度了解Skywalking之Skywalking是如何进行JVM监控的 JVMService prepare()方法 boot()方法 run()方法 Sender run()方法: 总结 源码角度了解Skywalking之Skywalking是如何进行JVM监控的大家都知道Skywalking可以监控Java的JVM情况,包括垃圾回收情况等等,那么它是怎么实现的呢?今天就带大家一探...
- 源码角度了解Skywalking之Skywalking是怎么收集Trace信息的 Trace信息收集 Trace信息的发送 总结 源码角度了解Skywalking之Skywalking是怎么收集Trace信息的上篇文章我们了解到SKywalking的Trace信息的生成和采样,今天我们分析一下Skywalking是怎么收集这些Trace信息发送给OAP的。 Trace信息收集Trace信息... 源码角度了解Skywalking之Skywalking是怎么收集Trace信息的 Trace信息收集 Trace信息的发送 总结 源码角度了解Skywalking之Skywalking是怎么收集Trace信息的上篇文章我们了解到SKywalking的Trace信息的生成和采样,今天我们分析一下Skywalking是怎么收集这些Trace信息发送给OAP的。 Trace信息收集Trace信息...
- 源码角度了解Skywalking之Trace信息的采样一条请求链路产生那么多trace信息,skywalking是每条trace都进行采集吗?显然不是,这就涉及到skywalking的采样了,我们看一下SKywalking是怎么对Trace信息进行采样的 采样采样涉及到的类是SamplingService,在上篇文章中我们分析ContextManager的createEntrySpan()... 源码角度了解Skywalking之Trace信息的采样一条请求链路产生那么多trace信息,skywalking是每条trace都进行采集吗?显然不是,这就涉及到skywalking的采样了,我们看一下SKywalking是怎么对Trace信息进行采样的 采样采样涉及到的类是SamplingService,在上篇文章中我们分析ContextManager的createEntrySpan()...
- 源码角度了解Skywalking之Trace信息的生成TraceId是分布式链路的一个信息,可以通过它定位一条链路 TraceId的生成Skwalking的TraceId的生成是通过GlobalIdGenerator的generate()方法来生成的,第一部分:具体是应用程序实例 ID第二部分:线程 ID第三部分:时间戳*10000+当前线程中的 seq,seq的值介于 0(包含)和 99... 源码角度了解Skywalking之Trace信息的生成TraceId是分布式链路的一个信息,可以通过它定位一条链路 TraceId的生成Skwalking的TraceId的生成是通过GlobalIdGenerator的generate()方法来生成的,第一部分:具体是应用程序实例 ID第二部分:线程 ID第三部分:时间戳*10000+当前线程中的 seq,seq的值介于 0(包含)和 99...
- 源码角度了解Skywalking之建立连接与服务注册这篇文章主要讲一下Agent与OAP建立连接并进行服务注册。从SkyWalking的启动流程SkyWalkingAgent的premain()中我们了解到调用ServiceManager.INSTANCE.boot()来启动插件服务,并分析了利用SPI机制加载配置的各种插件的BootService,然后依次遍历BootService实例,... 源码角度了解Skywalking之建立连接与服务注册这篇文章主要讲一下Agent与OAP建立连接并进行服务注册。从SkyWalking的启动流程SkyWalkingAgent的premain()中我们了解到调用ServiceManager.INSTANCE.boot()来启动插件服务,并分析了利用SPI机制加载配置的各种插件的BootService,然后依次遍历BootService实例,...
- 源码角度了解ConcurrentLinkedQueueConcurrentLinkedQueue是基于链表的线程安全的队列,队列遵循先进先出的策略,新元素插入到尾部,获取元素获取的是队列的头部元素,队列的元素不可以为null一开始头部指针和尾部指针都指向null 入队列方法offer()方法offer()方法是将元素插入队列尾部,因为队列是无界的,这个方法永远不会返回falsepublic... 源码角度了解ConcurrentLinkedQueueConcurrentLinkedQueue是基于链表的线程安全的队列,队列遵循先进先出的策略,新元素插入到尾部,获取元素获取的是队列的头部元素,队列的元素不可以为null一开始头部指针和尾部指针都指向null 入队列方法offer()方法offer()方法是将元素插入队列尾部,因为队列是无界的,这个方法永远不会返回falsepublic...
- 这篇文章比较特殊,是一篇穿插答疑文章,由于刚好在前一篇教程`《驱动开发:内核枚举PspCidTable句柄表》`整理了枚举句柄表的知识点,正好这个知识点能解决一个问题,事情是这样的有一个粉丝求助了一个问题,想要枚举出驱动中活动的线程信息,此功能我并没有尝试过当时也只是说了一个大致思路,今天想具体聊一聊这个话题,也想聊一聊自己对粉丝们的想法。 这篇文章比较特殊,是一篇穿插答疑文章,由于刚好在前一篇教程`《驱动开发:内核枚举PspCidTable句柄表》`整理了枚举句柄表的知识点,正好这个知识点能解决一个问题,事情是这样的有一个粉丝求助了一个问题,想要枚举出驱动中活动的线程信息,此功能我并没有尝试过当时也只是说了一个大致思路,今天想具体聊一聊这个话题,也想聊一聊自己对粉丝们的想法。
- 在笔者上一篇文章`《驱动开发:Win10枚举完整SSDT地址表》`实现了针对`SSDT`表的枚举功能,本章继续实现对`SSSDT`表的枚举,`ShadowSSDT`中文名`影子系统服务描述表`,SSSDT其主要的作用是管理系统中的图形化界面,其`Win32`子系统的内核实现是`Win32k.sys`驱动,属于GUI线程的一部分,其自身没有导出表,枚举`SSSDT`表其与`SSDT`原理基本一致。 在笔者上一篇文章`《驱动开发:Win10枚举完整SSDT地址表》`实现了针对`SSDT`表的枚举功能,本章继续实现对`SSSDT`表的枚举,`ShadowSSDT`中文名`影子系统服务描述表`,SSSDT其主要的作用是管理系统中的图形化界面,其`Win32`子系统的内核实现是`Win32k.sys`驱动,属于GUI线程的一部分,其自身没有导出表,枚举`SSSDT`表其与`SSDT`原理基本一致。
- 在笔者上一篇文章`《驱动开发:内核枚举Registry注册表回调》`中我们通过特征码定位实现了对注册表回调的枚举,本篇文章`LyShark`将教大家如何枚举系统中的`ProcessObCall`进程回调以及`ThreadObCall`线程回调,之所以放在一起来讲解是因为这两中回调在枚举是都需要使用通用结构体`_OB_CALLBACK`以及`_OBJECT_TYPE`所以放在一起来讲解最好不过。 在笔者上一篇文章`《驱动开发:内核枚举Registry注册表回调》`中我们通过特征码定位实现了对注册表回调的枚举,本篇文章`LyShark`将教大家如何枚举系统中的`ProcessObCall`进程回调以及`ThreadObCall`线程回调,之所以放在一起来讲解是因为这两中回调在枚举是都需要使用通用结构体`_OB_CALLBACK`以及`_OBJECT_TYPE`所以放在一起来讲解最好不过。
- 在前面的文章中`LyShark`一直在重复的实现对系统底层模块的枚举,今天我们将展开一个新的话题,内核监控,我们以`监控进程线程`创建为例,在`Win10`系统中监控进程与线程可以使用微软提供给我们的两个新函数来实现,此类函数的原理是创建一个回调事件,当有进程或线程被创建或者注销时,系统会通过回调机制将该进程相关信息优先返回给我们自己的函数待处理结束后再转向系统层。 在前面的文章中`LyShark`一直在重复的实现对系统底层模块的枚举,今天我们将展开一个新的话题,内核监控,我们以`监控进程线程`创建为例,在`Win10`系统中监控进程与线程可以使用微软提供给我们的两个新函数来实现,此类函数的原理是创建一个回调事件,当有进程或线程被创建或者注销时,系统会通过回调机制将该进程相关信息优先返回给我们自己的函数待处理结束后再转向系统层。
- 在笔者上一篇文章`《驱动开发:内核枚举进程与线程ObCall回调》`简单介绍了如何枚举系统中已经存在的`进程与线程`回调,本章`LyShark`将通过对象回调实现对进程线程的`句柄`监控,在内核中提供了`ObRegisterCallbacks`回调,使用这个内核`回调`函数,可注册一个`对象`回调,不过目前该函数`只能`监控进程与线程句柄操作,通过监控进程或线程句柄,可实现保护指定进程线程不被终止 在笔者上一篇文章`《驱动开发:内核枚举进程与线程ObCall回调》`简单介绍了如何枚举系统中已经存在的`进程与线程`回调,本章`LyShark`将通过对象回调实现对进程线程的`句柄`监控,在内核中提供了`ObRegisterCallbacks`回调,使用这个内核`回调`函数,可注册一个`对象`回调,不过目前该函数`只能`监控进程与线程句柄操作,通过监控进程或线程句柄,可实现保护指定进程线程不被终止
- 在笔者上一篇文章`《驱动开发:内核注册并监控对象回调》`介绍了如何运用`ObRegisterCallbacks`注册`进程与线程`回调,并通过该回调实现了`拦截`指定进行运行的效果,本章`LyShark`将带大家继续探索一个新的回调注册函数,`PsSetLoadImageNotifyRoutine`常用于注册`LoadImage`映像监视,当有模块被系统加载时则可以第一时间获取到加载模块信息,需要 在笔者上一篇文章`《驱动开发:内核注册并监控对象回调》`介绍了如何运用`ObRegisterCallbacks`注册`进程与线程`回调,并通过该回调实现了`拦截`指定进行运行的效果,本章`LyShark`将带大家继续探索一个新的回调注册函数,`PsSetLoadImageNotifyRoutine`常用于注册`LoadImage`映像监视,当有模块被系统加载时则可以第一时间获取到加载模块信息,需要
上滑加载中
推荐直播
-
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-道通无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
即将直播
热门标签