PDA

Επιστροφή στο Forum : Διακριση μεταξυ διεργασιας & υπηρεσιας



Nik_Gr
15-01-13, 09:17
Διεργασια ειναι η εκτελεση μιας εφαρμογης εκεινη την στιγμησ την μνημη, σωστα?
Για την Υπηρεσια δεν μπορω να καταλαβω ακριβως, να δωσω εναν ορισμο και ιδιαιτερα για το ΠΩΣ συνδεεται μια διεργασια με μια υπηρεσια

παραδειγμα:

Το Serviio που χρησιμοποιω as Media DLNA Server παρατηρω οτι αυτην την στιγμη τρεχει στο tray και ξεκιναει καθε φορα μαζι με τα 8.
Αρα ειναι διεργασια παρασκηνιου.

Στις τοπικες υπηρεσιες ομως βλεπω και μια αντιστοιχη Serviio Υπηρεσια.

biggeo65
15-01-13, 10:43
Θα έδινα άλλο παράδειγμα αλλά ας μείνουμε στο serviio.
Yπάρχει διεργασία που τρέχει στο παρασκήνιο, κι αφορά το εικονίδιο στην taskbar.

Aυτή από μόνη της δεν μπορεί να κάνει δουλειά.
Πρέπει να υπάρχει μια υπηρεσιά που θα ενώσει όλα τα διαφορετικά στοιχεία,
προκειμένου να μπορεί να λειτουργήσει το πρόγραμμα.

Π.χ. το χρησημοποιείς γιανα στείλεις μια ταινία στην τηλεόραση.
Το serviio σαν εφαρμογή απλά θα επιλέξει την ταινία.

Η Serviio σαν υπηρεσία, θα φορτώσει την Serviio σαν εφαρμογή,
θα ανοίξει την κατάλληλη θύρα στο router, θα συνδεθεί με την τηλεόραση σου,
ώστε να γίνει δυνατή η αποστολή της ταινίας από την Serviio εφαρμογή στην τηλεόραση

Υπηρεσία είναι ο ενδιάμεσος που ενώνει πολλές ανόμοιες διεργασίες μαζί
ώστε να μπορεί να εκτελεστεί μαι εντολή.

Nik_Gr
15-01-13, 11:14
Συνφωνοι, αλλα......

Υπαρχουν εφαρμογες:

α) Τρεχουν απευθειας ως standalone/installed ΧΩΡΙΣ να εχουν εγκαταστησει υπηρεσιες στο συστημα, αρα εκτελουνται απλα ως διεργασιες στην μνημη.

β) Προϋποθετουν την εγκατασταση καποιας υπηρεσιας για να μπορεσει να τρεξει η διεργασια τους.

Γιατι συμβαινει αυτο?

biggeo65
15-01-13, 11:22
Σκέψου την διεργασία σαν έναν απλό υπολογιστή, και την υπηρεσία σαν έναν server.
Ο υπολογιστής τρέχει μόνος του σε τοπικό επίπεδο.
Για να συνδεθεί με έναν άλλον υπολογιστή θα πρέπει να συνδεθεί στον server.

To ίδιο πράγμα συμβαίνει και με τις εφαρμογές.

Μπορούν να τρέξουν μόνες τους, αλλά χρειάζονται μια υπηρεσία
όταν είναι να συνδεθο0ύν με άλλες εφαρμογές

Nik_Gr
15-01-13, 11:34
Δηλαδη για να μπορεσει να τρεξει μια διεργασια σωστα αυτο εξαρταται απο μια αλλη διεργασια, η οποια με την σειρα της εξαρταταται απο μια αλλη διεργασια και παει λεγοντας.

Την εκκινηση των διαδοχικων διεργασιων καθως και την ανταλλαγη των αναμεταξυ τους δεδομενων, λοιπον, καλλειται να πραγματοποισει η υπηρεσια.

Αυτο καταλαβα.

biggeo65
15-01-13, 11:44
Αυτό ακριβώς είναι , όπως το ξέρω εγώ. Αλλά μπορεί να κάνω και λάθος.

yiapap
15-01-13, 11:47
Δηλαδη για να μπορεσει να τρεξει μια διεργασια σωστα αυτο εξαρταται απο μια αλλη διεργασια, η οποια με την σειρα της εξαρταταται απο μια αλλη διεργασια και παει λεγοντας.

Την εκιννηση των διαδοχικων διεργασιων καθως και την ανταλλαγη των αναμεταξυ τους δεδομενων, λοιπον, καλλειται να πραγματοποισει η υπηρεσια.

