Διαφορά μεταξύ κλήσης συστήματος και κλήσης λειτουργίας

Anonim

Κλήση συστήματος vs κλήση λειτουργίας

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

Τι είναι μια κλήση συστήματος;

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

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

Μια κλήση λειτουργίας καλείται επίσης μια κλήση υπορουτίνας. Μια υπορουτίνα (γνωστή και ως διαδικασία, λειτουργία, μέθοδος ή ρουτίνα) είναι μέρος ενός ευρύτερου προγράμματος που είναι υπεύθυνο για την εκτέλεση μιας συγκεκριμένης εργασίας. Το μεγαλύτερο πρόγραμμα μπορεί να εκτελέσει ένα μεγάλο φόρτο εργασίας και η υπορουτίνα μπορεί να εκτελεί απλά μια απλή εργασία, η οποία είναι επίσης ανεξάρτητη από την υπόλοιπη κωδικοποίηση του προγράμματος. Μια λειτουργία κωδικοποιείται με τέτοιο τρόπο ώστε να μπορεί να καλείται πολλές φορές και από διαφορετικά μέρη (ακόμη και μέσα από άλλες λειτουργίες). Όταν καλείται μια λειτουργία, ο επεξεργαστής μπορεί να πάει εκεί που βρίσκεται ο κώδικας της λειτουργίας και να εκτελέσει τις εντολές της λειτουργίας μία προς μία. Μετά την ολοκλήρωση των λειτουργιών, ο επεξεργαστής θα επιστρέψει ακριβώς εκεί που παρέμεινε και θα συνεχίσει την εκτέλεση ξεκινώντας από την επόμενη εντολή. Οι λειτουργίες είναι ένα εξαιρετικό εργαλείο για την επαναχρησιμοποίηση του κώδικα. Πολλές σύγχρονες λειτουργίες υποστήριξης γλωσσών προγραμματισμού. Μια συλλογή λειτουργιών ονομάζεται βιβλιοθήκη. Οι βιβλιοθήκες χρησιμοποιούνται συχνά ως μέσο ανταλλαγής και εμπορίας λογισμικού. Σε ορισμένες περιπτώσεις, ολόκληρο το πρόγραμμα μπορεί να είναι μια ακολουθία υπορουτίνων (π.χ.

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

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