Linux kodols ir kā tilts, kas nodrošina skaitļošanas saziņu starp lietojumprogrammām un aparatūru un pārvalda sistēmas resursus. Linuss Torvalds izstrādāja Linux kodolu ar C un Assembly, un tādējādi viņam izdevās izveidot vieglu un pārnēsājamu kodolu, kas tika izlaists sabiedrībai kā atvērtā koda versija.

Jūs varat redzēt Linux kodolu daudzās dažādās nozarēs, piemēram, kosmosā, datoros, viedpulksteņos, mobilajos tālruņos, robotikā un veselībā. Bet vai esat kādreiz domājis, kā Linux kodols darbojas zem pārsega?

Aparatūras lietošana operētājsistēmā Linux

Linux kodols, pirmkārt, kontrolē, kura aparatūra darbosies un kādā veidā, ieslēdzot datoru. Turklāt, pateicoties programmēšanas interfeisam, ir iespējama augstākās klases programmatūras vadība. Lai sniegtu šo vadīklu piemēru, jūs varat skatīt informāciju par aparatūru, kas instalēta jūsu mātesplates slotos, un gūt labumu no šīs detalizētās informācijas.

Turklāt šis programmēšanas interfeiss nodrošina abstrakcijas slāni. Piemēram, ja vēlaties sarunāties ar draugiem, jums būs nepieciešama tīmekļa kamera. Abstrakcijas slānis ļauj izmantotajai programmatūrai izmantot šo tīmekļa kameru neatkarīgi no tās markas un modeļa. Šeit esošā programmatūra var izmantot tikai to saskarni, kas pastāv operētājsistēmai Linux. Linux kodols pārvērš šīs saskarnes funkciju izsaukumus faktiskās aparatūras komandās, kas nepieciešamas tīmekļa kamerai.

Izmantojot /proc un /sys virtuālās failu sistēmas, Linux kodols var eksportēt detalizētu informāciju par aparatūru tas atklāj. Tālāk ir norādīti daži šim nolūkam izmantotie rīki un tās eksportētās ierīces un kartes.

  • lspci: PCI ierīcēm
  • lsusb: USB ierīcēm
  • lspcmcia: PCMCIA kartēm

Kā redzat, Linux izplatīšana iepriekš redzamajā ekrānuzņēmumā darbojas VirtualBox. Tomēr jums ir iespēja redzēt daudz informācijas, piemēram, VGA, USB kontrolleri, tiltus un SATA kontrolieri.

Varat arī izmantot -v parametru, lai iegūtu daudz detalizētāku informāciju.

