I am in the position to examine my code to ensure it does not hog the IO(HDD) and prevent other services/programs from doing their job but I am having trouble finding information on what and where I should worry about things so I have a few questions. For what its worth I am making a C# application.
small files = <2k
large files = ??100mb??
Situaton 1:
My Program reads LOTS of small files one by one doing a negligible amount of calculation inbetween this loop. Does windows process these and other IO requests in FIFO order which thereotically prevents any longterm IO blockage on tiny file reads?
Situaton 2:
Same as situation 1 but with writing small files instead.
Situation 3:
Reading lots of large files in a loop, will other processes be able to swoop in inbetween the loops and access the IO or even during the read itself?
Situation 4:
Same as Situation 3 but now with writing.
For my application in question only situation 2 applies, but this has got my curiosity peaked as to how IO gets queued and processed, slowing down apps.