Κλήση συστήματος στο λειτουργικό σύστημα (OperaΣύστημα ting): Τι είναι, Τύποι και Παραδείγματα

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

A κλήση συστήματος είναι ένας μηχανισμός που παρέχει τη διεπαφή μεταξύ μιας διεργασίας και του λειτουργικού συστήματος. Είναι μια προγραμματική μέθοδος κατά την οποία ένα πρόγραμμα υπολογιστή ζητά μια υπηρεσία από τον πυρήνα του ΛΣ.

Η κλήση συστήματος προσφέρει τις υπηρεσίες του λειτουργικού συστήματος στα προγράμματα χρήστη μέσω API (Application Programming Interface). Οι κλήσεις συστήματος είναι τα μόνα σημεία εισόδου για το σύστημα πυρήνα.

Κλήσεις συστήματος Operating System
Κλήσεις συστήματος Operating System

Παράδειγμα κλήσης συστήματος

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

Σε ένα διαδραστικό σύστημα, αυτός ο τύπος εκτέλεσης προγράμματος απαιτεί ορισμένες κλήσεις συστήματος από το λειτουργικό σύστημα.

  • Η πρώτη κλήση είναι να γράψετε ένα μήνυμα προτροπής στην οθόνη
  • Δεύτερον, για να διαβάσετε από το πληκτρολόγιο, τους χαρακτήρες που ορίζουν τα δύο αρχεία.

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

Ακολουθούν τα βήματα για την Κλήση συστήματος στο λειτουργικό σύστημα:

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

Archiδομή της κλήσης συστήματος

Archiδομή της κλήσης συστήματος

Όπως μπορείτε να δείτε στο παραπάνω παράδειγμα διάγραμμα Κλήσης συστήματος.

Βήμα 1) Οι διεργασίες που εκτελούνται στη λειτουργία χρήστη μέχρι τη στιγμή που μια κλήση συστήματος τη διακόπτει.

Βήμα 2) Μετά από αυτό, η κλήση συστήματος εκτελείται σε λειτουργία πυρήνα κατά προτεραιότητα.

Βήμα 3) Μόλις ολοκληρωθεί η εκτέλεση της κλήσης συστήματος, ο έλεγχος επιστρέφει στη λειτουργία χρήστη.

Βήμα 4) Η εκτέλεση των διαδικασιών χρήστη συνεχίστηκε στο Λειτουργία πυρήνα.

Γιατί χρειάζεστε κλήσεις συστήματος στο λειτουργικό σύστημα;

Ακολουθούν καταστάσεις που χρειάζονται κλήσεις συστήματος στο λειτουργικό σύστημα:

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

Τύποι κλήσεων συστήματος

Ακολουθούν οι πέντε τύποι κλήσεων συστήματος στο λειτουργικό σύστημα:

  • Ελεγχος διαδικασίας
  • Διαχείριση αρχείων
  • Διαχείριση συσκευών
  • Συντήρηση Πληροφοριών
  • Διαβιβάσεις
Τύποι κλήσεων συστήματος

Τύποι κλήσεων συστήματος στο λειτουργικό σύστημα

Ελεγχος διαδικασίας

Αυτές οι κλήσεις συστήματος εκτελούν την εργασία δημιουργίας διεργασίας, τερματισμού διεργασίας κ.λπ.

λειτουργίες:

  • Τέλος και Ακύρωση
  • Φόρτωση και εκτέλεση
  • Δημιουργία διαδικασίας και τερματισμός διαδικασίας
  • Περίμενε και Signal Συμβάν
  • Εκχώρηση και ελεύθερη μνήμη

Διαχείριση αρχείων

Το σύστημα διαχείρισης αρχείων καλεί εργασίες χειρισμού αρχείων χειρισμού, όπως δημιουργία αρχείου, ανάγνωση και εγγραφή κ.λπ.

