Diferența dintre apelul de sistem și apelul la bibliotecă

Cuprins:

Diferența dintre apelul de sistem și apelul la bibliotecă
Diferența dintre apelul de sistem și apelul la bibliotecă

Video: Diferența dintre apelul de sistem și apelul la bibliotecă

Video: Diferența dintre apelul de sistem și apelul la bibliotecă
Video: Cum vom fi NOI peste 50 de ANI 😂😅 #tiktokromania #valeriucoada Abonează-te 👇 2024, Noiembrie
Anonim

Diferență cheie – Apel de sistem vs Apel de bibliotecă

Apelul de sistem și Apelul de bibliotecă sunt legate de sistemul de operare al unui computer. Calculatorul poate funcționa în două moduri; și anume, modul utilizator și modul kernel. Diferența cheie dintre apelul de sistem și apelul de bibliotecă este că apelul de sistem este o funcție furnizată de kernel pentru a intra în modul kernel pentru a accesa resursele hardware, în timp ce apelul de bibliotecă este o funcție furnizată de bibliotecile de programare. De exemplu, open () este un apel de sistem și fopen () este un apel de bibliotecă. Când fopen () în programul C, folosește biblioteca antet stdio.h. Apoi apelul de sistem „open (),” este folosit din nucleu pentru a finaliza sarcina de deschidere a fișierului.

Ce este apelul de sistem?

Un computer funcționează în două moduri. Acestea sunt modul utilizator și modul kernel. Unele procese rulează pe un sistem informatic. Un proces este un program în execuție. Când rulează programe de aplicație, computerul este în modul utilizator. Dacă este necesară o resursă hardware, procesul trimite o solicitare către nucleu, iar computerul intră în modul kernel. Aceste cereri sunt trimise folosind apeluri de sistem. Computerul comută frecvent între aceste două moduri. Când sarcina este finalizată, computerul revine la modul utilizator din modul kernel. Această tranziție de mod este cunoscută sub denumirea de „comutare de context”. Apelurile de sistem reprezintă o interfață între sistemul de operare și programele utilizatorului.

Diferența dintre apelul de sistem și apelul de bibliotecă
Diferența dintre apelul de sistem și apelul de bibliotecă
Diferența dintre apelul de sistem și apelul de bibliotecă
Diferența dintre apelul de sistem și apelul de bibliotecă

Figura 01: Apeluri de sistem

Există diferite tipuri de apeluri de sistem. Crearea, terminarea procesului, executarea procesului, alocarea și eliberarea memoriei se pot face folosind „Apeluri de sistem de control al procesului”. „File Management System Calls” poate fi folosit pentru a crea, șterge, citi, scrie, deschide și închide fișiere. Procesul necesită unele resurse pentru a finaliza execuția. Solicitarea și eliberarea dispozitivelor se fac prin „Apeluri de sistem de gestionare a dispozitivelor”. „Apelurile sistemului de management al informațiilor” pot fi folosite pentru a obține date de sistem și pentru a obține procese și atribute ale dispozitivului. Procesele comunică între ele. Această comunicare se realizează folosind „Apeluri de sistem de comunicare”. Trimiterea informațiilor de stare, crearea și ștergerea conexiunilor de comunicare și trimiterea și primirea mesajelor se pot face folosind apeluri de sistem de comunicare.

Ce este apelul la bibliotecă?

Apelul de bibliotecă este o funcție oferită de bibliotecile de programare. Înainte de a efectua un apel la bibliotecă, acea bibliotecă ar trebui importată. Apelul la bibliotecă poate depinde de apelul de sistem.

În limbajul C, aceste funcții pot fi utilizate în program prin includerea fișierelor de antet. Fișierele antet sunt incluse folosind directiva de preprocesare include. Preprocesorul scanează fișierul specificat înainte de a continua cu restul fișierului sursă. Unele funcții comune ale bibliotecii sunt după cum urmează, biblioteca „math.h” include funcții legate de operațiile matematice. Biblioteca „stdio.h” oferă funcții pentru efectuarea intrării și ieșirii. „fopen()” deschide numele fișierului indicat. „fclose()” închide fișierul. „printf() este folosit pentru a trimite ieșirea formatată la o ieșire standard. „fprintf ()” este folosit pentru a trimite rezultatul formatat către un flux. „scanf()” este folosit pentru a citi intrarea formatată de la intrarea standard. „stdlib.h” oferă funcții pentru gestionarea memoriei, iar „time.h” oferă funcții pentru manipularea orei și datei.

Care este asemănarea dintre apelul de sistem și apelul de bibliotecă?

Ambele sunt legate de sistemul de operare

Care este diferența dintre apelul de sistem și apelul de bibliotecă?

Apel de sistem vs Apel de bibliotecă

Un apel de sistem este o funcție furnizată de kernel pentru a intra în modul kernel pentru a accesa resursele hardware. Apelul de bibliotecă este o funcție oferită de biblioteca de programare.
Mod de execuție
Un apel de sistem este executat în modul kernel. Un apel de bibliotecă este executat în modul utilizator.
Schimbarea modului
Un apel de sistem comuta din modul utilizator în modul kernel. Nu se trece de la modul utilizator la modul kernel în apelul Bibliotecă.
Portabilitate
Un apel de sistem nu este portabil. Un apel la bibliotecă este portabil.

Rezumat – Apel de sistem vs Apel de bibliotecă

Un apel de sistem este implementat în nucleu, iar un apel de bibliotecă este implementat în spațiul utilizatorului. Diferența dintre apelul de sistem și apelul de bibliotecă este că un apel de sistem este o funcție furnizată de nucleu pentru a intra în modul kernel pentru a accesa resursele hardware, iar apelul de bibliotecă este o funcție furnizată de bibliotecile de programare. Apelurile de bibliotecă pot depinde de apelurile de sistem pentru a finaliza sarcina. open(), fork(), cd() sunt câteva exemple de apeluri de sistem. fopen (), fprintf () sunt exemple de apeluri de bibliotecă.

Descărcați versiunea PDF a System Call vs Library Call

Puteți descărca versiunea PDF a acestui articol și o puteți utiliza în scopuri offline, conform nota de citare. Vă rugăm să descărcați versiunea PDF aici Diferența dintre apelul de sistem și apelul la bibliotecă

Recomandat: