|
-
January 6th, 2013, 08:47 AM
#13
Re: Multiple core processors
And? What contradiction you can see with the said before? Say some thread needs data to be read from file. Reading from file actually needs the data be retrieved from HDD. File System Driver encapsulates all the details of dealing with hardware, so all the details are hidden from user space thread. But the data anyway must appear on RAM to be accessible for the thread, and OS just marks the thread as 'in I/O' until underlaying hardware drivers report the I/O completed. The thread remains blocked and eats no CPU. The data retrieval is done mostly by DMA mechanisms (which interface between HW buffers and RAM) that again eat no CPU. Nobody eats CPU, but data retrieval never becomes instant because of using no CPU. The freed CPU allows OS to do some other thread processing, but your thread still remains blocked in I/O operation with near to zero CPU percentage.
More than that, the CPU counters just reflect CPU cycles spent in user mode only, but clock cycles spent in kernel mode remain not reported. You typically see that effect when doing some bulky copying over network, especially from some network resource to other one. Windows seems doing nothing heavy according to CPU counters, but the GUI response is noticeably low. You are never reported of the CPU spent in MPR, TCP/IP stack, etc.
Last edited by Igor Vartanov; January 6th, 2013 at 08:54 AM.
Best regards,
Igor
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|