Forskellen mellem systemopkald og biblioteksopkald

Indholdsfortegnelse:

Forskellen mellem systemopkald og biblioteksopkald
Forskellen mellem systemopkald og biblioteksopkald

Video: Forskellen mellem systemopkald og biblioteksopkald

Video: Forskellen mellem systemopkald og biblioteksopkald
Video: System Calls 2024, November
Anonim

Nøgleforskel – systemopkald vs biblioteksopkald

Systemopkald og biblioteksopkald er relateret til operativsystemet på en computer. Computeren kan fungere i to tilstande; nemlig brugertilstand og kernetilstand. Den vigtigste forskel mellem systemkald og biblioteksopkald er, at systemkald er en funktion leveret af kernen for at gå ind i kernetilstand for at få adgang til hardwareressourcerne, hvorimod biblioteksopkald er en funktion leveret af programmeringsbiblioteker. For eksempel er åben () et systemkald, og fopen () er et bibliotekskald. Når fopen () i C-program, bruger stdio.h header-biblioteket. Derefter bruges systemkaldet 'open (), ' fra kernen til at fuldføre filåbningsopgaven.

Hvad er systemopkald?

En computer fungerer i to tilstande. De er brugertilstand og kernetilstand. Nogle processer kører på et computersystem. En proces er et program under udførelse. Når applikationsprogrammer kører, er computeren i brugertilstand. Hvis der kræves en hardwareressource, sender processen en anmodning til kernen, og computeren går i kernetilstand. Disse anmodninger sendes ved hjælp af systemopkald. Computeren skifter ofte mellem disse to tilstande. Når opgaven er fuldført, går computeren tilbage til brugertilstand fra kernetilstand. Denne tilstandsovergang er kendt som "kontekstskift". Systemopkald er en grænseflade mellem operativsystemet og brugerprogrammer.

Forskellen mellem systemopkald og biblioteksopkald
Forskellen mellem systemopkald og biblioteksopkald
Forskellen mellem systemopkald og biblioteksopkald
Forskellen mellem systemopkald og biblioteksopkald

Figur 01: Systemopkald

Der er forskellige typer systemopkald. Opret, afslut processen, udførelse af processen, allokering og frigør hukommelse kan udføres ved hjælp af "Process Control System Calls." "File Management System Calls" kan bruges til at oprette, slette, læse, skrive, åbne, lukke filer. Processen kræver nogle ressourcer for at fuldføre eksekveringen. Anmodning og frigivelse af enheder sker gennem "Device Management System Calls". "Information Management System Calls" kan bruges til at få systemdata og til at få processer og enhedsattributter. Processer kommunikerer med hinanden. Denne kommunikation udføres ved hjælp af "Communication System Calls." Afsendelse af statusoplysninger, oprettelse og sletning af kommunikationsforbindelser og afsendelse og modtagelse af beskeder kan ske ved hjælp af kommunikationssystemopkald.

Hvad er biblioteksopkald?

Bibliotekkald er en funktion, der leveres af programmeringsbibliotekerne. Før du foretager et biblioteksopkald, skal biblioteket importeres. Biblioteksopkald kan afhænge af systemopkaldet.

På C-sprog kan disse funktioner bruges i programmet ved at inkludere header-filerne. Header-filer er inkluderet ved hjælp af forbehandlingsdirektivet include. Preprocessor scanner den angivne fil, før den fortsætter med resten af kildefilen. Nogle almindelige biblioteksfunktioner er som følger, "math.h" biblioteket inkluderer funktioner relateret til matematiske operationer. "stdio.h" biblioteket giver funktioner til at udføre input og output. "fopen()" åbner filnavnet peget. "fclose()" lukker filen. "printf() bruges til at sende det formaterede output til et standardoutput. "fprintf ()" bruges til at sende det formaterede output til en stream. "scanf()" bruges til at læse formateret input fra standard input. "stdlib.h" giver funktioner til hukommelsesstyring og "time.h" giver funktioner til manipulation af tid og dato.

Hvad er ligheden mellem systemopkald og biblioteksopkald?

Begge er relateret til operativsystemet

Hvad er forskellen mellem systemopkald og biblioteksopkald?

Systemopkald vs biblioteksopkald

Et systemkald er en funktion leveret af kernen for at gå ind i kernetilstand for at få adgang til hardwareressourcer. Bibliotekopkald er en funktion, der leveres af programmeringsbiblioteket.
Udførelsesmåde
Et systemkald udføres i kernetilstanden. Et biblioteksopkald udføres i brugertilstand.
Tilstandsskift
Et systemopkald skifter fra brugertilstand til kernetilstand. Der er ingen skift fra brugertilstand til kernetilstand i biblioteksopkald.
Portabilitet
Et systemopkald er ikke bærbart. Et biblioteksopkald er bærbart.

Oversigt – Systemopkald vs biblioteksopkald

Et systemkald er implementeret i kernen, og et bibliotekskald er implementeret i brugerrummet. Forskellen mellem systemkald og bibliotekskald er, at et systemkald er en funktion, som kernen leverer for at gå ind i kernetilstand for at få adgang til hardwareressourcer, og biblioteksopkald er en funktion, der leveres af programmeringsbiblioteker. Bibliotekkald kan afhænge af systemopkaldene for at fuldføre opgaven. open (), fork(), cd() er nogle eksempler på systemkald. fopen (), fprintf () er eksempler på biblioteksopkald.

Download PDF-versionen af System Call vs Library Call

Du kan downloade PDF-versionen af denne artikel og bruge den til offline-formål i henhold til citatnotat. Download venligst PDF-versionen her Forskel mellem systemopkald og biblioteksopkald

Anbefalede: