Linux kernel jest monolitni i Unixu-sličan kernel operativnog sistema.
Porodica Linux operativnih sistema se temelji na ovom kernelu i nalazi se u računarskim sistemima poput ličnih računara i servera, obično u obliku Linux distribucije, i na raznim ugrađenim uređajima kao što su ruteri, bežične pristupne tačke, telefonski sistemi, set-top boksevi, FTA prijemnici, pametni televizori, video rekorderi i NAS uređaji. Iako Linux kernel nema veliki udio u operativnim sistemima na korisničkim stolnim računarima, dominira u gotovo svim drugim segmentima u računarstvu, od mobilnih uređaja do glavnih centralnih računara. Od novembra 2017, svi od 500 najmoćnijih superračunara na svijetu pokreću Linux. Operativni sistem Android za tablet računare, pametne telefone i pametne satove također koristi Linux kernel.
Linux | |
---|---|
Razvijatelj | Linus Torvalds i hiljade drugih |
Napisan u | C and asembler |
Grupa OS-a | Unixu-sličan |
Opća dostupnost | 0.01 (17. septembar 1991 | )
Dostupan u | Engleski |
Vrsta kernela | Monolitni |
Licenca | GPLv2 sa BLOB |
Službeni veb-sajt | www |
Linux kernel je 1991. godine osmislio i napravio Linus Torvalds za svoj lični računar. Linux je brzo privukao druge programere i korisnike koji su usvojili njegov kernel za druge slobodne softverske projekte, posebno operativni sistem GNU, koji je stvoren kao besplatni, slobodni operativni sistem.
Aplikativni programski interfejs (API) Linux kernela preko kojeg korisnički programi komuniciraju s kernelom, je dizajniran da bude vrlo stabilan i da ne prekida programe korisničkog prostora.
Linux kernel koji su razvili saradnici širom svijeta predstavlja istaknuti primjer softvera koji je slobodan i otvorenog koda. Linux kernel je objavljen pod općom GNU javnom licencom verzije 2 (GPLv2), sa nekim slikama firmvera objavljenim pod raznim drugim neslobodnim licencama.
Linux kernel je monolitni kernel, koje podržava preventivni "multitasking" (u korisničkom režimu, a od verzije 2.6, i u kernel modu), virtualnu memoriju, zajedničke biblioteke, zahtjeve za učitavanje, dijeljene "Copy-on-Write" izvršne datoteke (preko KSM-a), upravljanje memorijom, paket internet protokola i istovremene zadatke u procesima (threading).
Upravljački programi i proširenja kernela pokreću se u prostoru kernela sa potpunim pristupom hardveru. Grafički sistem koji većina ljudi koristi na Linuxu ne radi unutar kernela. Za razliku od standardnih monolitnih kernela, upravljački programi se lako konfigurišu kao moduli i učitavaju ili otpakuju dok sistem radi. Također, za razliku od standardnih monolitnih kernela, pod određenim uvjetima upravljački programi mogu se isključiti; ova osobina dodana je za ispravno rukovanje hardverskim prekidima i za bolju podršku simetričnog multiprocesiranja.
Linux kernel je napisan u programskom jeziku C koji podržava GCC, zajedno sa malim brojem ubačenog asemblerskog koda.
GCC je zadani kompajler za izvorni kod Linux. 2004. godine, Intel je izmijenio kernel tako da ga je i njegov C kompajler mogao kompajlirati.
U 2013. Linux kernel 3.10 je imao 15.803.499 linija koda. Od 2007. godine, otprilike 5% koda otpada sržni dio kernela, dok 52% otpada na upravljačke programe.
Najnovija verzija kernela i starije verzije se održavaju odvojeno. Obično najnovija izdanja kernela nadgledao je Linus Torvalds. Trenutne verzije objavljuje Greg Kroah-Hartman.
Linux je evolucija, a ne inteligentni dizajn!
– Linus Torvalds, 2005
Korisnički prostor | Korisničke aplikacije | Na primjer, bash, LibreOffice, GIMP, Blender, 0 A.D., Mozilla Firefox, itd. | ||||
---|---|---|---|---|---|---|
Sistemske komponente niskog nivoa: | Sistemski daemoni: systemd, runit, logind, networkd, PulseAudio, ... | Prozorni sistem: X11, Wayland, SurfaceFlinger (Android) | Druge biblioteke: GTK+, Qt, EFL, SDL, SFML, FLTK, GNUstep, itd. | Grafika: Mesa, AMD Catalyst, ... | ||
C standarda biblioteka | open(), exec(), sbrk(), socket(), fopen(), calloc(), ... (do 2000 podrutina) glibc cilja da bude POSIX/SUS-kompatibilan, musl i uClibc cilja ugrađene sisteme, bionic je pisan za Android, itd. | |||||
Kernel mod | Linux kernel | stat, splice, dup, read, open, ioctl, write, mmap, close, exit, itd. (oko 380 sistemskih poziva) Linux kernel System Call Interface (SCI, cilja da bude POSIX/SUS-kompatibilan) | ||||
Raspoređivanje procesa podsistem | IPC podsistem | Upravljanje memorijom podsistem | Virtualni podsistem | Mrežni podsistem | ||
Druge komponente: ALSA, DRI, evdev, LVM, device mapper, Linux Network Scheduler, Netfilter Linux siguronosni moduli: SELinux, TOMOYO, AppArmor, Smack | ||||||
Hardver (CPU, radna memorija, uređaji za pohranu, itd.) |
This article uses material from the Wikipedia Bosanski article Linux kernel, which is released under the Creative Commons Attribution-ShareAlike 3.0 license ("CC BY-SA 3.0"); additional terms may apply (view authors). Sadržaj je dostupan pod licencom CC BY-SA 4.0 osim ako nije drugačije navedeno. Images, videos and audio are available under their respective licenses.
®Wikipedia is a registered trademark of the Wiki Foundation, Inc. Wiki Bosanski (DUHOCTRUNGQUOC.VN) is an independent company and has no affiliation with Wiki Foundation.