Πληροφορική στην Εκπαίδευση

Μαρία Δήμητρα Κωνσταντοπούλου – Καθηγήτρια Πληροφορικής

Διαφορές μεταξύ διεργασιών και υπηρεσιών στα Windows

Κάτω από: Διεργασίες,Λειτουργικά Συστήματα | ΚΩΝΣΤΑΝΤΟΠΟΥΛΟΥ ΜΑΡΙΑ ΔΗΜΗΤΡ
Τετάρτη, 31 Ιανουαρίου 2018 10:04 πμ |

Διδάσκοντας διεργασίες στο μάθημα Λειτουργικά Συστήματα και Ασφάλεια Πληροφοριακών Συστημάτων στη Β’ Τάξη των ΕΠΑΛ, έχουμε ανάγκη να διευκρινίσουμε στους μαθητές τις διακριτές έννοιες των Εφαρμογών, Διεργασιών και Υπηρεσιών. Στο παράθυρο των διεργασιών (ειδικά στα Windows 10) βλέπουν οι μαθητές αυτές τις διακριτές έννοιες, οι οποίες δεν διευκρινίζονται στο βιβλίο με λεπτομέρεια. Θα εξηγήσουμε λοιπόν τι ισχύει σε κάθε περίπτωση.

Οι επεξεργαστές έχουν πυρήνες, συνήθως πολλαπλούς πυρήνες. Ο πυρήνας είναι το μέρος του επεξεργαστή που κάνει την όποια εργασία. Τα νήματα, από την άλλη πλευρά, είναι αναθέσεις που δίδονται σε κάθε πυρήνα. Στο παρελθόν, ένας πυρήνας θα αντιστοιχούσε σε ένα νήμα, αλλά η υπερνημάτωση (hyperthreading) της Intel επιτρέπει στον πυρήνα να εργάζεται ταυτόχρονα σε πολλαπλές διεργασίες. Το Hyperthreading κάνει έναν ενιαίο πυρήνα σαν δυο ή περισσότερους εικονικούς πυρήνες, έτσι ο υπολογιστή σας θα υποθέσει ότι έχετε έναν επιπλέον πυρήνα.

Αντίθετα με τη δημοφιλή πεποίθηση, τα περισσότερα από αυτά που κάνετε σε έναν υπολογιστή δεν είναι παράλληλης διεργασίας (multitasking). Οι περισσότεροι χρήστες είναι σε επεξεργαστές πολλαπλού πυρήνα, αλλά οι διεργασίες εκτελούνται η μία μετά την άλλη σε κάθε πυρήνα ή εικονικό πυρήνα.

Ωστόσο, οι επεξεργασίες και οι υπηρεσίες αντιμετωπίζονται με τον ίδιο τρόπο από τον επεξεργαστή σας, αλλά όχι όμως από το λειτουργικό σας σύστημα. Η διαφορά μεταξύ μιας διεργασίας είναι ότι δηλώνεται (ανήκει) σε μια εφαρμογή με την οποία αλληλεπιδράτε άμεσα, όπως το πρόγραμμα περιήγησης ιστού ή ο messenger. Μια υπηρεσία δεν συμμορφώνεται με τους ίδιους κανόνες και γενικά τρέχει εκτός της άμεσης αλληλεπίδρασής σας – πχ. τα antiviruses, στο ρολόι του συστήματος κτλ.

  Μια εφαρμογή είναι ένα πρόγραμμα στο οποίο αλληλεπιδράτε στην επιφάνεια εργασίας. Αυτό είναι που ξοδεύετε σχεδόν όλο το χρόνο σας χρησιμοποιώντας στον υπολογιστή. Chrome, Microsoft Word, Skype – είναι όλες οι εφαρμογές.

 

