„Linux“ branduolys yra tarsi tiltas, įgalinantis kompiuterinį ryšį tarp programų ir aparatinės įrangos bei valdantis sistemos išteklius. Linusas Torvaldsas sukūrė Linux branduolį su C ir Assembly, todėl jam pavyko sukurti lengvą ir nešiojamą branduolį, kuris buvo išleistas visuomenei kaip atvirojo kodo.
„Linux“ branduolį galite matyti daugelyje skirtingų sektorių, tokių kaip kosmosas, kompiuteriai, išmanieji laikrodžiai, mobilieji telefonai, robotika ir sveikata. Bet ar kada nors susimąstėte, kaip „Linux“ branduolys veikia po gaubtu?
Aparatinės įrangos naudojimas Linux sistemoje
„Linux“ branduolys pirmiausia kontroliuoja, kuri aparatinė įranga veiks ir kokiu būdu, kai įjungiate kompiuterį. Be to, dėl programavimo sąsajos galima valdyti aukščiausios klasės programinę įrangą. Norėdami pateikti šių valdiklių pavyzdį, galite pamatyti informaciją apie pagrindinės plokštės lizduose įdiegtą aparatinę įrangą ir pasinaudoti šia išsamia informacija.
Be to, ši programavimo sąsaja suteikia abstrakcijos sluoksnį. Pavyzdžiui, jei norite užmegzti vaizdo pokalbį su draugais, jums reikės internetinės kameros. Abstrakcijos sluoksnis leidžia jūsų naudojamai programinei įrangai naudoti šią internetinę kamerą, nepaisant jos gamintojo ir modelio. Čia esanti programinė įranga gali naudoti tik „Linux“ skirtą sąsają. „Linux“ branduolys paverčia šios sąsajos funkcijų iškvietimus tikromis aparatinės įrangos komandomis, kurių reikia žiniatinklio kamerai.
Naudojant /proc ir /sys virtualias failų sistemas, gali Linux branduolys eksportuoti išsamią informaciją apie aparatinę įrangą tai aptinka. Toliau galite pamatyti kelis tam naudojamus įrankius ir kokius įrenginius bei korteles jie eksportuoja:
- lspci: PCI įrenginiams
- lsusb: USB įrenginiams
- lspcmcia: PCMCIA kortelėms
Kaip matote, aukščiau esančioje ekrano kopijoje esantis „Linux“ paskirstymas veikia „VirtualBox“. Tačiau jūs turite galimybę matyti daug informacijos, tokios kaip VGA, USB valdiklis, tiltai ir SATA valdiklis.
Taip pat galite naudoti -v parametrą, kad gautumėte daug išsamesnės informacijos.
„Linux“ branduolyje programos paprastai pasiekia įrenginius per specialius failus, esančius „ /dev katalogas. Šie specialūs failai yra diskų įrenginiai ir kiti fiziniai įrenginiai. Failai, tokie kaip /dev/hda, /dev/sdc, /dev/sdc3, /dev/input/mouse0 ir dev/snd/* yra šių specialių failų pavyzdžiai.
Linux failų sistemos valdymas
Failų sistemos yra vienas ryškiausių Linux branduolio komponentų. „Linux“ failų sistema yra vienas didžiausių jos privalumų. Visi „Linux“ sistemos failai susirenka į vieną šaką. Taigi vartotojai gali pasinaudoti šia hierarchija norimoms vietoms pasiekti.
Šios hierarchijos pradžios taškas yra šakninis katalogas (/). Kiti pakatalogiai yra šakniniame kataloge. Dažniausiai naudojamas pakatalogis / yra /home katalogas. Šiame pakatalogyje yra kitų pakatalogių ir kiekviename kataloge yra failai, kuriuose saugomi tikrieji duomenys.
Pavyzdžiui, galite galvoti apie tekstinį failą darbalaukyje. Jei sukursite tekstinį failą, vadinamą helloworld.txt darbalaukyje galite vadinti jį kaip /home/muo/Desktop/helloworld.txt. Pavyzdys /muo čia, žinoma, skirsis. Kadangi šis pakatalogio pavadinimas priklauso nuo jūsų dabartinio vartotojo vardo. Naudojant šią pavadinimų sistemą, „Linux“ branduolys paverčia faktinę ir fizinę diske esančią saugyklą.
Be to, Linux branduolys gali integruoti duomenis iš kelių diskų. Čia pradeda veikti montavimo sistema. Jis naudoja vieną iš diskų šakninėje sistemoje, o kitus prijungia prie esamų hierarchijos katalogų. Tada kiti diskai dedami po tvirtinimo taškais. Tai leidžia vartotojams saugoti /home katalogą antrame standžiajame diske, kuriame taip pat yra kitų pakatalogių.
Kai prijungiate diską prie /home katalogą, šiuos katalogus galite pasiekti iš įprastų vietų. Taigi, tokie keliai kaip /home/muo/Desktop/helloworld.txt toliau dirbti.
Galite matyti prijungimo taškus tarp failų savo sistemoje naudodami radimas -A komandą.
Naudodami daugelį failų sistemos formatų galite fiziškai saugoti duomenis diskuose. Plačiausiai žinomi Linux sistemoje yra ext2, ext3, ir ext4 failų sistemos formatai. Tačiau yra daug kitų failų sistemos formatų. Bet kokiu atveju prieš montuodami failų sistemą turite suformatuoti. Galite naudoti tokias komandas kaip mkfs.ext3 (mkfs reiškia make failų sistemą, o ext3 yra failų sistema).
Šios komandos kaip parametrą priima įrenginio failo kelią, kurį norite formatuoti. Tai žalinga operacija, todėl turėtumėte ją naudoti atsargiai, jei nenorite ištrinti ar iš naujo nustatyti failų sistemos.
Be šių, taip pat yra tinklo failų sistemos, pvz., NFS kurį naudoja Linux branduolys. NFS yra tinklo failų sistema, kurioje duomenys nesaugomi vietiniame diske. Naudojant NFS, duomenys perduodami tinklu į serverį, kuriame saugomi duomenys. Kadangi duomenys bus serveryje, vartotojams nereikia nuolat su jais elgtis. Jie taip pat gali naudoti tradicinę hierarchinę Linux failų sistemą, kaip įprasta.
Bendrų funkcijų operacijos
Visa Linux sistemos programinė įranga turi bendras funkcijas. Štai kodėl šios funkcijos yra pagrindinės Linux branduolyje. Pavyzdžiui, atidarydami failą galite jį atidaryti tik su failo pavadinimu, nežinodami, kur failas yra fiziškai saugomas ir kokias funkcijas bei operacijas naudos. Visos šios funkcijos jau yra branduolyje.
Failą galite saugoti standžiajame diske, padalinti į kelis standžiuosius diskus arba net laikyti nuotoliniame serveryje. Tokiais atvejais svarbios bendros failų komunikacijos funkcijos. Programos keičiasi duomenimis nepriklausomai nuo to, kaip duomenys perkeliami. Norint keistis duomenimis, yra bendros komunikacijos funkcijos. Šis žingsnis gali būti per belaidžius tinklus ar net fiksuotą telefono liniją.
Procesų valdymas Linux sistemoje
Aktyvus programos, veikiančios atmintyje esančius duomenis ar informaciją, egzempliorius yra žinomas kaip procesas. Linux branduolio užduotis yra generuoti ir sekti šiuos atminties regionus. Branduolys paskirsto atmintį vykdomai programai ir įkelia vykdomąjį kodą į atmintį iš failų sistemos. Iš karto po to branduolys paleidžia kodą.
„Linux“ branduolys palaiko daugiafunkcinį darbą. Jis gali vykdyti daugybę procesų vienu metu. Tačiau per tam tikrą laikotarpį yra tik viena operacija. Tačiau „Linux“ branduolys padalija laiką į mažas dalis, todėl kiekviena procedūra vyksta nuosekliai.
Kadangi šie nedideli laiko segmentai yra milisekundžių žingsniais, jie aktyvūs tik tam tikru laiku ir likusį laiką neveikia. „Linux“ branduolio užduotis yra maksimaliai padidinti našumą vykdant kelis procesus vienu metu.
Jei laiko tarpai per ilgi, veikianti programa gali nereaguoti taip, kaip norėtumėte. Jei laiko tarpai per trumpi, gali kilti problemų dėl užduočių pakeitimų. Priklausomai nuo proceso prioriteto, čia reikalingas laiko intervalas skirsis. Galbūt anksčiau girdėjote apie aukšto prioriteto ir žemo prioriteto procesus. Tai viena iš funkcijų, kurias valdo Linux branduolys.
Šis paaiškinimas ne visada teisingas. Tikrasis apribojimas yra tas, kad vienu metu viename procesoriaus branduolyje gali būti tik vienas darbuotojo procesas. Daugiaprocesorinės sistemos leidžia lygiagrečiai vykdyti kelis procesus. Pagrindinėje sistemoje beveik visada yra daugybė veikiančių procesų.
Prieigos teisės sistemoje „Linux“.
Kaip ir kitose operacinėse sistemose, Linux sistemoje galite sukurti daug vartotojų. Tokiais atvejais yra teisių valdymo sistema, kuri palaiko atskirus vartotojus ir grupes. Štai kur failų ir vartotojo leidimai ateiti į žaidimą.
„Linux“ branduolys valdo duomenis ir tikrina reikiamus leidimus kiekvienam procesui. Pavyzdžiui, jei bandote atidaryti failą, branduolys turi patikrinti proceso ID, ar nėra prieigos teisių. Jei branduolys patikrins ir pamatys, kad turite leidimus, jis atidarys failą.
„Linux“ branduolys valdo viską
Kaip matote, „Linux“ branduolys prižiūri viską nuo failų saugos iki vartotojų kūrimo ir failų atsisiuntimo iš interneto. Viskas tam tikra tvarka. Kiekvienas vartotojas turi teises. „Linux“ branduolys valdo procesus ir laiko tarpsnius, kad pasiektų didžiausią našumą.
Be to, failų sistema, kuri yra viena didžiausių savybių, išskiriančių Linux branduolį iš kitų operacinių sistemų, yra labai svarbi. Linux nėra paslėpta dėžutė. Priešingai, visi failai ir šaltinio kodai yra prieinami. Norėdami geriau suprasti praktinį ir galingą Linux branduolio pobūdį, galite išnagrinėti Linux katalogų sistemos hierarchiją.