Линукс језгро је попут моста који омогућава рачунарску комуникацију између апликација и хардвера и управља ресурсима система. Линус Торвалдс је развио Линук кернел са Ц и Ассембли-ом и тако је успео да створи лагано и преносиво језгро које је пуштено у јавност као отворени код.
Линук кернел можете видети у многим различитим секторима као што су простор, рачунари, паметни сатови, мобилни телефони, роботика и здравље. Али да ли сте се икада запитали како Линук кернел функционише испод хаубе?
Коришћење хардвера на Линук-у
Линукс језгро, пре свега, контролише који ће хардвер радити и на који начин када укључите рачунар. Поред тога, контрола врхунског софтвера је могућа захваљујући интерфејсу за програмирање. Да бисте дали пример ових контрола, могуће је да видите информације о хардверу инсталираном у слотовима на вашој матичној плочи и искористите ове детаљне информације.
Такође, овај програмски интерфејс обезбеђује слој апстракције. На пример, ако желите да имате видео разговор са пријатељима, требаће вам веб камера. Слој апстракције омогућава софтверу који користите да користи ову веб камеру без обзира на њену марку и модел. Софтвер овде може да користи само интерфејс који постоји за Линук. Линук кернел преводи позиве функција овог интерфејса у стварне хардверске команде које су потребне веб камери.
Помоћу /proc и /sys виртуелни систем датотека, Линук кернел може извоз детаљних информација о хардверу детектује. У наставку можете видети неколико алата који се користе за ово и које уређаје и картице извозе:
- лспци: За ПЦИ уређаје
- лсусб: За УСБ уређаје
- лспцмциа: За ПЦМЦИА картице
Као што видите, дистрибуција Линука на слици изнад ради на ВиртуалБок-у. Међутим, имате прилику да видите много информација као што су ВГА, УСБ контролер, мостови и САТА контролер.
Такође можете користити -в параметар да бисте добили много детаљније информације.
У Линук кернелу, апликације обично приступају уређајима преко посебних датотека које постоје у /dev именик. Ове посебне датотеке представљају диск јединице и друге физичке уређаје. Фајлови као што су /dev/hda, /dev/sdc, /dev/sdc3, /dev/input/mouse0 и дев/снд/* су примери ових посебних датотека.
Управљање Линук системом датотека
Системи датотека су једна од најзначајнијих компоненти Линук кернела. Систем датотека Линук-а је једна од његових највећих предности. Све датотеке на Линук систему окупљају се у једну грану. Корисници тако могу да користе ову хијерархију да би дошли до својих жељених места.
Почетна тачка ове хијерархије је основни директоријум (/). Остали поддиректоријуми су у основном директоријуму. Најчешће коришћени поддиректоријум под / је /home именик. Овај поддиректоријум садржи друге поддиректоријуме и сваки директоријум има датотеке које чувају стварне податке.
На пример, можете замислити текстуалну датотеку на радној површини. Ако креирате текстуалну датотеку под називом хелловорлд.ткт на радној површини, можете га назвати као /home/muo/Desktop/helloworld.txt. Пример за /muo овде ће се наравно разликовати. Зато што ово име поддиректоријума зависи од имена вашег тренутног корисника. Са овим системом именовања, Линук кернел преводи између стварне и физичке меморије која постоји на диску.
Такође, Линук кернел може интегрисати податке са неколико дискова. Овде долази у обзир систем монтаже. Користи један од дискова у коренском систему и монтира остале у постојеће директоријуме у хијерархији. Остали дискови се затим постављају испод тачака за монтирање. Ово омогућава корисницима да чувају /home директоријум на другом чврстом диску који такође садржи друге поддиректоријуме.
Када монтирате диск на /home директоријуму, овим директоријумима можете приступити са нормалних локација. Дакле, путеви као нпр /home/muo/Desktop/helloworld.txt наставити са радом.
Можете видети тачке монтирања између датотека на вашем систему помоћу финдмнт -А команда.
Са многим форматима система датотека, можете физички да складиштите податке на дисковима. Најпознатије на Линук-у су ект2, ект3, и ект4 формати система датотека. Међутим, постоји много других формата система датотека. У сваком случају, морате форматирати систем датотека пре него што га монтирате. Можете користити команде попут мкфс.ект3 (мкфс је скраћеница за маке филе систем а ект3 је систем датотека) за ово.
Ове команде прихватају путању датотеке уређаја коју желите да форматирате као параметар. То је деструктивна операција и требало би да је користите опрезно ако не желите да обришете или ресетујете систем датотека.
Осим ових, постоје и системи мрежних датотека као што је НФС које користи Линук кернел. НФС је систем мрежних датотека где се подаци не чувају на локалном диску. Уз НФС, подаци иду преко мреже на сервер који чува податке. Пошто ће подаци бити на серверу, корисници не морају стално да се баве њима. Они такође могу да користе традиционални хијерархијски систем датотека Линука као и обично.
Операције заједничких функција
Сав софтвер у Линук систему има заједничке функције. Због тога су ове функције централне у Линук кернелу. На пример, када отварате датотеку, можете је отворити само са именом датотеке, а да не знате где је датотека физички ускладиштена и које функције и операције ће користити. Све ове функције су већ присутне у кернелу.
Можете да сачувате своју датотеку на чврстом диску, поделите је између неколико чврстих дискова или чак да је чувате на удаљеном серверу. Функције комуникације са дељеним датотекама су важне у таквим случајевима. Апликације размењују податке без обзира на то како се подаци премештају. Заједничке комуникационе функције су ту да врше ове размене података. Овај потез може бити преко бежичних мрежа или чак преко фиксне телефонске линије.
Управљање процесима у Линуку
Активна инстанца програма који ради на подацима или информацијама у меморији је позната као процес. Задатак Линук кернела је да генерише и прати ове меморијске регионе. Кернел додељује меморију за покренути програм и учитава извршни код у меморију из система датотека. Одмах након тога, кернел покреће код.
Линук кернел подржава више задатака. У стању је да покреће бројне процесе у исто време. Међутим, постоји само једна трансакција у било ком временском оквиру. Међутим, Линук кернел дели време на мале делове и као резултат, свака процедура се одвија узастопно.
Пошто су ови мали временски сегменти у корацима од милисекунди, они су активни само у одређено време и остају неактивни остатак времена. Посао Линук кернела овде је да максимизира перформансе покретањем више процеса одједном.
Ако су временски интервали предугачки, покренута апликација можда неће реаговати онако како бисте желели. Ако су временски оквири прекратки, може доћи до проблема са променама задатака. У зависности од приоритета процеса, временски интервал који је овде потребан ће варирати. Можда сте раније чули за процесе високог и ниског приоритета. Ово је једна од функција које контролише Линук кернел.
Ово објашњење није увек тачно. Право ограничење је да може постојати само један радни процес по језгру процесора у исто време. Вишепроцесорски системи омогућавају да неколико процеса ради паралелно. Основни систем скоро увек има десетине покренутих процеса.
Права приступа у Линуку
Као и код других оперативних система, можете креирати много корисника на Линук систему. У таквим случајевима постоји систем управљања правима који подржава појединачне кориснике и групе. Ово је место где датотеке и корисничке дозволе ступају на сцену.
Линук кернел управља подацима и проверава потребне дозволе за сваки процес. На пример, ако покушате да отворите датотеку, кернел мора да провери ИД процеса у односу на дозволе приступа. Ако кернел провери и види да имате дозволе, отвориће датотеку.
Линук кернел контролише све
Као што видите, Линук кернел надгледа све, од безбедности ваших датотека до креирања корисника и преузимања датотека са интернета. Све је у одређеном редоследу. Сваки корисник има права. Линук кернел управља процесима и временским слотовима за врхунске перформансе.
Штавише, систем датотека, који је једна од највећих карактеристика по којима се Линук кернел разликује од других оперативних система, веома је важан. Линук није скривена кутија. Напротив, сви фајлови и изворни кодови су доступни. Да бисте боље разумели практичну и моћну природу Линук кернела, можете испитати хијерархију система Линук директоријума.