Како да научите више о Линук кернелу са сопствене машине



Испробајте Наш Инструмент За Елиминисање Проблема

Учење рада са ГНУ / Линуком генерално подразумева учење рада са радном површином. Тема технологија омогућава овим радним окружењима да опонашају интерфејсе иОС, Мицрософт Виндовс и ОС Кс уређаја. Ово помаже да се ово сведе на минимум. Многи људи иду даље и уче Уник администрацију командне линије помоћу љуски Басх или тцсх. Међутим, познавање унутрашњости језгра Линук-а може вам помоћи да боље разумете како различити делови опцоде-а међусобно комуницирају.



Неки би тврдили да би било најбоље ићи неколико корака даље и додатно научити како компајлери трансформишу Ц код у машинске инструкторе за микропроцесор. Тада ће заговорници скупштинског кода тврдити да је најбоље научити АСМ да заиста схвати програмирање на к86 и к86_64 платформама. Без обзира на ове положаје, основне Линук наредбе могу пружити мноштво информација о томе како језгро види ваш рачунар. Учење кроз поглед, али не додирујте парадигму, одличан је начин за савладавање самог језгра. Иако је основни налог коришћен за примере на овој страници, топло се препоручује да директоријуме повезане са језгром икад прегледавате само преко корисничког налога.



1. метод: / проц директоријум

Директоријум / проц се налази у једном од примарних региона основног директоријума највишег нивоа у било којој Уник датотечној структури. Садржи оно што се назива систем датотека проц, познатији као процфс, који садржи информације о начину на који различити ресурси приступају меморији језгра. Мапира се / проц у тренутку покретања система. Будући да ова структура датотека прокси сервера служи као интерфејс за унутрашњу структуру података унутар Линук језгра, још једном је најбоље само ово истражити путем корисничког налога. Већина датотека се ионако класификује по видљивој структури системских датотека као само за читање, али најбоље је бити на сигурном.



То је речено, свака од њих је текстуална датотека, па их можете прегледати ако желите. Помоћу команде цд уђите у / проц директоријум, а затим издајте лс да бисте погледали шта се тамо налази. Да бисте их погледали, користите наредбу мачка, мање или више са било којом од датотека. Датотека цпуинфо је добро место за почетак, јер приказује како језгро гледа на ваш микропроцесор. У стат датотеци потражите приказ покренутих процеса.

2016-11-25_020006

Куцање мачјих уређаја пружиће вам увид у ствари које су причвршћене за вашу машину.



2016-11-25_020109

Успут, увек можете издати наредбу ман проц за детаљан опис односа структуре / проц датотеке са кернелом. Приказана страница долази из Приручника за Линук програмера.

2016-11-25_020156

2. метод: / сис директоријум

Сљедећа станица у обиласку вашег језгра је / сис, што је још један директориј мапиран у претварану структуру датотеке. Ово следи исти општи Уник концепт као и / проц, али уместо тога активно извози информације о повезаним погонима уређаја и бројним подсистемима језгра. Ако сте икада радили са системом заснован на БСД-у, можда вам је познатији сисцтл који пружа ове функције. Уређаји са ПЦИ, УСБ и С / 390 сабирницом мапирају се у / сис директоријум.

Користите цд / сис да бисте прешли у директоријум, а затим издали наредбу лс или дир. Можда имате директоријуме с насловом блок, класа, уређаји, фс, кернел и можда други. Можете их истражити за даље равне датотеке које садрже информације о систему, али још једном то учините са корисничког налога и задржите поглед, али не дирајте менталитет о себи.

3. метод: / дев директоријум

Користите команду цд / дев да бисте прешли у директоријум / дев, који је можда виртуелна структура једра која вам је већ најпознатија. Име значи уређаји и садржи приказ датотека уређаја који су прикључени на ваш систем. Команда лс у овом директоријуму ће вратити многе датотеке чак и на најједноставнијој дистрибуцији сервера.

2016-11-25_020242

Неколико њих је врло посебно. Датотека / дев / нулл је нулти уређај који не ради ништа. Ако откуцате цат / дев / нулл, нећете добити ништа од тога. Зове се сегмента битова, а излаз се може преусмерити на њега да би екран био чист. Датотека звана / дев / зеро не садржи ништа осим нула података који се могу записати на диск да би се поништили. Случајне и случајне датотеке садрже случајне безвриједне податке за стварање сигурносних хешева.