Linux kodolā lietojumprogrammas parasti piekļūst ierīcēm, izmantojot īpašus failus, kas pastāv /dev direktoriju. Šie īpašie faili ir diskdziņi un citas fiziskas ierīces. Faili, piemēram, /dev/hda, /dev/sdc, /dev/sdc3, /dev/input/mouse0 un dev/snd/* ir šo īpašo failu piemēri.

Linux failu sistēmas pārvaldība

Failu sistēmas ir viena no ievērojamākajām Linux kodola sastāvdaļām. Linux failu sistēma ir viena no tās lielākajām priekšrocībām. Visi Linux sistēmas faili tiek apkopoti vienā filiālē. Tādējādi lietotāji var izmantot šo hierarhiju, lai sasniegtu vēlamās vietas.

Šīs hierarhijas sākumpunkts ir saknes direktorijs (/). Citi apakšdirektoriji atrodas saknes direktorijā. Visbiežāk izmantotais apakšdirektorijs / ir /home direktoriju. Šajā apakšdirektorijā ir citi apakšdirektoriji, un katrā direktorijā ir faili, kas glabā faktiskos datus.

Piemēram, varat iedomāties teksta failu uz darbvirsmas. Ja izveidojat teksta failu ar nosaukumu helloworld.txt savā darbvirsmā varat to saukt par /home/muo/Desktop/helloworld.txt. Piemērs /muo šeit, protams, mainīsies. Tā kā šis apakšdirektorija nosaukums ir atkarīgs no jūsu pašreizējā lietotāja vārda. Izmantojot šo nosaukumu sistēmu, Linux kodols pārvērš faktisko un fizisko krātuvi, kas atrodas diskā.

Arī Linux kodols var integrēt datus no vairākiem diskiem. Šeit tiek izmantota montāžas sistēma. Tas izmanto vienu no diskiem sakņu sistēmā, bet pārējos pievieno esošajiem hierarhijas direktorijiem. Pēc tam citi diski tiek novietoti zem stiprinājuma punktiem. Tas ļauj lietotājiem saglabāt /home direktoriju otrā cietajā diskā, kurā ir arī citi apakšdirektoriji.

Kad pievienojat disku pie /home direktorijā, šiem direktorijiem varat piekļūt no parastajām vietām. Tādējādi ceļi, piemēram, /home/muo/Desktop/helloworld.txt turpināt strādāt.

Jūs varat redzēt stiprinājuma punktus starp failiem savā sistēmā, izmantojot atradums -A komandu.

Izmantojot daudzus failu sistēmas formātus, varat fiziski saglabāt datus diskos. Visplašāk pazīstamās operētājsistēmā Linux ir ext2, ext3, un ext4 failu sistēmas formāti. Tomēr ir daudz citu failu sistēmas formātu. Jebkurā gadījumā pirms failu sistēmas uzstādīšanas ir jāformatē. Varat izmantot tādas komandas kā mkfs.ext3 (mkfs apzīmē make file system un ext3 ir failu sistēma) šim nolūkam.

Šīs komandas kā parametru pieņem ierīces faila ceļu, kuru vēlaties formatēt. Tā ir destruktīva darbība, un, ja nevēlaties dzēst vai atiestatīt failu sistēmu, izmantojiet to piesardzīgi.

Bez šiem ir arī tīkla failu sistēmas, piemēram, NFS ko izmanto Linux kodols. NFS ir tīkla failu sistēma, kurā dati netiek glabāti lokālajā diskā. Izmantojot NFS, dati pa tīklu tiek pārsūtīti uz serveri, kas glabā datus. Tā kā dati atradīsies serverī, lietotājiem ar tiem nav pastāvīgi jātiek galā. Viņi kā parasti var izmantot arī tradicionālo Linux hierarhisko failu sistēmu.

Koplietojamo funkciju operācijas

Visai Linux sistēmas programmatūrai ir kopīgas funkcijas. Tāpēc šīs funkcijas ir galvenās Linux kodolā. Piemēram, atverot failu, to var atvērt tikai ar faila nosaukumu, nezinot, kur fails fiziski glabājas un kādas funkcijas un darbības tas izmantos. Visas šīs funkcijas jau ir kodolā.

Varat saglabāt failu cietajā diskā, sadalīt to starp vairākiem cietajiem diskiem vai pat glabāt attālā serverī. Šādos gadījumos svarīgas ir koplietoto failu komunikācijas funkcijas. Lietojumprogrammas apmainās ar datiem neatkarīgi no datu pārvietošanas veida. Lai veiktu šo datu apmaiņu, ir kopīgas saziņas funkcijas. Šo kustību var veikt, izmantojot bezvadu tīklus vai pat fiksēto tālruņa līniju.

Procesu pārvaldība operētājsistēmā Linux

Programmas aktīvs gadījums, kas darbojas ar atmiņā esošajiem datiem vai informāciju, ir pazīstams kā process. Linux kodola uzdevums ir ģenerēt un sekot līdzi šiem atmiņas reģioniem. Kodols piešķir atmiņu darbojas programmai un ielādē izpildāmo kodu atmiņā no failu sistēmas. Tūlīt pēc tam kodols palaiž kodu.

Linux kodols atbalsta daudzuzdevumu veikšanu. Tas spēj vienlaikus vadīt vairākus procesus. Tomēr jebkurā laika posmā ir tikai viens darījums. Tomēr Linux kodols sadala laiku mazos gabalos, un rezultātā katra procedūra notiek secīgi.

Tā kā šie mazie laika segmenti ir milisekundēs, tie ir aktīvi tikai noteiktos laikos un pārējā laikā paliek dīkstāvē. Linux kodola uzdevums šeit ir maksimāli palielināt veiktspēju, vienlaikus palaižot vairākus procesus.

Ja laika nišas ir pārāk garas, darbojošā lietojumprogramma var nebūt tik atsaucīga, kā jūs vēlētos. Ja laika periodi ir pārāk īsi, var rasties problēmas ar uzdevumu izmaiņām. Atkarībā no procesa prioritātes šeit nepieciešamais laika intervāls būs atšķirīgs. Iespējams, esat dzirdējuši par augstas prioritātes procesiem un zemas prioritātes procesiem. Šī ir viena no funkcijām, ko kontrolē Linux kodols.

Šis skaidrojums ne vienmēr ir pareizs. Patiesais ierobežojums ir tāds, ka vienā procesora kodolā vienlaikus var būt tikai viens darbinieka process. Daudzprocesoru sistēmas ļauj vairākiem procesiem darboties paralēli. Pamatsistēmā gandrīz vienmēr ir vairāki desmiti darbojošos procesu.

Piekļuves tiesības operētājsistēmā Linux

Tāpat kā citās operētājsistēmās, Linux sistēmā varat izveidot daudz lietotāju. Šādos gadījumos ir tiesību pārvaldības sistēma, kas atbalsta atsevišķus lietotājus un grupas. Šeit ir vieta failu un lietotāju atļaujas stāties spēlē.

Linux kodols pārvalda datus un pārbauda katram procesam nepieciešamās atļaujas. Piemēram, ja mēģināt atvērt failu, kodolam ir jāpārbauda procesa ID attiecībā pret piekļuves atļaujām. Ja kodols pārbauda un redz, ka jums ir atļaujas, tas atvērs failu.

Linux kodols kontrolē visu

Kā redzat, Linux kodols pārrauga visu, sākot no jūsu failu drošības līdz lietotāju izveidei un failu lejupielādei no interneta. Viss ir noteiktā secībā. Katram lietotājam ir tiesības. Linux kodols pārvalda procesus un laika nišas, lai nodrošinātu maksimālu veiktspēju.

Turklāt ļoti svarīga ir failu sistēma, kas ir viena no lielākajām funkcijām, kas atšķir Linux kodolu no citām operētājsistēmām. Linux nav slēpta kaste. Gluži pretēji, visi faili un pirmkodi ir pieejami. Lai labāk izprastu Linux kodola praktisko un jaudīgo būtību, varat izpētīt Linux direktoriju sistēmas hierarhiju.