Apel sistem
Acest articol sau secțiune referitoare la informatică nu menționează sursele necesare sau cei prezenți sunt insuficienți . |
Un apel de sistem (în engleză system call), în informatică , indică mecanismul utilizat de un proces la nivel de utilizator sau la nivel de aplicație, pentru a solicita kernel - ul de serviciu al sistemului de operare al computerului utilizat. De obicei, este disponibil ca funcție în acele limbaje de programare care acceptă programarea sistemului (cum ar fi limbajul C ) sau ca instrucțiuni speciale de asamblare .
Caracteristici
Fundamental este trecerea de la modul utilizator la modul Kernel printr-o anumită instrucțiune care este identificată în capcană .
Din motive de securitate, codul inerent serviciilor sistemului de operare este executabil numai în modul kernel , având acces complet la hardware . De fapt, un apel către kernel necesită adesea utilizarea unei instrucțiuni speciale de limbaj mașină care provoacă o comutare contextuală a microprocesorului (de la „modul protejat” la „modul de supraveghere”, care, pe procesoarele Intel și compatibile , este numit de „Ring” 3 "până la" Ring 0 "). Acest lucru permite kernel-ului sistemului de operare să efectueze operațiuni sensibile, cum ar fi accesarea hardware - ului sau a unității de gestionare a memoriei , cu toate acestea implică o cheltuieli generale mai mari. Ulterior, când sarcina exercitată prin apelul de sistem invocat este terminată, controlul face procedura inversă, de la modul kernel pentru a reveni la modul utilizator .
De asemenea, foarte importante sunt apelurile către bibliotecile utilizatorilor ( API ). Apelul către un API este identic cu un apel către o funcție a aplicației în sine, în practică starea registrelor microprocesorului și adresa de retur sunt înregistrate pe stivă . Prin urmare, chiar și în sistemele de operare cu protecție a memoriei și separarea spațiilor de adrese, vor exista puține cheltuieli generale .
Tipologie
Principalele categorii de apeluri de sistem sunt:
- control proces / thread :
- gestionarea fișierelor și a sistemului de fișiere :
- creați fișiere,
- sterge fisierul,
- deschide - inchide,
- Citeste si scrie,
- obține / seta atribute de fișiere,
- etc.
- gestionarea dispozitivelor :
- cerere,
- eliberare,
- Citeste si scrie,
- obține / setează atribute,
- etc.
- gestionarea informațiilor :
- obțineți / setați ora sau data,
- obțineți / setați date de sistem,
- obțineți / setați procesul, fișierul sau atributele unui dispozitiv,
- etc.
- comunicare :
- creați / ștergeți conexiunea,
- trimite / primi mesaje,
- transferul informațiilor de stare,
- etc.
Pe sistemele Posix și sisteme similare, apelurile de sistem obișnuite sunt close()
, execlp()
, fork()
, kill()
, open()
, read()
, wait()
și write()
.
Pentru sistemele Windows NT consultați articolul Native API .
linkuri externe
- ( RO ) Apel de sistem , în Dicționarul gratuit online de calcul , Denis Howe. Disponibil sub licență GFDL