λειτουργίες:

  • Δημιουργήστε ένα αρχείο
  • Διαγραφή φακέλου
  • Άνοιγμα και κλείσιμο αρχείου
  • Διαβάστε, γράψτε και επανατοποθετήστε
  • Λήψη και ρύθμιση χαρακτηριστικών αρχείων

Διαχείριση συσκευών

Η διαχείριση συσκευών κάνει τη δουλειά του χειρισμού της συσκευής όπως η ανάγνωση από τα buffer της συσκευής, η εγγραφή σε buffer συσκευών κ.λπ.

λειτουργίες:

  • Συσκευή αιτήματος και αποδέσμευσης
  • Συνδέστε/αποσυνδέστε λογικά συσκευές
  • Λήψη και ρύθμιση χαρακτηριστικών συσκευής

Συντήρηση Πληροφοριών

Χειρίζεται τις πληροφορίες και τη μεταφορά τους μεταξύ του λειτουργικού συστήματος και του προγράμματος χρήστη.

λειτουργίες:

  • Λήψη ή ρύθμιση ώρας και ημερομηνίας
  • Λάβετε χαρακτηριστικά διαδικασίας και συσκευής

Επικοινωνία

Αυτοί οι τύποι κλήσεων συστήματος χρησιμοποιούνται ειδικά για επικοινωνίες μεταξύ διεργασιών.

λειτουργίες:

  • Δημιουργία, διαγραφή συνδέσεων επικοινωνίας
  • Αποστολή, λήψη μηνύματος
  • Βοηθήστε το λειτουργικό σύστημα να μεταφέρει πληροφορίες κατάστασης
  • Συνδέστε ή αποσυνδέστε απομακρυσμένες συσκευές

Κανόνες μεταβίβασης παραμέτρων για κλήση συστήματος

Ακολουθούν γενικοί κοινοί κανόνες για τη μετάδοση παραμέτρων στην κλήση συστήματος:

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

Σημαντικές κλήσεις συστήματος που χρησιμοποιούνται στο λειτουργικό σύστημα

Περίμενε()

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

Η αναστολή της γονικής διαδικασίας συμβαίνει αυτόματα με μια κλήση συστήματος wait(). Όταν η θυγατρική διαδικασία τερματίζει την εκτέλεση, το στοιχείο ελέγχου επιστρέφει στη γονική διαδικασία.

πιρούνι()

Οι διεργασίες χρησιμοποιούν αυτήν την κλήση συστήματος για να δημιουργήσουν διεργασίες που αποτελούν αντίγραφο του εαυτού τους. Με τη βοήθεια αυτού του συστήματος, η γονική διαδικασία κλήσης δημιουργεί μια θυγατρική διαδικασία και η εκτέλεση της γονικής διαδικασίας θα ανασταλεί μέχρι να εκτελεστεί η θυγατρική διαδικασία.

exec()

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

σκοτώνω()

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

έξοδος()

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

Σύνοψη

Κατηγορίες Windows Unix
Ελεγχος διαδικασίας CreateProcess()
ExitProcess()
WaitForSingleObject()
πιρούνι()
έξοδος()
Περίμενε()
Χειρισμός συσκευής SetConsoleMode()
ReadConsole()
WriteConsole()
loctl()
ανάγνωση()
γράφω()
Χειρισμός αρχείων CreateFile()
ReadFile()
WriteFile()
CloseHandle()
Ανοιξε()
Ανάγνωση()
γράφω()
Κλείσε!)
Συντήρηση πληροφοριών GetCurrentProcessID()
SetTimer()
Υπνος()
getpid()
τρομάζω()
ύπνος()
Επικοινωνία CreatePipe()
CreateFileMapping()
MapViewOfFile()
Σωλήνας()
shm_open()
mmap()
Απάτη SetFileSecurity()
InitlializeSecurityDescriptή()
SetSecurityDescriptorGroup ()
Chmod()
Umask()
Chown()