Οι δύο κύριες κατηγορίες συσκευών Ε/Ε είναι συσκευές μπλοκ και συσκευές χαρακτήρων.
Στις συσκευές μπλοκ γίνεται αποστολή ή λήψη ρευμάτων χαρακτήρων όπου δεν έχουμε διευθυνσιοδότηση ή αναζήτηση.
Ο ελεγκτής (ή προσαρμογέας) των συσκευών, συνδέεται μέσω διαύλου Ε/Ε (π.χ. PCI) με τη συσκευή και βλέπει μια υψηλού επιπέδου διεπαφή.
Για την επικοινωνία με τις συσκευές, χρησιμοποιούνται καταχωρητές ελέγχου συσκευής όπου γράφονται εντολές προς αυτήν και από όπου διαβάζεται η κατάστασή της.
Οι δύο βασικές τεχνικές επικοινωνίας με τις συσκευές Ε/Ε είναι με χρήση κρυφής μνήμης και με χαρτογράφηση σε δίσκο.
Στην επικοινωνία με συσκευές, κατά τη χρήση εντολών Ε/Ε, ο υπολογιστής έχει δύο χώρους διευθύνσεων.
Κατά την επικοινωνία με συσκευές με χρήση χαρτογράφησης στη μνήμη, απαιτούνται ειδικές εντολές Ε/Ε.
Κατά την επικοινωνία με συσκευές με χρήση χαρτογράφησης στη μνήμη, είναι σύνηθες και συνετό να χρησιμοποιείται παράλληλα κρυφή μνήμη.
Κατά την επικοινωνία με συσκευές με χρήση χαρτογράφησης στη μνήμη, ο χωριστός δίαυλος μνήμης (που συνδέει CPU με μνήμη), αποτελεί μειονέκτημα της τεχνικής αυτής.
Ο ελεγκτής άμεσης προσπέλασης μνήμης (DMA) ορίζει εσωτερικά ο ίδιος τη διεύθυνση και το πλήθος λέξεων που θα προσπελαστούν.
Κατά την άμεση προσπέλαση μνήμης, γίνεται αντιγραφή λέξη-λέξη ή ανά μπλοκ.
Κατά την άμεση προσπέλαση μνήμης, με χρήση εικονικών διευθύνσεων δεν απαιτείται χρήση της MMU.
Ο ελεγκτής DMA δε διαβάζει απευθείας τη συσκευή γιατί η μεταφορά των δεδομένων γίνεται με τη ταχύτητα της συσκευής. Τα δεδομένα αποθηκεύονται πρώτα στον ελεγκτή και έτσι δε χρειάζεται συγχρονισμός με το δίαυλο μνήμης.
Ο κύριος λόγος για να μη χρησιμοποιηθεί DMA είναι ότι δεν υποστηρίζεται από νέες τεχνολογίες.
Όταν μια συσκευή προκαλέσει διακοπή επειδή τελείωσε την εργασία της, ο ελεγκτής βλέπει αν εγκρίνεται η διακοπή.
Όταν μια συσκευή προκαλέσει διακοπή επειδή τελείωσε την εργασία της, στέλνει απευθείας τη διακοπή στη CPU.
Όταν μια συσκευή προκαλέσει διακοπή, η τελευταία επιβεβαιώνεται από μια ρουτίνα εξυπηρέτησης.
Όταν προκληθεί διακοπή, ο επεξεργαστής δεν αποθηκεύει καμία πληροφορία στη μνήμη.
Όταν έχουμε ακριβείς διακοπές, ο PC (μετρητής προγράμματος) αποθηκεύεται σε γνωστή θέση.
Στις ανακριβείς διακοπές, η κατάσταση του συστήματος δεν αποθηκεύεται και ο κώδικας είναι απλός.
Ο συμβιβασμός μεταξύ ανακριβών και ακριβών διακοπών έγκειται στην επιλογή μεταξύ περίπλοκου λειτουργικού και περίπλοκου επεξεργαστή.