Αυτο καταλαβα.Kαι ναι και όχι :p
Μια εφαρμογή μπορεί να έχει μια ή περισσότερες διεργασίες.
Το ίδιο και μια υπηρεσία.
Σε αντίθεση όμως με την υπηρεσία η εφαρμογή απαιτεί έναν χρήστη να την εκτελέσει. Ακόμη και αν τη βάλεις στο startup ή εφαρμογή εκτελείται από τον χρήστη. Αντίθετα, η υπηρεσία εκτελείται αυτόματα από το λειτουργικό σύστημα κατά την εκκίνηση και δεν απαιτεί να υπάρχει χρήστης στον Η/Υ.

Nik_Gr
15-01-13, 11:49
Γιαυτο και στιν τοπικες υπηρεσιες οταν παμε και κανουμε δεξι κλικ ιδιοτητες βλεπουμε τα λεγομενα Dependencies.

Αυτα ειναι εξαρτησεις. Η υπηρεσια γνωριζει εκ των προτερων ποιες ειναι οι διεργασιες που χρειαζονται προκειμενου να τρεξει σωστα μια εφαρμογη.

biggeo65
15-01-13, 11:55
Kαι ναι και όχι :p
Μια εφαρμογή μπορεί να έχει μια ή περισσότερες διεργασίες.
Το ίδιο και μια υπηρεσία.
Σε αντίθεση όμως με την υπηρεσία η εφαρμογή απαιτεί έναν χρήστη να την εκτελέσει. Ακόμη και αν τη βάλεις στο startup ή εφαρμογή εκτελείται από τον χρήστη. Αντίθετα, η υπηρεσία εκτελείται αυτόματα από το λειτουργικό σύστημα κατά την εκκίνηση και δεν απαιτεί να υπάρχει χρήστης στον Η/Υ.

Δεν τρέχουν όλες οι υπηρεσίες απουσία χρήστη.
Υπάρχει και η "μη αυτόματη εκκίνηση" :p

Nik_Gr
15-01-13, 12:01
Kαι ναι και όχι :p
Μια εφαρμογή μπορεί να έχει μια ή περισσότερες διεργασίες.
Το ίδιο και μια υπηρεσία.
Σε αντίθεση όμως με την υπηρεσία η εφαρμογή απαιτεί έναν χρήστη να την εκτελέσει. Ακόμη και αν τη βάλεις στο startup ή εφαρμογή εκτελείται από τον χρήστη. Αντίθετα, η υπηρεσία εκτελείται αυτόματα από το λειτουργικό σύστημα κατά την εκκίνηση και δεν απαιτεί να υπάρχει χρήστης στον Η/Υ.

Μαλιστα.

διεργασια = εκτελεση προγραμματος στην μνημη

Εχουμε λοιπον εφαρμογες που χρειαζονται διεργασιες για να λειτουργησουν
Εχουμε λοιπον υπηρεσιες που χρειαζονται διεργασιες για να λειτουργησουν

Μενει να καταλαβουμε ποια ειναι η αναμεταξυ σχεση εφαρμογης <=> υπηρεσιας

yiapap
15-01-13, 12:04
Δεν τρέχουν όλες οι υπηρεσίες απουσία χρήστη.
Υπάρχει και η "μη αυτόματη εκκίνηση" :pΌχι. Όλες οι υπηρεσίες μπορούν εν δυνάμει να τρέξουν απουσία χρήστη. Αυτό είναι που τις διαφοροποιεί από τις εφαρμογές. Οι υπηρεσίες που είναι σε κατάσταση manual εκτελούνται από άλλες εφαρμογές ή άλλες υπηρεσίες (και μετά σταματά η εκτέλεση), πάλι χωρίς να απαιτείται χρήστης*.
Για την ακρίβεια οι υπηρεσίες δεν είναι τίποτε άλλο από εφαρμογές δηλωμένες και "πιστοποιημένες" ως υπηρεσίες οι οποίες ακολουθούν μια σειρά προδιαγραφών (π.χ. να μην υπάρχει user interaction με την υπηρεσία), και μια σειρά δηλώσεων στη registry κατά την εγκατάστασή τους.

* Υπόψιν ότι το "δεν απαιτείται χρήστης" αναφέρεται σε χρήστη-client-logged in άνθρωπο :p

- - - Updated - - -


Μαλιστα.

διεργασια = εκτελεση προγραμματος στην μνημη

