Начини на плащане Abuse

Задачи, които изпълнява ядрото на Linux

08.11.2022, 22:03

В последната статия обяснихме какво представлява ядрото на Linux, а сега ще разгледаме подробно какви функционални задачи изпълнява то. Монолитното ядро на операционната система Linux изпълнява най-широк набор от задачи. Обработката на входящите системни повиквания се извършва на най-високо ниво. Тези повиквания са интерфейсът между ядрото и потребителските приложения. Хардуерните сигнали и прекъсванията се обработват на по-ниско ниво.

Основни функционални задачи на ядрото на Linux

Задачите на ядрото обаче не се свеждат само до обработката на прекъсванията. То включва и програми за управление на устройствата. Необходими са драйвери за обработка на сигналите, идващи от устройствата. За тях е отделена по-голяма част от ядрото. Някои от тях са под формата на двоични файлове. Версията на ядрото без затворени драйвери е Linux-libre, на практика тя не е толкова лесна за използване, защото не винаги е възможно да се създаде компютър, базиран на компоненти само с отворени драйвери.

Други функционални задачи на ядрото са работата с абстракции. Виртуалните нишки се генерират от виртуална нишка, мениджърът на паметта заделя и изолира част от оперативната памет специално за процеса, виртуалната файлова система формира единно пространство за съхранение на файлове, сокетите се създават от мрежов модул. По този начин се създават условия за осигуряване на високо ниво на сигурност. Системата за междупроцесно взаимодействие гарантира, че няма да има конфликти при достъпа до едни и същи компютърни ресурси, а също така осигурява обмен на данни между процесите.

От страна на потребителския софтуер тя прилича на физическия хардуер с тази разлика, че процесорът и оперативната памет не комуникират директно, а чрез системни повиквания. Директорията /dev съдържа символни и блокови препратки за периферни устройства. Отличителна черта на блоковите препратки е, че те работят само с блокове със зададен размер.

Въпреки че ядрото контролира всички процеси, то не прави нищо само, нуждае се от потребителски софтуер и от процесите, изпълнявани от този софтуер. Сред основния софтуер са помощните програми на GNU: трудно е да си представим дистрибуция на Linux без тях. Пример за това е шелът Bash, който ви позволява да въвеждате команди в конзолата.