Windows Internals Day 3 Course Trainsec

Windows Internals: Day 3 of 5, the Kernel Mechanisms Course

See the kernel mechanisms the rest of Windows is built on. Pavel Yosifovich, co-author of Windows Internals, explains interrupts and IRQLs, exceptions, system crashes, the object manager and handles, synchronization, NT global flags, ETW and WoW64, and shows each one live.

49 Lessons
Lifetime access

$149

blue depth
Windows Internal master badge 1

This course is part of Windows Internals Master

$1356 or $140 X 10 installments
Trusted by 10K+ students and companies
Sentinel one logo white
microsoft logo white
google logo white
mandiant logo white
intel logo white
cisco white logo tr
citibank logo white
alfa bank logo white
malwarebytes logo white
proofpoint logo white
epam logo white
Sentinel one logo white
microsoft logo white
google logo white
mandiant logo white
intel logo white
cisco white logo tr
citibank logo white
alfa bank logo white
malwarebytes logo white
proofpoint logo white
epam logo white

7+ hours

on-demand video

Live demos

in WinDbg and Process Explorer

41

video lessons

8

labs and downloads

7 CPE

CEU credits, self-reported

Certification

Certificate of completion

Windows kernel mechanisms course: follow how interrupts, exceptions, objects and locks work inside Windows

Windows kernel mechanisms are what the rest of Windows is built on. In this pre-recorded course, Pavel Yosifovich, co-author of Windows Internals, 7th Edition, Part 1 (Microsoft Press), explains interrupts and IRQLs, exceptions and SEH, system crashes, the object manager and handles, synchronization, NT global flags, ETW and WoW64, then shows each one live in tools such as WinDbg, Process Explorer and WinObj.

It is the third of the five courses in the series, and it goes underneath the processes and threads of Day 2 to the mechanisms that support them.

The course has 41 pre-recorded video lessons, 7 hours 30 minutes of video, with English captions. You also get the slides PDF, the labs PDF, a ZIP of labs and demos, and five text lab lessons. You learn at your own pace, with lifetime access.

Pavel Yosifovich
Pavel Yosifovich
Developer, trainer, author and (sometimes) speaker. Co-founder of TrainSec academy.

Pavel has been working at the lowest levels of Windows for more than 25 years, as a developer, consultant, trainer, author and speaker, and is a Microsoft MVP. He is the co-author of “Windows Internals, 7th Edition, Part 1” (Microsoft Press) and the author of “Windows Kernel Programming”, “Windows 10 System Programming” and “Windows Native API Programming”.

In this course he explains the kernel mechanisms that Windows is built on, and shows each of them live in the kernel debugger and Sysinternals tools.

What will you be able to do after Day 3?

Who is this Windows kernel mechanisms course for?

  • Students who finished Windows Internals Day 1 and Day 2 and want the next layer: interrupts, exceptions, objects and synchronization.
  • Windows developers who want to understand handles, kernel objects and object sharing between processes.
  • Future driver and kernel developers who need IRQLs, DPCs, APCs and kernel locks explained before writing kernel code.
  • Engineers who troubleshoot blue screens, hangs or handle leaks and want to read crash dumps in WinDbg.
  • Security researchers and analysts who want to understand the object namespace, handle tables, APCs and ETW.
  • Anyone working toward the Windows Internals Master learning path.

Not the right fit if you are completely new to Windows internals (start with Windows Internals: Day 1, then Day 2), if you want memory management (Windows Internals: Day 4), the I/O system, drivers and the security model (Windows Internals: Day 5), or to write kernel drivers hands-on (Windows Kernel Programming 1).

What do you need before you start?

  • Windows Internals: Day 1 and Day 2 are recommended. Day 3 builds on their processes, threads, handles and WinDbg basics, and the lessons assume that background.
  • You should be able to read C and C++. Several demos are small Win32 programs in Visual Studio, but the focus is understanding the mechanisms, not writing large programs.
  • A Windows 10 or 11 machine with WinDbg, the Sysinternals tools (Process Explorer, WinObj, NotMyFault) and Visual Studio to build the demos. A virtual machine is a sensible choice for kernel debugging and the crash labs.

What does this Windows kernel mechanisms course cover?

The course has nine chapters: an introduction with notes on kernel design, interrupts, exceptions, system crashes, two chapters on object management with one on sharing kernel objects between them, synchronization, and a closing chapter on NT global flags, ETW and WoW64.

It is part of the Windows Internals Master learning path and the Windows Internals Bundle.

How do interrupts, IRQLs and DPCs work in Windows?

IRQL is a per-processor property, stored in CR8 on x64. At IRQL 2 and above there is no scheduler, no waiting and no access to paged memory, and breaking those rules means a blue screen. You follow a hardware interrupt through the interrupt controller to the interrupt dispatch table, view the IDT and KINTERRUPT objects in the kernel debugger, and see why work is deferred to a DPC on a per-processor queue.

How does Structured Exception Handling work in Windows?

You use __try, __except, __finally and __leave, and the three filter results: execute handler, continue search and continue execution. The course shows how C++ and .NET exceptions build on SEH, what first and second chance exceptions are, and how RAII gives you the equivalent of finally in C++.

What happens when Windows crashes, and how do you start reading the dump?

The System Crash chapter explains why the kernel bug checks, what to configure in Startup and Recovery, and the dump types. You read a bug check code and its four parameters, open a dump in WinDbg, run analyze -v, and get a dump from a hung system with NotMyFault, kdump64 or a keyboard-initiated crash. This is an introduction: Mastering WinDbg goes deeper into dump analysis, and our knowledge library has a practical deep dive on the blue screen of death.

How do the object manager and handles track every kernel object?

You browse the object namespace with WinObj, then look at object headers and types, handle table entries and reference counts in Process Explorer and the kernel debugger. A hands-on experiment creates mutexes in a loop until failure, reaching about 16.7 million handles in one process, and measures what they cost in paged and non-paged pool. See also our post on the maximum handles in a process.

How can two processes share a kernel object?

Every process has its own handle table, so there are three ways to share: by name, by handle inheritance when a child process is created, and with DuplicateHandle for processes that are already running. The course compares the trade-offs, including the need to communicate handle values, and shows why visible names can be hijacked and how private namespaces help. Read more in our post on sharing kernel objects by name.

Which synchronization primitive fits: mutex, critical section, executive resource or fast mutex?

The chapter starts from data races and the Interlocked functions, then covers dispatcher objects and their signaled states, the mutex with ownership and abandonment, the semaphore, manual and auto reset events, the user-mode critical section, and the kernel’s executive resource and fast mutex. An interlude covers APC types and IRQL 0 and 1 behavior. For writing multithreaded applications, see Windows System Programming 2. Spin locks are mentioned but not covered.

What do NT global flags and ETW let you see?

NT global flags, set through the registry, GFlags and Image File Execution Options, turn on debugging aids such as loader snaps and page heap. One lesson then introduces Event Tracing for Windows: providers, controllers, sessions and consumers, with a survey of the main tools. To go further, read capturing ETW events in C++ and our introduction to the Windows Performance Analyzer.

How does WoW64 run 32-bit programs on 64-bit Windows?

The kernel is 64-bit only, so a special 32-bit ntdll and helper DLLs translate calls to the real 64-bit ntdll. The course covers System32 and SysWOW64, file system and registry redirection, the restrictions that apply, the two TEBs and stacks each thread has, and the WinDbg commands for WoW64 processes.

Why do these mechanisms matter for security work?

Attackers and defensive tools rely on the same mechanisms. As concepts, the course explains how visible object names can be hijacked, how handle tables work, why APCs matter, and that ETW events can help detect APC-based injection. It stays at the internals level and is not a course on attack techniques.

Which tools, labs and downloads will you work with?

The demos use WinDbg, Process Explorer, WinObj, Object Explorer, NotMyFault, kdump64, Driver Verifier, Visual Studio, GFlags and the main ETW tools. There are five text labs: the IDT, object headers, NotMyFault, maximum handles and mutex. Downloads are the slides PDF, the labs PDF and a ZIP of labs and demos.

What comes after Windows Internals Day 3?

Continue with Windows Internals: Day 4 (memory management) and Windows Internals: Day 5 (I/O and security). To write drivers, Windows Kernel Programming 1 builds directly on the IRQL, DPC and synchronization material here. Mastering WinDbg teaches the debugger itself in depth, and Sysinternals Tools Deep Dive 1 teaches Process Explorer, WinObj and NotMyFault as tools.

To buy all five days together, see the Windows Internals Bundle. The Windows Internals Master learning path also includes this course.

What does each chapter of the course cover?

Introduction

The topics of the day and an aside on kernel design: the path from user mode to the kernel through system calls, Nt and Zw functions, kernel function naming prefixes, and handle versus object pointer APIs.

Interrupts

Hardware interrupt handling in Windows: interrupt controllers and vectors, interrupt service routines, the interrupt dispatch table in the debugger, IRQLs and their restrictions, and DPCs as the way to defer work to IRQL 2.

Exceptions

Processor exceptions and Structured Exception Handling: exception dispatching, __try, __except, __finally and __leave, filter results, how C++ and .NET exceptions build on SEH, first and second chance exceptions, and RAII as finally in C++.

System Crash

Why the kernel bug checks, crash dump configuration and types, reading bug check codes and parameters, dump analysis in WinDbg, and ways to force dumps with NotMyFault, kdump64 or a keyboard shortcut.

Object Management

The named-object namespace in WinObj, object header and type structure, handle table entries and flags, and inspecting objects, headers, types and security descriptors in Process Explorer and the kernel debugger.

Sharing Kernel Objects

The three ways to share kernel objects across processes: by name (with name visibility risks and private namespaces), handle inheritance at child process creation, and DuplicateHandle for running processes. Each is demonstrated with Process Explorer and the trade-offs are compared.

Object Management (Part 2)

A maximum-handles experiment showing memory cost in paged and non-paged pool, a recap of Create, Open and Close and ObReferenceObjectByHandle for kernel code, and the rules for object names, including sessions, the Global prefix and private namespaces. It ends by contrasting kernel objects with USER and GDI objects.

Synchronization

Data races, Interlocked functions and dispatcher objects with their signaled states. The mutex (ownership, recursion, abandoned mutex), semaphore, event, user-mode critical section, and the kernel executive resource and fast mutex, with an interlude on APC types and IRQL 0 and 1 behavior.

More Mechanisms

NT global flags (registry, Image File Execution Options, GFlags, loader snaps, page heap, debugger redirection), Event Tracing for Windows with its architecture and tooling, and WoW64, including how 32-bit code reaches the 64-bit kernel, file and registry redirection, restrictions, and debugging WoW64 processes.

Windows kernel mechanisms course: frequently asked questions

Do I need to take Day 1 and Day 2 before Day 3?

It is recommended. Day 3 builds on the processes, threads, handles and WinDbg basics taught in Days 1 and 2, and the lessons assume that background.

Do I need to know how to program?

You should be able to read C and C++. Several demos (SEH, sharing kernel objects, maximum handles, synchronization objects) are small Win32 programs in Visual Studio, but the focus is understanding the mechanisms, not writing large programs.

What tools do I need?

A Windows 10 or 11 machine with WinDbg, the Sysinternals tools (Process Explorer, WinObj, NotMyFault) and Visual Studio to build the demos. A virtual machine is a sensible choice for kernel debugging and the crash labs.

What is an IRQL?

An interrupt request level, a per-processor property stored in CR8 on x64. At IRQL 2 and above a processor cannot wait or touch paged memory, because the scheduler does not run there.

What is the difference between a DPC and an APC?

A DPC runs at IRQL 2 on any thread and is used to defer work from an interrupt service routine. An APC runs in the context of a specific thread. The course covers user-mode APCs, normal kernel APCs at IRQL 0 and special kernel APCs at IRQL 1.

Why is a semaphore with a maximum count of one not a mutex?

A semaphore has no ownership or abandonment handling and can be released by any thread.

How many handles can a process open?

In the course’s experiment, about 16.7 million handles per process (near 2 to the power of 24), with a measurable cost in paged and non-paged pool.

Does the course cover spin locks?

They are mentioned but not covered.

Will I learn to analyze blue screens?

Yes, at an introductory level: crash dump configuration and types, reading bug check codes, opening a dump in WinDbg and starting an analysis, and generating dumps from hung systems. Mastering WinDbg goes deeper into dump analysis.

Does it cover memory management, drivers or Windows security?

No. Memory management is Windows Internals: Day 4, and the I/O system, drivers and security (tokens, ACLs, UAC) are Windows Internals: Day 5.

Is the course live or recorded?

Pre-recorded and self-paced, so you can watch at any time.

How long is the course?

41 video lessons with 7 hours 30 minutes of video, plus the slides PDF, the labs PDF, a ZIP of labs and demos, and five text labs. All video lessons have English captions.

Can I watch some lessons before I buy?

Yes. Two lessons are free to preview: Hardware Interrupts and The Object Manager. You can watch them on the course page on the learning platform.

Do I get a certificate?

Yes. When you complete every lesson you receive a certificate of completion and a Credly badge. The course earns 7 CPE/CEU credits, which you self-report to your certification body with your TrainSec certificate.

How much does it cost, and is there a payment plan?

$149 as a single payment; there is no payment plan for Day 3. You can also get it as part of the Windows Internals Bundle ($849, or 6 x $148) or the Windows Internals Master learning path ($1,356, or 10 x $140).

How long do I have access?

Lifetime access, including future updates to the course.

What is the refund policy?

Refunds are available up to 14 days after purchase, to the original payment method. Email [email protected] to request one.

Is Day 3 part of the Windows Security Researcher path?

No. Windows Security Researcher includes Days 1, 2 and 5. Day 3 is in the Windows Internals Master learning path and the Windows Internals Bundle.

What should I take after Day 3?

Continue with Windows Internals: Day 4 (memory management) and Windows Internals: Day 5 (I/O and security). If you want to write drivers, Windows Kernel Programming 1 builds directly on the IRQL, DPC and synchronization material here.

Pavel Yosifovich
Pavel Yosifovich
Developer, trainer, author and (sometimes) speaker. Co-founder of TrainSec academy.

Pavel has been working at the lowest levels of Windows for more than 25 years, as a developer, consultant, trainer, author and speaker, and is a Microsoft MVP. He is the co-author of “Windows Internals, 7th Edition, Part 1” (Microsoft Press) and the author of “Windows Kernel Programming”, “Windows 10 System Programming” and “Windows Native API Programming”.

In this course he explains the kernel mechanisms that Windows is built on, and shows each of them live in the kernel debugger and Sysinternals tools.

Windows Internals Day 3 Course Trainsec
Windows Internals: Day 3 of 5

See the kernel mechanisms the rest of Windows is built on. Pavel Yosifovich, co-author of Windows Internals, explains interrupts and IRQLs, exceptions, system crashes, the object manager and handles, synchronization, NT global flags, ETW and WoW64, and shows each one live.