Linux kernel je poput mosta koji omogućuje računalnu komunikaciju između aplikacija i hardvera te upravlja resursima sustava. Linus Torvalds razvio je jezgru Linuxa s C-om i Assemblym te je tako uspio stvoriti laganu i prenosivu jezgru koja je javno objavljena kao otvoreni kod.

Linux kernel možete vidjeti u mnogim različitim sektorima kao što su svemir, računala, pametni satovi, mobilni telefoni, robotika i zdravlje. Ali jeste li se ikada zapitali kako Linux kernel radi ispod haube?

Upotreba hardvera na Linuxu

Linux kernel, prije svega, kontrolira koji će hardver raditi i na koji način kada uključite svoje računalo. Osim toga, upravljanje vrhunskim softverom moguće je zahvaljujući sučelju za programiranje. Kao primjer ovih kontrola, moguće je vidjeti informacije o hardveru instaliranom u utore na vašoj matičnoj ploči i iskoristiti te detaljne informacije.

Također, ovo programsko sučelje pruža sloj apstrakcije. Na primjer, ako želite voditi video razgovor sa svojim prijateljima, trebat će vam web kamera. Sloj apstrakcije omogućuje softveru koji koristite da koristi ovu web kameru bez obzira na njezinu marku i model. Softver ovdje može koristiti samo sučelje koje postoji za Linux. Linux kernel prevodi pozive funkcija ovog sučelja u stvarne hardverske naredbe koje web kamera treba.

instagram viewer

Koristiti /proc i /sys virtualne datotečne sustave, Linux kernel može izvoz detaljnih informacija o hardveru otkriva. U nastavku možete vidjeti nekoliko alata koji se za to koriste i koje uređaje i kartice izvoze:

  • lspci: Za PCI uređaje
  • lsusb: Za USB uređaje
  • lspcmcia: Za PCMCIA kartice

Kao što vidite, distribucija Linuxa na gornjoj snimci zaslona radi na VirtualBoxu. Međutim, imate priliku vidjeti puno informacija kao što su VGA, USB kontroler, mostovi i SATA kontroler.

Također možete koristiti -v parametar za dobivanje mnogo detaljnijih informacija.

U jezgri Linuxa aplikacije obično pristupaju uređajima putem posebnih datoteka koje postoje u /dev imenik. Ove posebne datoteke predstavljaju diskovne pogone i druge fizičke uređaje. Datoteke kao što su /dev/hda, /dev/sdc, /dev/sdc3, /dev/input/mouse0 i dev/snd/* su primjeri ovih posebnih datoteka.

Upravljanje Linux sustavom datoteka

Datotečni sustavi jedna su od najznačajnijih komponenti Linux kernela. Datotečni sustav Linuxa jedna je od njegovih najvećih prednosti. Sve datoteke na Linux sustavu skupljaju se u jednu granu. Korisnici stoga mogu koristiti ovu hijerarhiju kako bi došli do svojih željenih mjesta.

Početna točka ove hijerarhije je korijenski direktorij (/). Ostali poddirektoriji su ispod korijenskog direktorija. Najčešće korišteni poddirektorij pod / je /home imenik. Ovaj poddirektorij sadrži druge poddirektorije i svaki direktorij ima datoteke koje pohranjuju stvarne podatke.

Na primjer, možete zamisliti tekstualnu datoteku na radnoj površini. Ako kreirate tekstualnu datoteku tzv helloworld.txt na radnoj površini, možete ga nazivati /home/muo/Desktop/helloworld.txt. Primjer za /muo ovdje će naravno varirati. Jer ovaj naziv poddirektorija ovisi o vašem trenutnom korisničkom imenu. S ovim sustavom imenovanja, Linux kernel prevodi između stvarne i fizičke pohrane koja postoji na disku.

Također, Linux kernel može integrirati podatke s nekoliko diskova. Ovdje dolazi do izražaja sustav pričvršćivanja. Koristi jedan od diskova u korijenskom sustavu, a druge montira u postojeće direktorije u hijerarhiji. Ostali diskovi se tada postavljaju pod točke montiranja. Ovo korisnicima omogućuje pohranjivanje /home direktorij na drugom tvrdom disku koji također sadrži druge poddirektorije.

Kada montirate disk na /home imenik, ovim imenicima možete pristupiti s normalnih lokacija. Dakle, putovi kao što su /home/muo/Desktop/helloworld.txt nastaviti s radom.

Možete vidjeti točke montiranja između datoteka na vašem sustavu pomoću pronaći -A naredba.

Uz mnoge formate datotečnog sustava, možete fizički pohraniti podatke na diskove. Najpoznatije na Linuxu su ext2, ext3, i ext4 formati datotečnog sustava. Međutim, postoji mnogo drugih formata datotečnog sustava. U svakom slučaju, morate formatirati datotečni sustav prije montiranja. Možete koristiti naredbe poput mkfs.ext3 (mkfs je kratica za make datotečni sustav, a ext3 je datotečni sustav) za ovo.

Ove naredbe prihvaćaju put datoteke uređaja koji želite formatirati kao parametar. To je destruktivna operacija i trebali biste je koristiti s oprezom ako ne želite obrisati ili resetirati datotečni sustav.

Osim ovih, postoje i mrežni datotečni sustavi kao što je NFS koje koristi jezgra Linuxa. NFS je mrežni datotečni sustav u kojem se podaci ne pohranjuju na lokalni disk. Uz NFS, podaci idu preko mreže do poslužitelja koji pohranjuje podatke. Budući da će podaci biti na poslužitelju, korisnici se ne moraju stalno baviti njima. Oni također mogu koristiti tradicionalni hijerarhijski datotečni sustav Linuxa kao i obično.

Operacije dijeljenih funkcija

Sav softver u sustavu Linux ima zajedničke funkcije. Zbog toga su te funkcije središnje u Linux kernelu. Na primjer, kada otvarate datoteku, možete je otvoriti samo s imenom datoteke, a da ne znate gdje je datoteka fizički pohranjena i koje će funkcije i operacije koristiti. Sve ove funkcije već su prisutne u kernelu.

Svoju datoteku možete pohraniti na tvrdi disk, podijeliti je na nekoliko tvrdih diskova ili je čak držati na udaljenom poslužitelju. Komunikacijske funkcije zajedničkih datoteka važne su u takvim slučajevima. Aplikacije razmjenjuju podatke bez obzira na to kako se podaci premještaju. Zajedničke komunikacijske funkcije služe za razmjenu podataka. Ovaj potez može biti preko bežičnih mreža ili čak fiksne telefonske linije.

Upravljanje procesima u Linuxu

Aktivni primjerak programa koji radi na podacima ili informacijama u memoriji poznat je kao proces. Zadatak jezgre Linuxa je generirati i pratiti te memorijske regije. Kernel dodjeljuje memoriju za pokrenuti program i učitava izvršni kod u memoriju iz datotečnog sustava. Odmah nakon toga kernel pokreće kod.

Linux kernel podržava višezadaćnost. Sposoban je pokretati brojne procese u isto vrijeme. Međutim, postoji samo jedna transakcija u bilo kojem vremenskom okviru. Međutim, jezgra Linuxa dijeli vrijeme na male dijelove i kao rezultat toga, svaka se procedura odvija uzastopno.

Budući da su ovi mali vremenski segmenti u koracima od milisekundi, aktivni su samo u određenim trenucima, a ostalo vrijeme ne rade. Posao Linux kernela ovdje je maksimiziranje performansi pokretanjem više procesa odjednom.

Ako su vremenski odsječci predugi, pokrenuta aplikacija možda neće reagirati onoliko koliko biste željeli. Ako su vremenski okviri prekratki, može doći do problema s promjenama zadataka. Ovisno o prioritetu procesa, vremenski interval potreban ovdje će varirati. Možda ste prije čuli za procese visokog i niskog prioriteta. Ovo je jedna od funkcija koju kontrolira Linux kernel.

Ovo objašnjenje nije uvijek točno. Pravo ograničenje je da može postojati samo jedan radni proces po jezgri procesora u isto vrijeme. Višeprocesorski sustavi omogućuju paralelno odvijanje nekoliko procesa. Osnovni sustav gotovo uvijek ima desetke pokrenutih procesa.

Prava pristupa u Linuxu

Kao i kod drugih operativnih sustava, na Linux sustavu možete stvoriti mnogo korisnika. U takvim slučajevima postoji sustav upravljanja pravima koji podržava pojedinačne korisnike i grupe. Ovo je gdje datoteke i korisničke dozvole ući u igru.

Linux kernel upravlja podacima i provjerava potrebna dopuštenja za svaki proces. Na primjer, ako pokušate otvoriti datoteku, kernel mora provjeriti ID procesa u odnosu na dopuštenja pristupa. Ako kernel provjeri i vidi da imate dopuštenja, otvorit će datoteku.

Linux kernel kontrolira sve

Kao što vidite, jezgra Linuxa nadzire sve, od sigurnosti vaših datoteka do stvaranja korisnika i preuzimanja datoteka s interneta. Sve je u određenom redoslijedu. Svaki korisnik ima prava. Linux kernel upravlja procesima i vremenskim intervalima za vrhunske performanse.

Štoviše, datotečni sustav, koji je jedna od najvećih značajki koje razlikuju Linux kernel od drugih operativnih sustava, vrlo je važan. Linux nije skrivena kutija. Naprotiv, sve datoteke i izvorni kodovi su dostupni. Kako biste bolje razumjeli praktičnu i moćnu prirodu Linux kernela, možete ispitati hijerarhiju Linux direktorijskog sustava.