Ключова разлика – системно извикване срещу извикване на библиотека
Системното извикване и извикването на библиотеката са свързани с операционната система на компютъра. Компютърът може да работи в два режима; а именно потребителски режим и режим на ядрото. Ключовата разлика между системното повикване и повикването на библиотеката е, че системното повикване е функция, предоставена от ядрото за влизане в режим на ядрото за достъп до хардуерните ресурси, докато извикването на библиотеката е функция, предоставена от програмните библиотеки. Например open () е системно извикване, а fopen () е извикване на библиотека. Когато fopen () в C програма, използва библиотеката със заглавки stdio.h. След това системното извикване ‘open (),’ се използва от ядрото за завършване на задачата за отваряне на файл.
Какво е системно повикване?
Компютърът работи в два режима. Те са потребителски режим и режим на ядрото. Някои процеси се изпълняват в компютърна система. Процесът е програма в процес на изпълнение. Когато приложните програми работят, компютърът е в потребителски режим. Ако е необходим хардуерен ресурс, процесът изпраща заявка до ядрото и компютърът влиза в режим на ядрото. Тези заявки се изпращат чрез системни повиквания. Компютърът често превключва между тези два режима. Когато задачата приключи, компютърът се връща в потребителски режим от режим на ядрото. Този преход към режима е известен като „превключване на контекста“. Системните повиквания са интерфейс между операционната система и потребителските програми.
Фигура 01: Системни повиквания
Има различни видове системни повиквания. Създаване, прекратяване на процеса, изпълнение на процеса, разпределяне и освобождаване на памет може да се направи с помощта на „Системни извиквания за контрол на процеса“. „Извиквания на системата за управление на файлове“могат да се използват за създаване, изтриване, четене, писане, отваряне, затваряне на файлове. Процесът изисква някои ресурси за завършване на изпълнението. Заявките и освобождаването на устройства се извършват чрез „Системни повиквания за управление на устройства“. „Извиквания на системата за управление на информация“могат да се използват за получаване на системни данни и за получаване на процеси и атрибути на устройството. Процесите комуникират помежду си. Тази комуникация се осъществява чрез „комуникационни системни повиквания“. Изпращането на информация за състоянието, създаването и изтриването на комуникационни връзки и изпращането, получаването на съобщения могат да се извършват чрез комуникационни системни повиквания.
Какво е Library Call?
Извикването на библиотека е функция, предоставена от програмните библиотеки. Преди да направите повикване към библиотека, тази библиотека трябва да бъде импортирана. Извикването на библиотека може да зависи от системното повикване.
На езика C тези функции могат да се използват в програмата чрез включване на заглавните файлове. Заглавните файлове се включват с помощта на директива за предварителна обработка include. Препроцесорът сканира посочения файл, преди да продължи с останалата част от изходния файл. Някои често срещани библиотечни функции са както следва, библиотеката „math.h“включва функции, свързани с математически операции. Библиотеката “stdio.h” предоставя функции за извършване на вход и изход. “fopen()” отваря указаното име на файла. “fclose()” затваря файла. “printf() се използва за изпращане на форматирания изход към стандартен изход. „fprintf ()“се използва за изпращане на форматирания изход към поток. “scanf()” се използва за четене на форматиран вход от стандартен вход. „stdlib.h“предоставя функции за управление на паметта, а „time.h“предоставя функции за манипулиране на час и дата.
Каква е приликата между системното повикване и извикването на библиотеката?
И двете са свързани с операционната система
Каква е разликата между системно повикване и извикване на библиотека?
Системно повикване срещу повикване на библиотека |
|
Системното повикване е функция, предоставена от ядрото за влизане в режим на ядрото за достъп до хардуерни ресурси. | Извикването на библиотека е функция, предоставена от библиотеката за програмиране. |
Режим на изпълнение | |
Системно повикване се изпълнява в режим на ядрото. | Извикване на библиотека се изпълнява в потребителски режим. |
Превключване на режима | |
Превключване на системно повикване от потребителски режим към режим на ядрото. | Няма превключване от потребителски режим към режим на ядрото в извикването на библиотеката. |
Преносимост | |
Системното повикване не е преносимо. | Повикването на библиотеката е преносимо. |
Резюме – Системно извикване срещу извикване на библиотека
Системно извикване е реализирано в ядрото, а извикване на библиотека е внедрено в потребителското пространство. Разликата между системно извикване и извикване на библиотека е, че системното извикване е функция, предоставена от ядрото за влизане в режим на ядрото за достъп до хардуерни ресурси, а извикването на библиотеката е функция, предоставена от програмните библиотеки. Извикванията на библиотека може да зависят от системните извиквания за изпълнение на задачата. open (), fork(), cd() са някои примери за системни извиквания. fopen (), fprintf () са примери за библиотечни извиквания.
Изтеглете PDF версията на System Call срещу Library Call
Можете да изтеглите PDF версия на тази статия и да я използвате за офлайн цели според бележката за цитиране. Моля, изтеглете PDF версия тук Разлика между системно повикване и повикване на библиотека