Εχουμε λοιπον εφαρμογες που χρειαζονται διεργασιες για να λειτουργησουν
Εχουμε λοιπον υπηρεσιες που χρειαζονται διεργασιες για να λειτουργησουν

Μενει να καταλαβουμε ποια ειναι η αναμεταξυ σχεση εφαρμογης <=> υπηρεσιαςEξηγώ τη διαφορά παραπάνω.
Οι εφαρμογές δεν χρειάζονται διεργασίες. Οι εφαρμογές έχουν μια ή περισσότερες διεργασίες.
Το ίδιο και οι υπηρεσίες.
Οι διεργασίες είναι υποσύνολα εφαρμογών.
Αν θέλεις κατέβασε το Process Explorer (http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx) και παίξε μαζί του για να εξερευνήσεις περισσότερο τα των διαδικασιών.

Nik_Gr
15-01-13, 12:17
Eξηγώ τη διαφορά παραπάνω.
Οι εφαρμογές δεν χρειάζονται διεργασίες. Οι εφαρμογές έχουν μια ή περισσότερες διεργασίες.
Το ίδιο και οι υπηρεσίες.
Οι διεργασίες είναι υποσύνολα εφαρμογών.


Eχω πραγματικα μπερδευτει και ζαλιστει εν παραλληλω :-)

yiapap
15-01-13, 12:31
Eχω πραγματικα μπερδευτει και ζαλιστει εν παραλληλω :-)Που να βάλουμε στην κουβέντα και τα νήματα (threads) να δεις τι θα πάθεις :lol:

Nik_Gr
15-01-13, 14:56
Που να βάλουμε στην κουβέντα και τα νήματα (threads) να δεις τι θα πάθεις :lol:

Δεν τολμω καν να το διανοηθω! :whistle:

Παντως αν μπορεις να το κανεις λιγο ποιο λιανα το τελευταιο for the sake of understanding, θα ητο σπουδαιον.

yiapap
15-01-13, 15:07
Δεν τολμω καν να το διανοηθω! :whistle:

