"Linux" yra operacinė sistema, skirta kasdieniams vartotojams ir mažiau nei kietajam gerbėjams. Tačiau "puristas" pavadinimas "Linux" yra rezervuotas branduoliui, kuris įgalina operacinę sistemą. Jei jums įdomu, kas yra "Linux" branduolys, leiskite atsakyti į šį klausimą su akimis naujam vartotojui.
Režimai
Prieš paaiškindami, kas yra branduolys, svarbu suprasti sąvokas "vartotojo režimas" ir "branduolio režimas". Vartotojo režimas yra tada, kai vykdant kodą nėra galimybės tiesiogiai pasiekti aparatinę ar etaloninę atmintį. Norint gauti prieigą prie aparatinės įrangos ir atminties, naudotojo režime veikiantis kodas turi perduoti instrukcijas sistemos programų programavimo sąsajoms (API). Kernelio režimas yra tada, kai vykdant kodą yra neribota prieiga prie visos aparatinės įrangos ir yra rezervuota labiausiai patikimoms operacinės sistemos funkcijoms.
Kas yra branduolys?
Kiekviena operacinė sistema turi branduolį. "Windows", "macOS", "iOS", "Android", "Chrome OS" ir "Linux" sistemose yra žemo lygio sistema, atsakinga už visų programų integravimą į kompiuterio fizinę įrangą. Be branduolio, nė viena jūsų programa negalės naudotis fizinio kompiuterio; programos, pvz., "Firefox", "Chrome", "LibreOffice", "MS Office" arba "Outlook", neveikia. Branduolys taip pat yra atsakingas už tai, kad procesai galėtų keistis informacija naudojant vadinamąjį "Inter-Process Communication" (IPC).
Yra (apskritai kalbant) trijų tipų branduoliai:
- Monolitiniai branduoliai: šie branduoliai apima CPU, atminties, IPC, įrenginių tvarkykles, failų sistemos valdymą ir sistemos serverio skambučius. Ji taip pat yra atsakinga už laisvosios sistemos atminties suteikimą programoms. Šie branduolių tipai paprastai yra geresni pasiekiant aparatinę ir daugiafunkcinę veiklą.
- Mikrokerneliai: Mikro branduoliai imasi minimalistinio požiūrio ir tvarko tik CPU, atminties ir IPC.
- Hibridiniai branduoliai: "Hybrid" branduoliai turi galimybę nuspręsti, ko jie nori paleisti, naudodami "User" arba "Kernel" režimą. Nors tai suteikia geriausio abiejų pasaulių, iš aparatūros gamintojų reikia daug daugiau, kad būtų sukurta tvarkyklių, naudojamų sąsajos tarp veikiančio kodo ir aparatūros.
Linux naudoja atviro kodo monolitinį branduolį, o "macOS" ir "Windows" naudoja hibridinius branduolius. Linux branduolį 1991 m. Sukūrė Linus Torvalds. Iki šios dienos p. Torvalds ir toliau yra pagrindinis "Linux" branduolio kūrėjas, o kūrėjai iš viso pasaulio prisideda prie "Linux" branduolio. Apskaičiuota, kad beveik 10 000 kūrėjų, iš daugiau nei 1000 įmonių, prisidėjo prie "Linux" branduolio (nuo to laiko, kai stebėjimas prasidėjo 2005 m.).
Kur yra branduolys?
Jei atidarote terminalo langą ir išduosite komandą ls / boot, pamatysite failą, pavadintą vmlinuz-VERSION (Kur VERSION yra leidimo pavadinimas ar numeris). Vmlinuz failas yra tikras įkeliamasis "Linux" branduolys, o "z" reiškia, kad branduolys yra suspaustas; todėl vietoj vmlinux turime vmlinuz.
Tame kataloge / boot yra kiti svarbūs branduolio failai, pvz., Initrd.img-VERSION, system.map-VERSION ir config-VERSION (kur VERSION yra vardas arba išleidimo numeris). Šie kiti failai naudojami šiems tikslams:
- initrd: naudojamas kaip mažas RAM diskas, kuris ištraukia ir vykdo tikrąjį branduolio failą.
- system.map: naudojamas atminties valdymui, prieš branduolio įkėlimą.
- konfigūracija: nurodo branduolį, kokias parinktis ir modulius įkelti.
Moduliai
Be modulių branduolys nebūtų labai naudingas. Moduliai efektyviai įjungia tvarkykles, reikalingas bendrauti su aparatine įranga, nenaudojant visos jūsų sistemos atminties. Moduliai taip pat prideda branduolio funkcionalumą, pvz., Bendravimas su išoriniais įrenginiais, failų sistemų valdymas, saugumas ir kt. Galima sąraše, pridėti ir pašalinti modulius branduoliui su šiomis komandomis:
- lsmod parodys visus šiuo metu įkeltus branduolio modulius.
- Insmod įkels branduolio modulį į veikiantį branduolį.
- rmmod iškrauks modulį iš veikiančio branduolio.
Taigi, pamatę, kai kurių paprastų komandų pagalba, Linux branduolys gali būti gana lankstus.
Dabartinis branduolys
Nuo šio rašymo stabilus Linux branduolys yra 4.18.5, bet ne visuose "Linux" paskirstytuose bus naujausias branduolys. Iš tikrųjų atnaujintoje "Elementary OS" darbastalio platinime veikia branduolys 4.15.0-30. Ką reiškia šis skaičius? Jei naudojate naujausią "Elementary OS" branduolį, tai reiškia:
- 4 yra pagrindinė versija
- 15 yra Mažoji versija
- 0-30 yra peržiūra
Taip pat galima atsisiųsti skirtingas "Linux" branduolio versijas iš kernel.org ir susikonfigūruoti patys. "Linux" branduolio sudarymas - tai užduotis, geriausiai palikta tiems, kurie tikrai žino, ką jie daro. Neteisingai surinktas branduolys gali padaryti sistemą nenaudojamą. Taigi, nebent jūs esate pasiruošę pasinerti į sudėtingą užduoties sudaryti kodą šiame lygyje, naudokite numatytąjį branduolį, kuris tiekia ir atnaujina pasirinktą platinimą.