Ако сте икада форматирали диск, вероватно имате барем мало искуства са начином на који их Линук кернел прегледава. Сваки диск прикључен на систем добија име попут сда, сдб итд. За сваки диск. Различити типови дискова добијају различита имена. Имајте на уму да директоријум / дев користи једну потенцијалну формалну информатичку дефиницију диска, а не начин на који бисмо обично користили тај термин. То значи да су чврсти диск, ССД, СД картица, мицроСДХЦ картица, монтирани систем датотека паметних телефона који је прикључен преко УСБ-а, УСБ меморије и чак монтирани таблети сви дискови у језгру.

Свако име диска у Линуку након тога добија број који означава број партиције. Ако сте имали ССД са две примарне партиције, тада бисте могли имати / дев / сда1 и / дев / сда2 као важеће количине. Више него вероватно ако користите Линук са радне површине или лаптопа са партицијом МБР стила, тада сте / дев / сда1 поставили на ект4 партицију на којој је заправо инсталиран Линук. Више него вероватно / дев / сда2 је проширена партиција која затим садржи / дев / сда5 као свап партицију. Ова шема је уобичајена, али никако није потребна. Имајте на уму да је свап партиција у овом уобичајеном примеру логички диск унутар проширене партиције, а као број добија 5 уместо 3.

Ако желите сазнати више о начину на који кернел прегледава и форматира партиције, тада заправо можете погледати листу подржаних партиција помоћу команде фдиск. Док фдиск не пише табеле партиција док то не кажете, ипак је најбоље да ово покушате са нечим што вам није стало да наздравите. Препоручује се да га усмерите на нешто попут празног УСБ кључа који бисте једноставно могли поново форматирати.

Рецимо да се ваш штап приказује као / дев / сдц , онда бисте могли да користите судо фдиск / дев / сдц да се то натовари. Ако у себи имате важећу партицију, онда откуцајте т да бисте променили тип, а тип Л да бисте учитали хек листу кодова. Имајте на уму да МБР и ГУИД партиционе шеме различито разговарају са језгром и зато имају различите задатке.

2016-11-25_020331

Чешће ћете имати дискове постављене на тип 83, што је за Линук дискове, 82, који је за Линук свап партиције, или један од типова датотека ФАТ. ФАТ датира у неком облику у 1977, и још увек је пожељан за многе врсте мобилних уређаја, као и за многе преносиве дискове. Имајте на уму да неки типови партиција, попут типа 0к0ц, садрже нешто што се назива ЛБА подршка.

Када програмер дизајнира језгро за оперативни систем, они имају неколико различитих начина на који могу да гледају дискове. Једна је подела пладњева у цилиндре, главе и секторе. Ово је био класичан начин да се најдуже позивате на чврсте дискове. Изворна геометрија диска никада није била важна за Линук, а овој шеми нажалост понестаје адреса након приближно 8 бинарних Гигабајта. Други начин је коришћење логичког Ц / Х / С адресирања, које то и чини, али затим омогућава контролору диска да мапира бројеве цилиндара, главе и сектора где год пожели. Због тога би оперативни систем могао теоретски тврдити да су главе на СД картици или УСБ стицку када је то физички немогуће.

Трећа метода је путем логичког адресирања блокова, што је оно што ЛБА представља. Сваки физички блок у јединици добија број у овој шеми. Оперативни систем говори контролору диска да упише у одређени нумерисани блок, али заправо не зна да ли је то директни блок на диску. Ово је шема која се данас највише користи и сигурно се користи на великој већини чврстих дискова од средине 1990-их.

Линук нуди подршку за језгро за монтирање широког спектра типова партиција без директног уноса, али ипак је најбоље да не будете превише необични када их одаберете. Можете наздравити подацима ако сте направили врло чудан тип партиције за одабир система датотека.

Метод 4: Системски позиви из приручника за Линук програмера

Читачи ман страница на броду који су укључени у већину Линук дистрибуција могу вам заиста пружити курс системских позива, што може неизмерно помоћи у учењу о језгру. Покрените кман претраживач графичких ман страница или са .десктоп везе ако га имате, или алтернативно тако што ћете истовремено притиснути супер тастер и Р, а затим откуцати кман и притиснути ентер. Изаберите опцију „Ручна страница“, а затим из падајућег менија одаберите „Одељци“ и на крају „(2) Системски позиви“.

2016-11-25_020430

Једном када опција гласи „ интро ”, Изаберите то. Тада ће вас поздравити страница из Приручника за Линук програмера која ће вас прилично научити о системским позивима.

2016-11-25_020518

6 минута читања