Υπάρχουν πέντε κύριες δραστηριότητες που πρέπει να διατηρήσει ένα λειτουργικό σύστημα προκειμένου να διαχειριστεί τις διαδικασίες που εκτελεί. Χωρίς αυτές τις πέντε δραστηριότητες, ένα λειτουργικό σύστημα δεν θα μπορούσε να παραμείνει σταθερό για μεγάλο χρονικό διάστημα.
Δημιουργία Διαδικασίας
Όταν ενεργοποιείτε για πρώτη φορά τον υπολογιστή σας, το λειτουργικό σύστημα ανοίγει διαδικασίες για την εκτέλεση υπηρεσιών για οτιδήποτε, από την ουρά εκτύπωσης έως την ασφάλεια του υπολογιστή. Όταν συνδέεστε στον υπολογιστή και ξεκινάτε προγράμματα, τα προγράμματα δημιουργούν εξαρτημένες διαδικασίες. Μια διαδικασία δεν είναι το ίδιο το πρόγραμμα, αλλά οι οδηγίες που χρησιμοποιεί η CPU για να εκτελέσει το πρόγραμμα. Μια διαδικασία ανήκει είτε στα Windows είτε σε κάποιο άλλο πρόγραμμα που έχετε εγκαταστήσει.
Το βίντεο της ημέρας
Κράτος επεξεργασίας
Η κατάσταση μιας διαδικασίας μπορεί να «δημιουργηθεί», «εκτελείται», «αναμονή» ή «μπλοκαριστεί». Μπορείς να πεις ότι είναι μια διαδικασία "περιμένει" τη στιγμή μετά την έναρξη του γονικού του προγράμματος και προτού υποβληθεί σε επεξεργασία από την CPU. Μια διαδικασία "εκτελείται" όταν η CPU την επεξεργάζεται. Μπορείτε να θεωρήσετε μια διαδικασία "μπλοκαρισμένη" εάν ο υπολογιστής δεν έχει αρκετή μνήμη για να την επεξεργαστεί ή εάν τα αρχεία που σχετίζονται με τη διαδικασία δεν μπορούν να εντοπιστούν. Όλα τα λειτουργικά συστήματα έχουν κάποιο είδος συστήματος χειρισμού διεργασιών, αν και έχουν διαφορετικά ονόματα για κάθε κατάσταση.
Συγχρονισμός Διαδικασιών
Μόλις εκτελούνται οι διεργασίες, το λειτουργικό σύστημα χρειάζεται έναν τρόπο για να διασφαλίσει ότι καμία διεργασία δεν έχει πρόσβαση στους ίδιους πόρους ταυτόχρονα. Συγκεκριμένα, καμία διεργασία δεν μπορεί να επιχειρήσει να εκτελέσει την ίδια περιοχή κώδικα ταυτόχρονα. Εάν δύο διεργασίες επιχειρούσαν να εκτελέσουν αυτόν τον κώδικα ταυτόχρονα, θα μπορούσε να προκύψει σφάλμα καθώς προσπαθούσαν να καλέσουν τα ίδια αρχεία και να στείλουν τις ίδιες οδηγίες στην CPU ταυτόχρονα. Εάν δύο διεργασίες πρέπει να εκτελέσουν τον ίδιο κώδικα, η μία πρέπει να περιμένει να τελειώσει η άλλη πριν προχωρήσετε.
Διαδικασία Επικοινωνίας
Ο υπολογιστής πρέπει να διασφαλίσει ότι οι διεργασίες μπορούν να επικοινωνούν με την CPU και μεταξύ τους. Για παράδειγμα, ένα πρόγραμμα μπορεί να έχει πολλές διεργασίες και κάθε διεργασία μπορεί να έχει διαφορετικό επίπεδο δικαιωμάτων. Ένα επίπεδο άδειας είναι απλώς μια ένδειξη του επιπέδου πρόσβασης που πρέπει να έχει μια διεργασία στο σύστημα. Η επικοινωνία διαδικασίας διασφαλίζει ότι ο υπολογιστής μπορεί να καθορίσει τα δικαιώματα κάθε διεργασίας. Αυτό είναι πολύ σημαντικό για την αποτροπή του κακόβουλου λογισμικού από τη διαγραφή αρχείων συστήματος ή την προσθήκη οδηγιών στο ίδιο το λειτουργικό σύστημα.
Πρόληψη αδιεξόδου
Τέλος, ο υπολογιστής πρέπει να έχει έναν τρόπο να διασφαλίσει ότι οι διαδικασίες δεν θα οδηγήσουν σε αδιέξοδο. Το αδιέξοδο προκύπτει όταν δύο διεργασίες απαιτούν η καθεμία έναν πόρο που χρησιμοποιεί η άλλη αυτήν τη στιγμή, και έτσι καμία διεργασία δεν μπορεί να ολοκληρώσει αυτό που κάνει. Οι πόροι δεν μπορούν να απελευθερωθούν και τα προγράμματα κλειδώνονται. Μπορείτε επίσης να αναφέρετε αυτήν την κατάσταση ως "κυκλική αναμονή". Τα λειτουργικά συστήματα αποτρέπουν το αδιέξοδο σε διαφορετικά τρόπους, αλλά η πιο συνηθισμένη μέθοδος είναι να αναγκάσεις μια διεργασία να δηλώσει τους πόρους που θα χρειαστεί πριν μπορέσει ξεκίνα. Εναλλακτικά, μια διεργασία μπορεί να αναγκαστεί να ζητήσει πόρους σε μπλοκ και στη συνέχεια να απελευθερώσει τους πόρους καθώς τελειώνει με αυτούς.