a question that a co-interviewer asked in interviews. I always thought it was a silly question.
Assume single processor and not dual core.
a question that a co-interviewer asked in interviews. I always thought it was a silly question.
Assume single processor and not dual core.
Yes you can if DMA is not available. In that case you could end up using the CPU to move data around from I/O to I/O through central memory, if the I/O bandwidth on both devices is high enough you will effectively saturate the CPU.
Yes. Simple have two processes running, one that uses all CPU, and the other that uses all the I/O it can. This will do it. The real issue is what I/O is being talked about. There are a number of busses in any system, and they all can be bound at any given time.
I'd also look for places where IO devices are virtualized and encrypted. This is probably an unusual case, but not an impossible case.
Yes, you can!(Sounds like a cliche right?) But really, there is such thing as non blocking IO. You can do a lot of things while you data using up 100% IO.