GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est la différence entre un appel Library et un appel System sous Linux ?

Il n'y a pas vraiment d'"appel à la bibliothèque". Vous pouvez appeler une fonction liée à une bibliothèque partagée. Et cela signifie simplement que le chemin de la bibliothèque est recherché lors de l'exécution pour déterminer l'emplacement de la fonction à appeler.

Les appels système sont des appels de noyau de bas niveau gérés par le noyau.


Si vous tapez man man dans votre shell, vous verrez la liste des sections du manuel

2 Appels système (fonctions fournies par le noyau)

3 Appels de bibliothèques (fonctions dans les bibliothèques de programmes)

Par exemple, vous trouverez chmod dans la section 2 du manuel en tapant man chmod . Et fprintf dans la rubrique 3.


Les appels système sont gérés directement par le noyau.

Les appels de bibliothèque sont gérés par une bibliothèque dynamique (ou liée statiquement). Le programme effectuant l'appel de bibliothèque doit d'abord importer cette bibliothèque avant que l'appel ne fonctionne. Les appels de bibliothèque eux-mêmes peuvent utiliser des appels système.

Parfois, les bibliothèques sont fournies en tant que "interfaces" pour les appels système, afin de fournir des fonctionnalités supplémentaires ou une facilité d'utilisation non fournies par le noyau.


Linux
  1. Quelle est la différence entre env et set (sur Mac OS X ou Linux) ?

  2. Quelle est la différence entre un pilote de plate-forme Linux et un pilote de périphérique normal ?

  3. Quelle est la différence entre "localiser" et "trouver" sous Linux ?

  4. Quelle est la différence entre procfs et sysfs ?

  5. Quelle est la différence entre ls et l ?

Quelle est la différence entre Linux et Unix ?

Quelle est la différence entre Rsync et BTRFS sous Linux ?

Qu'est-ce qu'un Hyperviseur ? Quelle est la différence entre les types 1 et 2 ?

Quelle est la différence entre curl et Wget ?

Qu'est-ce que les appels système Linux et les fonctions de bibliothèque ?

Quelle est la différence entre un appel système et un appel de bibliothèque ?