Μια διεργασία είναι μια παρουσία ενός συγκεκριμένου εκτελέσιμου αρχείου προγράμματος .exe. Μια δεδομένη εφαρμογή μπορεί να έχει πολλές διεργασίες που εκτελούνται ταυτόχρονα. Για παράδειγμα, μερικά σύγχρονα προγράμματα περιήγησης όπως το Google Chrome τρέχουν πολλές διεργασίες ταυτόχρονα, με κάθε καρτέλα να αποτελεί ξεχωριστή παρουσία/διεργασία του ίδιου εκτελέσιμου αρχείου. Σε ορισμένες περιπτώσεις, οι περίπλοκες εφαρμογές ενδέχεται να έχουν πολλές διεργασίες. για παράδειγμα, το Visual Studio εκτελεί μια ξεχωριστή διεργασία όταν εκτελεί κώδικα από την στιγμή που εμφανίζει το IDE. Ωστόσο, οι περισσότερες φορές, μια δεδομένη εφαρμογή τρέχει από μια ενιαία διεργασία. για παράδειγμα, ανεξάρτητα από το πόσα πολλά παράθυρα του Word έχετε ανοίξει, εκτελείται μόνο ένα instance του winword.exe.

Μια υπηρεσία είναι μια διεργασία που εκτελείται στο παρασκήνιο και δεν αλληλεπιδρά με την επιφάνεια εργασίας. Στα Windows, οι υπηρεσίες σχεδόν πάντα εκτελούνται ως instances της διεργασίας svchost.exe, της διεργασίας φιλοξενίας των υπηρεσιών Windows. Ωστόσο, υπάρχουν μερικές φορές εξαιρέσεις σε αυτό.

 

Μερικές φορές, οι διεργασίες ενδέχεται να εκτελούνται στο παρασκήνιο χωρίς να αλληλεπιδρούν με την επιφάνεια εργασίας, χωρίς όμως να εγκαθίστανται ως υπηρεσία. Πολλοί οδηγοί συσκευών με βελτιωμένες λειτουργίες συμπεριφέρονται με αυτόν τον τρόπο. Για παράδειγμα, ένα πρόγραμμα οδήγησης touchpad θα έχει συνήθως μια διεργασία που εκτελείται, όταν ένας χρήστης συνδέεται και χειρίζεται τα ειδικά χαρακτηριστικά του touchpad, αλλά δεν είναι μια υπηρεσία και δεν εμφανίζει κανένα παράθυρο στο χρήστη.

Μερικές φορές μια εφαρμογή μπορεί να εξαρτάται από μια συγκεκριμένη υπηρεσία. Η εκτύπωση από οποιοδήποτε πρόγραμμα απαιτεί την ενεργοποίηση της υπηρεσίας ουράς εκτύπωσης. Τα πακέτα εγκατάστασης (εγκατάστασης .msi) απαιτούν την εκτέλεση της υπηρεσίας εγκατάστασης παραθύρων. Τα προγράμματα αντιμετώπισης ιών συνήθως χρησιμοποιούν μια υπηρεσία, ώστε να μπορούν να συνεχίσουν να εκτελούνται ακόμη και όταν ο χρήστης δεν είναι συνδεδεμένος.

Οι διεργασίες συνήθως τερματίζουν όταν κλείνει μια εφαρμογή, ωστόσο αυτό δεν συμβαίνει πάντα. Ορισμένα προγράμματα, ιδίως προγράμματα λήψης και δημιουργίας αντιγράφων ασφαλείας, ενδέχεται να συνεχίσουν να εκτελούνται στο παρασκήνιο χωρίς να εμφανίζονται παράθυρα. Antivirus είναι επίσης ένα παράδειγμα – αντί να χρησιμοποιούν μια υπηρεσία, πολλές εφαρμογές προστασίας από ιούς εκτελούν μια διεργασία σιωπηλά στο παρασκήνιο, η οποία εμφανίζει την εφαρμογή στο χρήστη μόνο όταν απαιτείται κάποια δράση.

Πηγές:

Steve Horton Αύγουστος 20, 2013:

https://www.reviversoft.com/blog/2013/08/processes-and-services-in-windows/

Superuser forum:

https://superuser.com/questions/209654/whats-the-difference-between-an-application-process-and-services



Δεν υπάρχουν σχόλια

Χωρίς σχόλια ακόμα.

RSS κανάλι για τα σχόλια του άρθρου.