Μπλόκο I /O , μερικές φορές αναφέρεται ως σύγχρονη I /O , αναστέλλει τη διαδικασία μεταφοράς δεδομένων έως ότου η πρόσβαση του οδηγού μπορεί να ικανοποιήσει την αίτηση που επιθυμείτε . Για παράδειγμα , αν εισάγετε μια κλήση για να διαβάσει ένα δίσκο όταν δεν υπάρχει σημερινά δεδομένα , εμποδίζοντας I /O βάζει στη διαδικασία να κοιμηθεί μέχρι να υπάρχει διαθέσιμος να διαβάσει τα δεδομένα . Μόλις η μονάδα μπορεί να ικανοποιήσει το αίτημα, η διαδικασία ξυπνά και ολοκληρώνει την εντολή . Μπλόκο I /O παίζει τον ίδιο ρόλο , αν προσπαθήσετε να γράψετε σε μια μονάδα δίσκου πριν να έχει αρκετό διαθέσιμο χώρο buffer , θα σταματήσει η διαδικασία μέχρι να καταστεί διαθέσιμη η απαραίτητη χώρο .
Εικόνων Λειτουργίες
Η προγραμματιστές υπολογιστών
γράφετε κλείδωμα I /O εντολές στον κώδικα προγραμματισμού για να εξασφαλιστεί η αποτελεσματική μεταφορά δεδομένων και την ομαλή λειτουργία . Χωρίς κλείδωμα I /O , οι χρήστες θα συναντήσετε επίμονη μηνύματα λάθους και υποτονικές επιδόσεις . Μπλόκο I /O έρχεται συχνά στο προσκήνιο κατά τη διαχείριση των servers , όπου μπορεί να προκαλέσει αμέσως τα άλλα θέματα για να τρέξει κάθε φορά που ένα μπλοκ το νήμα.
Η Οφέλη
Η
Μπλόκο I /O είναι πιο εύκολο να γράψει ό, τι άλλες πιο προηγμένες μορφές επεξεργασίας I /O , εξοικονομώντας σημαντικό χρόνο και προσπάθεια για τους προγραμματιστές . Εκτός από την απλότητά του , μπλοκάροντας I /O προσφέρει επίσης μεγαλύτερη αποτελεσματικότητα κατά τη διαχείριση sockets server και παρέχει αυξημένη συμβατότητα , καθώς μπορεί να χρησιμοποιηθεί σε μια σειρά από διαφορετικές πλατφόρμες συμπεριλαμβανομένων των Unix , Win95 και WinNT 4,0 παραλλαγές.
Η
Μπλόκο I /O σε σχέση με μη -blocking I /O
Η
η κύρια εναλλακτική λύση για το κλείδωμα I /O είναι non-blocking I /O , επίσης γνωστή ως ασύγχρονη I /O. Σε αντίθεση με το κλείδωμα I /O , το οποίο σταματά την διαδικασία έως ότου η πλήρης αίτηση μπορεί να ικανοποιηθεί , non-blocking I /O μπορεί να εκπληρώσει το αίτημα σε τμήματα . Για παράδειγμα , εάν τα ζητούμενα δεδομένα δεν είναι διαθέσιμο στο σύνολό του , όταν του ζητείται , ένα non-blocking I /O ανακτά όλα τα διαθέσιμα στοιχεία και στη συνέχεια να επιστρέφει , προειδοποιεί το χρήστη η αίτηση στο σύνολό της δεν εκπληρώθηκε . Το non-blocking I /O συνεχιστεί, τότε να στραφεί προς τα πίσω και να συγκεντρώσει περισσότερες πληροφορίες, μέχρι την ολοκλήρωση της αίτηση που επιθυμείτε . Ενώ πιο δύσκολο να κώδικα από την αναστολή της I /O , non-blocking I /O παρέχει περισσότερη ισχύ και επιτρέπει άλλες διαδικασίες για να συνεχίσει , ενώ ολοκληρώνοντας την αρχική μετάδοση δεδομένων .
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα