Wiki article: Understanding Synchronous and Asynchronous I/O

  • Thread starter Thread starter whitehorsey
  • Start date Start date
Click For Summary

Discussion Overview

The discussion revolves around the concepts of synchronous and asynchronous I/O, specifically focusing on the differences between polling and interrupts in operating systems. Participants explore the definitions, implications, and practical applications of these terms in the context of I/O operations.

Discussion Character

  • Debate/contested
  • Conceptual clarification
  • Technical explanation

Main Points Raised

  • Some participants question why polling is considered synchronous while interrupts are not.
  • There is inquiry into the source of interrupts and the conditions that determine when polling occurs.
  • A participant suggests that the discussion may be more about terminology rather than the practical differences between polling and interrupts.
  • One participant asserts that polling is synchronous because it involves waiting for an I/O operation to complete, while interrupts allow the program to continue executing other tasks.
  • Another participant proposes that polling could be considered asynchronous if it is implemented in a way that allows other functions to run concurrently, despite the polling process.
  • References to wiki articles are provided to support various claims and definitions related to asynchronous I/O and polling.

Areas of Agreement / Disagreement

Participants express differing views on the definitions and implications of synchronous versus asynchronous I/O, indicating that the discussion remains unresolved with multiple competing perspectives.

Contextual Notes

There are unresolved questions regarding the definitions of synchronous and asynchronous I/O, as well as the conditions under which polling may be classified differently based on implementation details.

whitehorsey
Messages
188
Reaction score
0
1. Why is polling synchronous and interrupts are not?
 
Physics news on Phys.org
What is the source of interrupts? What is determining when polling occurs?
 
Is this a question about terminology (syncrhonous versus asyncrhonous) or about the differences / advantages of using interrupts instead of polling (in software)?
 
Ah the question is related to how polling and interrupts are used by the OS to see when the I/O is finished. Then, it asks which one is synchronous polling or interrupts. I found that polling is synchronous but I don't understand why. =/
 
whitehorsey said:
I'm thinking that polling is synchronous because you wait for it to be completed ...
This is how the wiki article defines synchronous I/O, the program starts an I/O, then waits for that I/O to complete before continuing to do anything else.

However, even without using interrupts, the polling could be handled by calls to a function (one that polls for and handles I/O completion) interspersed within some code that peforms some other function while the I/O is ongoing. This would introduce a delay in the I/O completion response, but if the I/O hardware includes buffering, it wouldn't be an issue as long as the polling is done frequently enough. Based on the wiki terminology, this would be considered asynchronous, even though polling is involved.

A similar concept for a crude form of multi-tasking operating system, would be non-pre-emptive and co-operative multi-tasking. Wiki articles:

nonpreemptive_multitasking.htm

cooperative_multitasking.htm
 
Last edited:
rcgldr said:
This is how the wiki article defines synchronous I/O, the program starts an I/O, then waits for that I/O to complete before continuing to do anything else.
...

I got it! Thank You!
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 14 ·
Replies
14
Views
5K
  • · Replies 4 ·
Replies
4
Views
2K
Replies
3
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 63 ·
3
Replies
63
Views
5K