Nic takového jako „volání do knihovny“ ve skutečnosti neexistuje. Můžete volat funkci, která je propojena se sdílenou knihovnou. A to jen znamená, že cesta ke knihovně je vyhledána za běhu, aby se určilo umístění funkce, kterou chcete volat.
Systémová volání jsou nízkoúrovňová volání jádra, která zpracovává jádro.
Pokud zadáte man man
ve vašem shellu uvidíte seznam sekcí manuálu
2 Systémová volání (funkce poskytované jádrem)
3 Volání knihovny (funkce v rámci programových knihoven)
Například najdete chmod
v části 2 příručky při zadávání man chmod
. A fprintf
v sekci 3.
Systémová volání jsou zpracovávána přímo jádrem.
Volání knihovny zpracovává dynamická (nebo staticky propojená) knihovna. Program, který volá knihovnu, musí nejprve tuto knihovnu importovat, než bude volání fungovat. Samotná volání knihovny mohou používat systémová volání.
Někdy jsou knihovny poskytovány jako "front-endy" pro systémová volání, aby poskytovaly další funkce nebo snadné použití, které jádro neposkytuje.