04 2011 档案
Win32 结构化异常处理(SEH)探秘
摘要:Win32 结构化异常处理(SEH)探秘原著:Matt Pietrek原文出处:A Crash Course on the Depths of Win32? Structured Exception Handling 下载源代码 本文假设你熟悉 C++,Win32 摘要 Win32 结构化异常处理其核心是操作系统提供的服务,你能找到的关于 SEH 的所有文档都是描述一个特定的编译器运行时库,这个运行库包装着操作系统实现。在本文中,我将一层一层对 SEH 进行剥离,以便展现其最基本的概念。 在 Win32 操作系统提供的所有功能中,使用最广泛但最缺乏文档描述的也许就是结构化异常处理了(SEH), 阅读全文
posted @ 2011-04-29 16:53 sun_kang 阅读(3021) 评论(2) 推荐(2)
Java 序列化
摘要:引言将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口,使用 ObjectInputStream 和 ObjectOutputStream 进行对象的读写。然而在有些情况下,光知道这些还远远不够,文章列举了笔者遇到的一些真实情境,它们与 Java 序列化相关,通过分析情境出现的原因,使读者轻松牢记 Java 序列化中的一些高级认识。文章结构本文将逐一的介绍几个情境,顺序如下面的列表。序列化 ID 的问题静态变量序列化父类的序列化与 Transient 关 阅读全文
posted @ 2011-04-29 16:37 sun_kang 阅读(227) 评论(0) 推荐(0)
Difference between software interrupt, exception, trap
摘要:Definition and difference between Hardware interrupt, Software Interrupt, Exception, Trap and Signals?Answer:Interrupts can be categorized into two groups which are asynchronous interrupts (aka interrupt, hardware interrupt) and synchronous interrupts (aka exception). The former may arrive anytime, 阅读全文
posted @ 2011-04-29 10:15 sun_kang 阅读(719) 评论(0) 推荐(0)
Linux kerneltravel 内核模块介绍
摘要:走进Linux 操作系统:http://www.kerneltravel.net/journal/i/linuxsys.htmlhttp://www.kerneltravel.net/journal/i/03.htm系统引导:http://www.kerneltravel.net/journal/i/04.htm内存管理:http://www.kerneltravel.net/journal/v/mem.htmhttp://www.kerneltravel.net/?p=450内核中的调度与同步:http://www.kerneltravel.net/journal/vi/syn.htm文件系 阅读全文
posted @ 2011-04-28 13:55 sun_kang 阅读(231) 评论(0) 推荐(0)
Drill Into .NET Framework Internals to See How the CLR Creates Runtime Objects
摘要:This article discusses: SystemDomain, SharedDomain, and DefaultDomain Object layout and other memory specifics Method table layout Method dispatching Contents Domains Created by the CLR Bootstrap System Domain SharedDomain DefaultDomain LoaderHeaps Type Fundamentals ObjectInstance MethodTable Base I 阅读全文
posted @ 2011-04-28 13:19 sun_kang 阅读(1115) 评论(0) 推荐(0)
JNI 内存泄漏
摘要:JNI 编程简介JNI,Java Native Interface,是 native code 的编程接口。JNI 使 Java 代码程序可以与 native code 交互——在 Java 程序中调用 native code;在 native code 中嵌入 Java 虚拟机调用 Java 的代码。JNI 编程在软件开发中运用广泛,其优势可以归结为以下几点:利用 native code 的平台相关性,在平台相关的编程中彰显优势。对 native code 的代码重用。native code 底层操作,更加高效。然而任何事物都具有两面性,JNI 编程也同样如此。程序员在使用 JNI 时应当认 阅读全文
posted @ 2011-04-28 12:58 sun_kang 阅读(2753) 评论(1) 推荐(0)
驱动对象-设备对象-设备栈
摘要:用有限的几句话就舒舒服服的建立起对驱动对象和设备对象的概念是不可能的。刚开始是一片模糊,了解的多了,慢慢就清楚。下面的内容会使你对他们了解的清楚些。为了后面的叙述方便,首先列出驱动对象和设备对象的结构。驱动对象结构 DRIVER_OBJECT ,定义如下struct _DRIVER_OBJECT (sizeof=168)+00 int16 Type+02 int16 Size+04 struct _DEVICE_OBJECT *DeviceObject+08 uint32 Flags+0c void *DriverStart+10 uint32 DriverSize+14 void *Driv 阅读全文
posted @ 2011-04-19 15:26 sun_kang 阅读(627) 评论(0) 推荐(0)
Scheduling, Thread Context, and IRQL
摘要:Scheduling, Thread Context, andIRQLAbstractThis paper presents information about how thread scheduling, thread context, and a processor’s current interrupt request level (IRQL) affect the operation of kernel-mode drivers for the Microsoft® Windows® family of operating systems. It is intend 阅读全文
posted @ 2011-04-19 11:36 sun_kang 阅读(1073) 评论(0) 推荐(0)
Locks, Deadlocks, and Synchronization
摘要:Locks, Deadlocks, and SynchronizationApril 5, 2006AbstractThis paper explains how to use synchronization mechanisms to protect shared memory locations in kernel-mode drivers for the Microsoft® Windows® family of operating systems. By following the guidelines in this paper, driver writers w 阅读全文
posted @ 2011-04-19 11:31 sun_kang 阅读(1101) 评论(0) 推荐(0)
解开 Windows 下的临界区中的代码死锁
摘要:解开 Windows 下的临界区中的代码死锁Matt Pietrek和 Russ Osterlund 下载本文的代码:CriticalSections.exe (415KB) 摘要临界区是一种防止多个线程同时执行一个特定代码节的机制,这一主题并没有引起太多关注,因而人们未能对其深刻理解。在需要跟踪代码中的多线程处理的性能时,对 Windows 中临界区的深刻理解非常有用。 本文深入研究临界区的原理,以揭示在查找死锁和确认性能问题过程中的有用信息。它还包含一个便利的实用工具程序,可以显示所有临界区及其当前状态。在我们许多年的编程实践中,对于 Win32® 临界区没有受到非常多的“und 阅读全文
posted @ 2011-04-19 10:47 sun_kang 阅读(2020) 评论(0) 推荐(0)