Διαφορά μεταξύ προληπτικού και μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα

Πίνακας περιεχομένων:

Διαφορά μεταξύ προληπτικού και μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα
Διαφορά μεταξύ προληπτικού και μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα

Βίντεο: Διαφορά μεταξύ προληπτικού και μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα

Βίντεο: Διαφορά μεταξύ προληπτικού και μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα
Βίντεο: Can Bsc, MSc, Bcom, Mcom, BBA, BA, MA, BE, BTech CSE, ,ME, MTech IT Candidates eligible to enter SAP 2024, Ιούλιος
Anonim

Βασική διαφορά – Προληπτικός έναντι μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα

Μια διεργασία είναι ένα πρόγραμμα σε εκτέλεση. Ένας υπολογιστής πρέπει να εκτελεί πολλές εργασίες ταυτόχρονα. Επομένως, η CPU θα πρέπει να λάβει διεργασίες και να τις εκτελέσει. Μερικές φορές είναι απαραίτητο να εκτελεστούν ορισμένες διεργασίες από τις άλλες διεργασίες. Σε εκείνο το σημείο, η διαδικασία που εκτελείται διακόπτεται και η CPU εκχωρείται στη νέα διαδικασία. Αφού ολοκληρωθεί η εργασία, η CPU εκχωρείται πίσω στην προηγούμενη διαδικασία. Ο προγραμματισμός σύμφωνα με αυτόν τον μηχανισμό είναι γνωστός ως προληπτικός προγραμματισμός. Εάν η εκτελούμενη διαδικασία, δεν μπορεί να διακοπεί και είναι υποχρεωτική η εκτέλεση της εκτελούμενης διαδικασίας, τότε είναι γνωστή ως μη προληπτικός προγραμματισμός. Αυτό το άρθρο εξετάζει τη διαφορά μεταξύ του προληπτικού και του μη προληπτικού προγραμματισμού σε ένα λειτουργικό σύστημα. Ο προληπτικός προγραμματισμός είναι ο μηχανισμός προγραμματισμού διαδικασίας μέσω του οποίου μια διαδικασία μπορεί να διακοπεί από μια άλλη διαδικασία στο μέσο της εκτέλεσής της. Ο μη προληπτικός προγραμματισμός είναι ο μηχανισμός προγραμματισμού διεργασιών μέσω του οποίου μια διεργασία ξεκινά την εκτέλεση μόνο μετά τον τερματισμό της προηγούμενης διεργασίας. Αυτή είναι η βασική διαφορά μεταξύ του προληπτικού και του μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα.

Τι είναι ο προληπτικός προγραμματισμός στο λειτουργικό σύστημα;

Ο προγραμματισμός Round Robin είναι ένα παράδειγμα προληπτικού προγραμματισμού. Κάθε διαδικασία παίρνει ένα μικρό χρονικό διάστημα CPU. Συνήθως είναι 10 έως 100 χιλιοστά του δευτερολέπτου. Αυτή η μικρή μονάδα δεδομένων είναι επίσης γνωστή ως κβαντικό του χρόνου. Μετά την πάροδο αυτού του χρόνου, η διαδικασία προκρίνεται και προστίθεται στο τέλος της έτοιμης ουράς. Ας υποθέσουμε ότι υπάρχουν 4 διεργασίες ως P1, P2, P3 και P4. Οι χρόνοι έκρηξης της CPU σε χιλιοστά του δευτερολέπτου είναι οι εξής. Το χρονικό κβάντο είναι 20.

Διαφορά μεταξύ προληπτικού και μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα
Διαφορά μεταξύ προληπτικού και μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα
Διαφορά μεταξύ προληπτικού και μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα
Διαφορά μεταξύ προληπτικού και μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα

Εικόνα 01: Παράδειγμα Προγραμματισμού Round Robin

Η διαδικασία P1 εκτελείται μέχρι τα 20. Απομένουν άλλα 33 ms. Στη συνέχεια εκτελείται το P2. Καθώς το χρονικό κβάντο είναι 20 και ο απαιτούμενος χρόνος P2 είναι 17 ms, το P2 θα εκτελεστεί για 17 ms. Έτσι, η διαδικασία P2 ολοκληρώθηκε. Τότε δίνεται η ευκαιρία στον P3. Θα εκτελεστεί για 20ms. Το υπόλοιπο είναι 48 ms. Στη συνέχεια, το P4 θα εκτελεστεί για 20 ms. Έχει 4ms για να ολοκληρώσει τη συνολική διαδικασία. Και πάλι, το P1 θα εκτελεστεί για 20ms. Έχει άλλα 13 ms για να ολοκληρώσει τη διαδικασία. Η αλλαγή δίνεται στο P3. Θα εκτελεστεί για 20 ms και έχει άλλα 28 ms για να τελειώσει πλήρως. Το P4 εκτελεί. Έχει μόνο 4ms. Επομένως, το P4 ολοκληρώνει την εκτέλεση. Το P2 και το P4 έχουν ήδη τελειώσει. Οι υπόλοιπες διαδικασίες είναι οι P1 και P3. Η ευκαιρία δίνεται στον P3. Είχε 13 ms για να ολοκληρωθεί, άρα ολοκληρώνεται. Τώρα η μόνη διαδικασία που απομένει είναι η P3. Έχει 28ms για να ολοκληρωθεί. Έτσι το P3 θα τρέχει για 20ms. Το υπόλοιπο είναι 8 ms. Όλες οι άλλες διεργασίες έχουν ήδη ολοκληρωθεί η εκτέλεση. Επομένως, θα εκτελεστούν και πάλι τα υπόλοιπα 8ms του P3. Ομοίως, κάθε διαδικασία έχει την ευκαιρία να εκτελεστεί.