Παντως αν μπορεις να το κανεις λιγο ποιο λιανα το τελευταιο for the sake of understanding, θα ητο σπουδαιον.Προσπαθώ από το πρωί να βρω κάτι ανάλογο στον φυσικό κόσμο και δεν μπορώ :(
Σκέψου τις διεργασίες ως "υποπρογράμματα". Ένα πρόγραμμα μπορεί να έχει ένα ή περισσότερα processes αλλά για χάριν απλότητας ας πούμε ότι μια διεργασία ΕΙΝΑΙ ένα πρόγραμμα.
Η υπηρεσία είναι ένα ειδικής μορφής πρόγραμμα. Ο σκοπός της είναι να εκτελείται αυτόματα χωρίς να χρειάζεται παρέμβαση ή ύπαρξη συνδεδεμένου χρήστη. Π.χ. το Antivirus σου τρέχει ως υπηρεσία για να μπορεί να ελέγχει τον Η/Υ σου ανεξάρτητα από το ποιος χρήστης είναι συνδεδεμένος. Εσύ (ο χρήστης) δεν έχεις απευθείας επικοινωνία με την υπηρεσία. Μπορείς να κάνεις αλλαγές καλώντας το γραφικό περιβάλλον της εφαρμογής του AV. Οι αλλαγές αυτές αποθηκευονται και όταν η υπηρεσία ξαναξεκινήσει θα δει τις αλλαγές. Σε αυτό το παράδειγμα η "σουίτα" του antivirus έχει μια εφαρμογή (το γραφικό περιβάλλον με τα κουμπάκια και τις ρυθμίσεις του) και μια υπηρεσία (αυτό που τρέχει στο παρασκήνιο και ελέγχει για ιούς). Κάθε ένα από τα δύο έχει ξεχωριστή διεργασία.

Αν τα πας καλά με τα Αγγλικά δες και εδώ (http://en.wikipedia.org/wiki/Process_%28computing%29) για τον ορισμό της διεργασίας.
Ίσως κάποιος μπορεί να το εξηγήσει καλύτερα :sorry:

Nik_Gr
15-01-13, 15:31
Καπως καλυτερα τωρα αλλα και παλι μια εφαρμογη περιλαμβανει και το GUI και το underlying process.

"a process is an instance of a computer program that is being executed."

"an instance is an occurrence or a copy of an object, whether currently executing or not"

Δηλαδη μια εφαρμογη οπως το VLC μπορουμε να το τρεξουμε καμια 20αρια φορες.

1 εφαρμογη ειναι αλλα τρεχει στην μνημη αυτη καθ'εαυτη 20 φορες, αρα εχει δημιουργησει 20 διεργασιες

Για να δημιουργηθουν Διεργασιες μιας εφαρμογης, πρεπει απαραιτητως να τρεξει πρωτα η εφαρμογη.

αλλα εκει που πας να το καταλαβεις σου κοτσαρει και το "...whether currently executing or not""

yiapap
15-01-13, 15:33
Καπως καλυτερα τωρα αλλα και παλι μια εφαρμογη περιλαμβανει και το GUI και το underlying process.

"a process is an instance of a computer program that is being executed."

"an instance is an occurrence or a copy of an object, whether currently executing or not"

Δηλαδη μια εφαρμογη οπως το VLΨ μπορουμε να το τρεξουμε καμια 20αρια φορες.

1 εφαρμογη ειναι αλλα τρεχει στην μνημη αυτη καθ'εαυτη 20 φορες, αρα εχει δημιουργησει 20 διεργασιες

Για να δημιουργηθουν Διεργασιες μιας εφαρμογης, πρεπει απαραιτητως να τρεξει πρωτα η εφαρμογη.

αλλα εκει που πας να το καταλαβεις σου κοτσαρει και το "...whether currently executing or not""Σωστά το κατάλαβες. Το whether currently executing or not ξέχνα το τελείως. Είναι θεωρητικούρα του κερατά.

Nik_Gr
15-01-13, 15:58
Βεβαια στο συγκεκριμενο παραδειγμα(VLC) και οι 20 διεργασιες που δημιουργουνται ειναι κοπιες της ιδιας της εφαρμογης που εκτελειται 20 φορες στην μνημη.

α) Αρα μια εφαρμογη(αποθηκευμενη στον σκληρο) οταν την τρεχουμε μεταβαλλεται σε διεργασια(αυτη καθ'εαυτη η εφαρμογη εκτελουμενη στην μνημη). Σωστα?

Αυτη η διεργασια(instance of a program), ομως, χρειαζεται την υπαρξη-βοηθεια αλλως διεργασιων(other programmes instances) για να λειτουργησει, ειναι δηλαδη εξαρτημενη απο αλλα προγραμματα που πρεπει να εκκινηθουν για να την βοηθησουν.

Η υπηρεσια αναλαμβανει να εκκινησει τα απαραιτητα προγραμματα, τα οποια οταν εκκινηθουν απο την αρχικη διεργασια που τα ζητησε γινονται και αυτα διεργασιες.

Σκατα.....ειναι σαν να υποννοω οτι μια εφαρμογη πρεπει να εχει υπηρεσια στο υποβαθρο για να λειτουργησει σωστα.......καλλιστα ομως μια εφαρμογη μπορει να τρεξει χωρις να εχει αναγκη να εγκαταστησει μαι τοπικη υπηρεσια στα Windows.

!?#$%^&* ?????

yiapap
15-01-13, 16:19
Βεβαια στο συγκεκριμενο παραδειγμα(VLC) και οι 20 διεργασιες που δημιουργουνται ειναι κοπιες της ιδιας της εφαρμογης που εκτελειται 20 φορες στην μνημη.

α) Αρα μια εφαρμογη(αποθηκευμενη στον σκληρο) οταν την τρεχουμε μεταβαλλεται σε διεργασια(αυτη καθ'εαυτη η εφαρμογη εκτελουμενη στην μνημη). Σωστα?

Αυτη η διεργασια(instance of a program), ομως, χρειαζεται την υπαρξη-βοηθεια αλλως διεργασιων(other programmes instances) για να λειτουργησει, ειναι δηλαδη εξαρτημενη απο αλλα προγραμματα που πρεπει να εκκινηθουν για να την βοηθησουν.

Η υπηρεσια αναλαμβανει να εκκινησει τα απαραιτητα προγραμματα, τα οποια οταν εκκινηθουν απο την αρχικη διεργασια που τα ζητησε γινονται και αυτα διεργασιες.

Σκατα.....ειναι σαν να υποννοω οτι μια εφαρμογη πρεπει να εχει υπηρεσια στο υποβαθρο για να λειτουργησει σωστα.......καλλιστα ομως μια εφαρμογη μπορει να τρεξει χωρις να εχει αναγκη να εγκαταστησει μαι τοπικη υπηρεσια στα Windows.

!?#$%^&* ?????Όχι, όχι.
Μην πας σε πολύπλοκα παραδείγμα.
Γράφεις μια εφαρμογή που βγάζει το μήνυμα "Hello World"
Μπορείς να την τρέξεις 20 φορές και να δεις 20 μηνύματα Hello World (ας υποθέσουμε ότι μετά δεν τερματίζεται η εφαρμογή).
Άρα η εφαρμογή σου άνοιξε 20 στιγμιότυπα αυτής καθένα με το δικό του process.
Δε μίλησε με καμιά υπηρεσία.

Αν μιλάς όμως για μεγάλα προγράμματα, από το VLC ώς το Antivirus τότε πράγματι αυτά "μιλάνε" με άλλες διεργασίες της ίδιας (ή άλλης) εφαρμογής ή ακόμη και με διεργασίες υπηρεσιών. Παράδειγμα άλλο: Τρέχεις Word και θέλεις να βάλεις μέσα ένα αντικείμενο Excel. Με το που θα πας να το βάλεις θα σηκωθεί η διεργασία EXCEL.EXE δηλαδή ένα στιγμιότυπο του Excel ώστε να μπορέσεις να το κάνεις.
Παράδειγμα άλλο: Στον υπολογιστή σου τρέχει μια υπηρεσία (η διεργασία της) που ονομάζεται DNS Client. Αυτή έχει ως σκοπό όταν γράφεις www.adslgr.com να μετατρέπει τη διευθυνση αυτή σε διευθυνση IP για να δρομολογηθεί σωστά το αίτημά σου. Εσύ γράφεις μια διευθυνση π.χ. στον Firefox, ο Firefox μιλάει με την υπηρεσία (μέσω των Windows αφού η υπηρεσία είναι μέρος της "σουίτας" που λέγεται Windows). Η υπηρεσία αυτή μπορεί με τη σειρά της να μιλήσει και με άλλες υπηρεσίες (ή πιο σωστά με τις διεργασίες τους) στον υπολογιστή σου ή και σε άλλους υπολογιστές ώστε τελικά εσύ να διαβάσεις τα παραπάνω.

Nik_Gr
15-01-13, 16:56
Το παραδειγμα με το "hello world" το καταλαβα πολυ καλα.

Σε τι διαφερει μια διεργασια υπηρεσιας εναντι μιας διεργασιας εφαρμογης ? Και τα 2 ειναι στιγμιοτυπα προγραμματων που τρεχουν εκεινη την στιγμη στην μνημη σωστα?

Απλα για να καταλαβουμε εν τελει σε ΤΙ διαφερει μια υπηρεσια απο μια εφαρμογη πρεπει να μαθουμε για ποιον σκοπο δημιουργηθηκαν και αυτο ειναι υποκειμενικο και οχι γενικο.

καποιες εφαρμογες τρεχουν αυτονομα χωρις να χρειαζονται υπηρεσιες για να τις υποστηριξουν,
ενω
καποιες αλλες εφαρμογες εξαρτουνται απο επισης καποιες αλλες εφαρμογες για να μπορεσουν να λειτουργησουν και λογω αυτου του γεγονοτος χρειαζονται καποια υπηρεσια υποστηριξης

Αυτο καταλαβα.

..................
..................

αλλα και παλι.......ακομα και αν μια Α εφαρμογη χρειαζεται καποια αλλη εφαρμογη για μπορεσει να λειτουργησει, γιατι η Α να μην ζητησει απευθειας εκκινηση της Β εφαρμογης αμεσα αλλα να το κανει εμμεσα μεσω μιας υπηρεσιας?

ΟΥΦ........θα σκασω.....:cry:

yiapap
15-01-13, 17:22
αλλα και παλι.......ακομα και αν μια Α εφαρμογη χρειαζεται καποια αλλη εφαρμογη για μπορεσει να λειτουργησει, γιατι η Α να μην ζητησει απευθειας εκκινηση της Β εφαρμογης αμεσα αλλα να το κανει εμμεσα μεσω μιας υπηρεσιας?

ΟΥΦ........θα σκασω.....:cry:Γιατί με αυτόν τον τρόπο η εφαρμογή μιλάει πάντα μια γλώσσα με μια υπηρεσία. Συνηθως μιλάμε για υπηρεσίες του λειτουργικού. Αυτές με τη σειρά τους αναλαμβάνουν όλα τα υπόλοιπα στάδια επικοινωνίας.
Έτσι ο προγραμματιστής δεν χρειάζεται να κωδικοποιήσει τη.. συνομιλία με όλες τις υπάρχουσες εφαρμογές του κόσμου. Απλά όλοι οι προγραμματιστές φροντίζουν οι εφαρμογές τους να είναι "φιλικές" προς αυτή την υπηρεσία ώστε να ακουν αυτή.
Εννοείται ότι μια εφαρμογή μπορεί να καλέσει μια άλλη εφαρμογή. Π.χ. ο Media Player classic καλεί άμεσα τους decoders (π.χ. ffmpeg) χωρίς να μεσολαβεί κάποια υπηρεσία. Ο VLC έχει τους δικούς του decoders τους οποίους καλεί όταν χρειάζεται χωρίς να μεσολαβεί υπηρεσία.
Θα επαναλάβω: Η υπηρεσία είναι απλά μια ειδική κατηγορία εφαρμογών. Τίποτε περισσότερο, τίποτε λιγότερο ;)

Nik_Gr
15-01-13, 17:47
θα το σταματησω εδω για να μην go lunatack.....:-)

