Какво прави Linux ядрото, losst
Но това, което прави Linux ядрото? Как става това? Какви са основните му задачи? Това е много обширна тема и ние се опитваме да го разберете в тази статия.
Това, което прави Linux ядрото?
Но преди това, как един или друг функция на системата за ядрото на операционната, нека да погледнем какво става отговаря. Ядрото осигурява абстракция за програмисти, които разработват софтуер за платформата Linux. Тази абстракция опростява сложни задачи. Терминът черпене в компютъра означава и скрива сложността на алгоритмите за проста и стандартна характеристика.
Разбира се, в основата - не е единственият софтуер, който осигурява една абстракция, далеч по-важно е нивото на абстракция, предоставена от водача. Ядрото не трябва да знаят как да работят с конкретно устройство, тъй като тя е отговорна за водача. Поради това, ядрото може да работи с различен хардуер.
Вземете за пример при четене и писане на данни в паметта. Всяка дънна платка може да имат различни контролери на паметта, и вашият компютър може да работи с процесор ARM, Intel, AMD, SPARC, PowerPC или MIPS. Но това няма да има значение, за да си Hello World програма, както и ядрото осигурява единен интерфейс за всички тези платформи.
Сега, нека да разгледаме какви функции осигурява основата, или, с други думи, това, което получаваме абстракция:
- RAM - четене и писане на данни в паметта;
- Постоянно складиране - четене и запис на данни върху памети само за четене;
- Виртуалната файловата система;
- Работа с физически мрежи (Ethernet, безжични, LTE, ключове, Bluetooth;
- Виртуални мрежи;
- Споделяне на програми CPU време;
- приоритети балансиране на натоварването и на процесора;
Подкрепа за външни устройства:
- Подвижни USB устройства;
- камери;
- Мишка и клавиатура;
- File разрешения за достъп за потребители и групи;
- Разрешаването на достъп до ресурсите на системата;
Поради посочените по-горе характеристики на програмите за развитие на Linux ядро става по-лесно. Ядрото осигурява всичко това, с помощта на системни функции. След това ще разгледаме по-подробно много от функциите.
съхранение на данни
В допълнение, в основата изолира всеки процес в отделно място в паметта, което означава, че процесът не е необходимо да се знае дали той принадлежи към паметта на него, защото цялата налична памет, което му принадлежи. Това разделяне повишава сигурността на системата.
Тя изглежда като нещата с постоянното хранилище. Ядрото на софтуера крие разликите между интерфейси SATA, PATA, SCSI, USB, М2 и други протоколи за съхранение. Една програма може да работи с всеки всеки поддържан файлова система носител и без каквито и да било промени в програмата. Това увеличава код повторна употреба и производителност разработчик.
достъп до мрежата
За щастие, в момента най-популярните протоколи е едновременно IPv4 и IPv6. Що се отнася до други мрежови протоколи, като например DECnet, IPX, AppleTalk, те се поддържат от ядрото, но това едва ли има смисъл да ги използват в настоящите програми.
Насрочване на задачи
CPU график е много голяма и сложна тема. Ние не трябва да се отрази на алгоритми за планиране, ние се интересуваме само от задачите на ядрото на Linux, отнасящи се до управлението на всеки процес.
Преди появата на многоядрени процеса компютри може да изпълнява само една задача в даден момент. Всеки процес получава своя собствена, справедлив малко време, и след време дава на друг процес. Това е изпълнена толкова бързо, че е създал илюзията за едновременно стартираните процеси. Сега, с появата на многоядрени процесори значително повишаване на производителността, но времето график CPU няма да си отиде.
Всеки процес има нужда от време на процесора, а ядрото гарантира, че всеки процес, която получава в завой. Освен това, някои процеси се нуждаят от забавянето или чакат за I / O, и се занимава и с ядрото. Докато този процес се чака на процесора ще изпълни другия процес, а след това на оригиналния процес ще получи своето време. Позволява планиране на програмиста не се интересува от броя на стартираните процеси.
Линукс ядрото съдържа голям брой от абстракции, а това е прекалено голяма, че един обикновен човек може да разбере всичко. Въпреки това, ако те не са били, всеки разработчик ще трябва да приложат всичко на ръка, а това ще отнеме много пъти по-дълго. Надявам се, че информацията за функцията на ядрото Linux е била полезна за вас.
В края на кратка история на Linux: