Synchronous vs Asynchronous IO Operations
Due to a growing complexity of software systems, there is a natural tendency towards simpler methods that achieve similar (although not identical) results. Examples include Java or C# language. This process highly relies on removing the need for understanding complex operations that take place inside your operating system kernel. a Programmer is only supposed to combine prebuilt components into his application. This “idiot-friendly” solutions often lead to dramatic decrease in you application performance.