Σε ευχαριστω for your time & effort to explain!

biggeo65
15-01-13, 19:25
Όχι. Όλες οι υπηρεσίες μπορούν εν δυνάμει να τρέξουν απουσία χρήστη. Αυτό είναι που τις διαφοροποιεί από τις εφαρμογές. Οι υπηρεσίες που είναι σε κατάσταση manual εκτελούνται από άλλες εφαρμογές ή άλλες υπηρεσίες (και μετά σταματά η εκτέλεση), πάλι χωρίς να απαιτείται χρήστης*.
Για την ακρίβεια οι υπηρεσίες δεν είναι τίποτε άλλο από εφαρμογές δηλωμένες και "πιστοποιημένες" ως υπηρεσίες οι οποίες ακολουθούν μια σειρά προδιαγραφών (π.χ. να μην υπάρχει user interaction με την υπηρεσία), και μια σειρά δηλώσεων στη registry κατά την εγκατάστασή τους.

* Υπόψιν ότι το "δεν απαιτείται χρήστης" αναφέρεται σε χρήστη-client-logged in άνθρωπο :p


Tώρα το έθεσες σωστά, :p

- - - Updated - - -


Το παραδειγμα με το "hello world" το καταλαβα πολυ καλα.

Σε τι διαφερει μια διεργασια υπηρεσιας εναντι μιας διεργασιας εφαρμογης ? Και τα 2 ειναι στιγμιοτυπα προγραμματων που τρεχουν εκεινη την στιγμη στην μνημη σωστα?