Τι είναι ο μη προληπτικός προγραμματισμός στο λειτουργικό σύστημα;

Ο προγραμματισμός First Come First Served (FCFS) μπορεί να ληφθεί ως παράδειγμα μη προληπτικού προγραμματισμού. Η διαδικασία που ζητά πρώτη εκχωρείται πρώτα στην CPU. Αυτός ο προγραμματισμός διαχειρίζεται εύκολα από την ουρά First In First Out (FIFO). Εάν υπάρχουν διεργασίες με σειρά ως P1, P2 και P3, τότε η ευκαιρία δίνεται πρώτα στον P1. Αφού ολοκληρωθεί, θα εκτελεστεί το P2. Όταν ολοκληρωθεί το P2, το P3 θα εκτελεστεί. Ας υποθέσουμε ότι υπάρχουν 3 διεργασίες ως P1, P2 και P3 με χρόνους έκρηξης της CPU σε χιλιοστά του δευτερολέπτου ως εξής.

Βασική διαφορά μεταξύ προληπτικού και μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα
Βασική διαφορά μεταξύ προληπτικού και μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα
Βασική διαφορά μεταξύ προληπτικού και μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα
Βασική διαφορά μεταξύ προληπτικού και μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα

Εικόνα 02: Παράδειγμα προγραμματισμού FCFS

Σύμφωνα με τα παραπάνω, το P1 θα εκτελεστεί. Μόλις ολοκληρωθεί, η διαδικασία P2 εκτελείται για 3ms. Τώρα η διαδικασία που απομένει είναι P3. Μετά θα εκτελεστεί. Ο χρόνος αναμονής για το P1 είναι μηδέν. Η διαδικασία P2 έπρεπε να περιμένει 24 ms και η διαδικασία P3 έπρεπε να περιμένει 27 ms. Εάν οι διεργασίες έφτασαν με τη σειρά P2, P3 και P1 τότε το P2 θα ολοκληρωθεί πρώτα. Το επόμενο P3 θα ολοκληρωθεί και τελικά το P1 θα ολοκληρωθεί.

Ποια είναι η ομοιότητα μεταξύ του προληπτικού και του μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα;

Ο προληπτικός και ο μη προληπτικός προγραμματισμός στο λειτουργικό σύστημα είναι μηχανισμοί προγραμματισμού διαδικασιών σε έναν υπολογιστή

Ποια είναι η διαφορά μεταξύ του προληπτικού και του μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα;

Προληπτικός vs Μη προληπτικός προγραμματισμός στο λειτουργικό σύστημα

Ο προληπτικός προγραμματισμός είναι ο μηχανισμός προγραμματισμού διεργασιών μέσω του οποίου μια διαδικασία μπορεί να διακοπεί από μια άλλη διαδικασία στο μέσο της εκτέλεσής της. Ο μη προληπτικός προγραμματισμός είναι ο μηχανισμός προγραμματισμού διεργασιών μέσω του οποίου μια διεργασία ξεκινά την εκτέλεση μόνο μετά τον τερματισμό της προηγούμενης διεργασίας.
Διακοπή διαδικασίας
Στον προληπτικό προγραμματισμό, οι διαδικασίες μπορούν να διακοπούν. Σε μη προληπτικό προγραμματισμό, οι διαδικασίες μπορούν να διακοπούν.
Χρήση CPU
Στον προληπτικό προγραμματισμό, η χρήση της CPU είναι υψηλότερη από τον μη προληπτικό προγραμματισμό. Στον μη προληπτικό προγραμματισμό, η χρήση της CPU είναι ελάχιστη σε σύγκριση με τον προληπτικό προγραμματισμό.
Ευελιξία
Ο προληπτικός προγραμματισμός είναι ευέλικτος. Ο μη προληπτικός προγραμματισμός δεν είναι ευέλικτος.

Σύνοψη – Προληπτικός vs Μη προληπτικός προγραμματισμός στο OS

Υπάρχουν πολλές διεργασίες που εκτελούνται σε έναν υπολογιστή. Όταν εκτελείται κάθε διεργασία, η CPU εκχωρείται στη συγκεκριμένη διεργασία. Μερικές φορές, είναι απαραίτητο να σταματήσει η εκτέλεση της τρέχουσας διαδικασίας και να δοθεί προτεραιότητα σε μια άλλη διαδικασία. Οι μηχανισμοί προγραμματισμού διεργασιών μπορεί να είναι προληπτικοί ή μη. Ο προληπτικός προγραμματισμός είναι ο μηχανισμός προγραμματισμού της διαδικασίας μέσω του οποίου η διαδικασία μπορεί να διακοπεί από μια άλλη διαδικασία στο μέσο της εκτέλεσής της. Ο μη προληπτικός προγραμματισμός είναι ο μηχανισμός προγραμματισμού διεργασιών μέσω του οποίου μια διεργασία ξεκινά την εκτέλεση μόνο μετά τον τερματισμό της προηγούμενης διεργασίας. Αυτή είναι η διαφορά μεταξύ του προληπτικού και του μη προληπτικού προγραμματισμού στο λειτουργικό σύστημα.

Λήψη του PDF του Preemptive vs Nonpreemptive Scheduling στο OS

Μπορείτε να κατεβάσετε την έκδοση PDF αυτού του άρθρου και να τη χρησιμοποιήσετε για σκοπούς εκτός σύνδεσης σύμφωνα με τη σημείωση παραπομπής. Κατεβάστε την έκδοση PDF εδώ: Διαφορά μεταξύ προληπτικού και μη προληπτικού προγραμματισμού στο OS

Συνιστάται: