Lo bueno si simple dos veces bueno

This is a pervasive and growing concern in software: as libraries, interfaces, and tools become more complicated, they become less understood and less controllable. When everything works, rich programming environments can be very productive, but when they fail, there is little recourse. Indeed, we may not even realize that something is wrong if the problems involve performance or subtle logic errors. (…)
The importance of choosing simple algorithms and data structures, the simplest that will do the job in reasonable time for the expected problem size(…)
we find it best to start detailed design with data structures, guided by knowledge of what algorithms might be used; with the data structures settled, the code goes together easily (…)
As much as possible, start with something simple and evolve it as experience dictates.

(Kernighan & Pike, 1999)

Complejidades: acceso a disco

Una simple operación de acceso a disco puede no ser tan simple. Por ejemplo, en un típico sistema en red:

Application cliente
System Library
VFS Layer
File System
Kernel/ Cache
Device Driver
IO Bus Adapter
Physical Link
Control Logic
Storage Cache
LV Management
Spindle Aggregation
Disk Interconnect
Embedded Cache
Discos duros