Απλα για να καταλαβουμε εν τελει σε ΤΙ διαφερει μια υπηρεσια απο μια εφαρμογη πρεπει να μαθουμε για ποιον σκοπο δημιουργηθηκαν και αυτο ειναι υποκειμενικο και οχι γενικο.

καποιες εφαρμογες τρεχουν αυτονομα χωρις να χρειαζονται υπηρεσιες για να τις υποστηριξουν,
ενω
καποιες αλλες εφαρμογες εξαρτουνται απο επισης καποιες αλλες εφαρμογες για να μπορεσουν να λειτουργησουν και λογω αυτου του γεγονοτος χρειαζονται καποια υπηρεσια υποστηριξης

Αυτο καταλαβα.

..................
..................

αλλα και παλι.......ακομα και αν μια Α εφαρμογη χρειαζεται καποια αλλη εφαρμογη για μπορεσει να λειτουργησει, γιατι η Α να μην ζητησει απευθειας εκκινηση της Β εφαρμογης αμεσα αλλα να το κανει εμμεσα μεσω μιας υπηρεσιας?

ΟΥΦ........θα σκασω.....:cry:

Γι αυτό σου είπα να θυμάσια την γενική έννοια. :p

Όσο το σκαλίζεις τόσο ποιό πολύ μπερδεύεσαι.

Αυτό που έγραψε o yiapap για υπηρεσίες και εφαρμογές, να το πω με ένα χοντρό παράδειγμα.

10 Εφαρμογές τρέχουν μόνες τους,αυτόνομα.
Κάποια στιγμή αυτες η εφαρμογές ζητούν να εκτυπώσουν (χρήση της εφαρμογής print)
Καλούν την υπηρεσία (ουρά εκτύπωσης),αυτή με βάση ποια εφαρμογή κάλεσε πρώτη
τις βάζει σε μια σειρά και η κάθε εφαρμογή χρησημοποιεί την print, με βάση την σειρά που έβαλε η υπηρεσία.

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

@ ADSLgr.com All rights reserved.