Συγκριτικό διάγραμμα
Βάση σύγκρισης | Πολυεπεξεργασία | Πολλαπλασιασμός |
---|---|---|
Βασικός | Το multitasking επιτρέπει στην CPU να εκτελεί πολλαπλές εργασίες ταυτόχρονα. | Το Multithreading επιτρέπει στην CPU να εκτελεί ταυτόχρονα πολλαπλά θέματα μιας διαδικασίας. |
Εναλλαγή | Σε CPU πολλαπλών εντολών μεταγωγής μεταξύ προγραμμάτων συχνά. | Σε multithreading CPU διακόπτες μεταξύ των νημάτων συχνά. |
Μνήμη και πόρος | Το σύστημα multitasking πρέπει να διαθέτει χωριστή μνήμη και πόρους σε κάθε πρόγραμμα που εκτελεί η CPU. | Στο σύστημα multithreading πρέπει να διαθέσει μνήμη σε μια διαδικασία, πολλαπλά νήματα αυτής της διαδικασίας μοιράζονται την ίδια μνήμη και πόρους που διατίθενται στη διαδικασία. |
Ορισμός πολλαπλών εργασιών
Το Multitasking είναι όταν μία CPU εκτελεί ταυτόχρονα διάφορες εργασίες (πρόγραμμα, διαδικασία, εργασία, θέματα) . Για να εκτελέσει multitasking, η CPU αλλάζει πολύ συχνά μεταξύ αυτών των εργασιών, έτσι ώστε ο χρήστης να μπορεί να αλληλεπιδρά με κάθε πρόγραμμα ταυτόχρονα.
Σε ένα λειτουργικό σύστημα πολλαπλών εργασιών, πολλοί χρήστες μπορούν να μοιράζονται το σύστημα ταυτόχρονα. Όπως είδαμε ότι η CPU αλλάζει ταχύτατα μεταξύ των εργασιών, χρειάζεται ένας μικρός χρόνος για να μεταβείτε από έναν χρήστη στον επόμενο χρήστη. Αυτό δημιουργεί μια εντύπωση στον χρήστη ότι ολόκληρο το σύστημα πληροφορικής είναι αφιερωμένο σε αυτόν.
Ορισμός της πολλαπλής θωράκισης
Το Multithreading διαφέρει από το multitasking με την έννοια ότι το multitasking επιτρέπει πολλαπλές εργασίες ταυτόχρονα, ενώ το Multithreading επιτρέπει την ταυτόχρονη επεξεργασία πολλαπλών σημείων μιας εργασίας (προγράμματος, διεργασίας) από την CPU.
Πριν να μελετήσουμε το multithreading, ας μιλήσουμε για το τι είναι ένα νήμα; Ένα νήμα είναι μια βασική μονάδα εκτέλεσης που έχει το δικό της πρόγραμμα μετρητή, σύνολο του μητρώου, στοίβα αλλά μοιράζεται τον κώδικα, τα δεδομένα και το αρχείο της διαδικασίας στην οποία ανήκει. Μια διαδικασία μπορεί να έχει πολλαπλά threads ταυτόχρονα και η CPU μεταβαίνει μεταξύ αυτών των νημάτων τόσο συχνά δημιουργώντας μια εντύπωση στον χρήστη ότι όλα τα νήματα εκτελούνται ταυτόχρονα και αυτό ονομάζεται multithreading.
Βασικές διαφορές ανάμεσα στο Multitasking και το Multithreading στο λειτουργικό σύστημα
- Η βασική διαφορά μεταξύ multitasking και multithreading είναι ότι στο multitasking, το σύστημα επιτρέπει την εκτέλεση πολλαπλών προγραμμάτων και εργασιών ταυτόχρονα, ενώ, στο multithreading, το σύστημα εκτελεί πολλαπλά νήματα της ίδιας ή διαφορετικών διαδικασιών ταυτόχρονα.
- Σε πολλαπλούς επεξεργαστές η CPU πρέπει να αλλάζει μεταξύ πολλών προγραμμάτων έτσι ώστε να φαίνεται ότι εκτελούνται ταυτόχρονα πολλαπλά προγράμματα. Σε άλλα χέρια, στο multithreading, η CPU πρέπει να αλλάξει μεταξύ πολλαπλών νημάτων για να φανεί ότι όλα τα νήματα εκτελούνται ταυτόχρονα.
- Το Multitasking διαθέτει χωριστή μνήμη και πόρους για κάθε διαδικασία / πρόγραμμα, ενώ στα threads πολλαπλών προβλημάτων που ανήκουν στην ίδια διαδικασία μοιράζεται την ίδια μνήμη και πόρους με αυτή της διαδικασίας.
Συμπέρασμα:
Το Multitasking είναι παρόμοιο με το πολυπρογραμματισμό, ενώ το Multithreading είναι multitasking με βάση το νήμα. Το multithreading είναι λιγότερο δαπανηρό από τις πολλαπλές διεργασίες, καθώς τα θέματα είναι εύκολο να δημιουργηθούν, στη συνέχεια, μια διαδικασία.