Windows NT calls system services by using an "int 2e" software interrupt. The "int 2e" instruction uses both an interrupt gate and a code segment descriptor to find the interrupt service routine (KiSystemService) which services the "int 2e" software interrupt. Since the CPU will have to load one interrupt gate and one segment descriptor from memory in order to know what interrupt service routine to call, significant overhead is involved in making an "int 2e" system call. The SYSENTER instruction drastically reduces this overhead.
Latest System Articles - Page 9
Learn about the exact mechanism that Windows NT uses when switching to kernel mode to execute a system service. The description is for an x86-compatible CPU running in protected mode. Other platforms supported by Windows NT will have a similar mechanism for switching to kernel mode.
I/O completion ports are the holy grail of performance. This article provides an extremely lightweight and open framework for easily implementing IOCP's in your application(s).
Thread pooling describes a technique by which threads of execution are managed and to which work is distributed. Additional semantics such as concurrency control may also be defined. Thread pooling is a nice way to: Manage complexity Make your applications scale Introduce new code while minimizing risk
Shows how to detect whether the computer is going to go into sleep (standby) mode and allow/disallow it.
Learn how to create an MMC Snapin using C#.
Latest CodeGuru Developer Columns
Discover the concept of late binding—the work behind the scenes to realize the late binding mechanism. Sample code and examples are provided.
FileSystemWatcher is a powerful tool you can employ in your .NET programming. Learn about it here. Examples are in C# and VB.NET.
Explore how to perform basic serial port communication. Examples are in C# and VB.NET.
Explore how to create and use a Ubuntu virtual machine.