Ugrás a tartalomhoz

Linux kernel

A Wikiszótárból, a nyitott szótárból


Főnév

Linux kernel (tsz. Linux kernels)

  1. (informatika) A Linux kernel a Linux operációs rendszer szíve, egy nyílt forráskódú, monolitikus kernel, amelyet Linus Torvalds indított el 1991-ben. Azóta a világ egyik legnagyobb és legaktívabb szabad szoftverprojektjévé vált. A Linux kernel biztosítja a rendszer hardverének és szoftverének közötti kapcsolatot, azaz közvetít az alkalmazások és az eszközök, processzorok, memóriák, fájlrendszerek között.



1. Mi az a kernel?

A kernel egy operációs rendszer központi része. Főbb feladatai:

  • Folyamatkezelés – több program párhuzamos futtatása
  • Memóriakezelés – RAM kiosztása, virtuális memória
  • Eszközkezelés – hardverek vezérlése meghajtókon (driverek) keresztül
  • Fájlrendszerkezelés – fájlok olvasása, írása, jogosultságok
  • Rendszerhívások kezelése – az alkalmazások kernel-szolgáltatásokat kérnek



2. A Linux kernel felépítése

A Linux kernel egy monolitikus kernel, de moduláris szerkezetű. Ez azt jelenti, hogy minden fut egy közös címtérben, de a szolgáltatások (pl. hálózatkezelés, fájlrendszerek, eszközmeghajtók) dinamikusan betölthetők modulokként.

Főbb komponensek:

  • Process Manager: folyamatok létrehozása, ütemezése, szinkronizáció
  • Memory Manager: lapozás, allokáció, swap
  • Device Drivers: interfészek hardverekhez
  • File System: ext4, XFS, Btrfs, FAT, NTFS stb.
  • Network Stack: TCP/IP, UDP, DNS, NAT
  • Security Modules: SELinux, AppArmor
  • IPC (Inter-Process Communication): pipe, socket, message queue
  • Syscalls: rendszerhívások interfésze



3. Kernel típusok

Kernel típus Leírás
Monolitikus Minden komponens egyetlen nagy binárisban (Linux)
Moduláris Monolitikus, de modulok betölthetők/unload-olhatók
Mikrokernel Minimális kernel (pl. csak ütemező, IPC), más funkciók user space-ben
Hibrid Mikrokernel + monolitikus (pl. Windows NT, XNU – macOS)



4. Kernel modulok

A kernel modulok (.ko fájlok) dinamikusan betölthetők:

modprobe e1000      # betölt egy eszközmeghajtót (pl. Intel hálózat)
lsmod               # betöltött modulok listázása
rmmod e1000         # modul eltávolítása

Modulokat például hardvervezérlésre, fájlrendszerekhez, fájlfigyeléshez használunk.



5. Kernel verziózás

A Linux kernel verziói az alábbi formátumban jelennek meg: x.y.z

  • x: fő verzió (nagyon ritkán változik)
  • y: főbb kiadások (pl. új funkciók, API-változások)
  • z: hibajavítások, minor frissítések

Példa: 6.8.4

A kernel fejlesztését a kernel.org oldalon követhetjük.



6. Kernel ütemezés (process scheduling)

A Linux többféle ütemezőt kínál:

  • CFS (Completely Fair Scheduler): az alapértelmezett ütemező
  • RT (Real-Time Scheduler): valós idejű prioritások (pl. audio, gépvezérlés)
  • Deadline scheduler: időre garantált végrehajtás

Minden folyamat egy PID-et kap, és a kernel szabályozza, mikor futhat.



7. Kernel buildelés és testreszabás

A Linux kernel fordítható forráskódból:

Lépések:

make menuconfig      # konfigurációs menü
make -j$(nproc)      # párhuzamos fordítás
make modules_install # modulok telepítése
make install         # kernel telepítése /boot alá

Konfiguráció:

  • .config fájl tartalmazza a kernelbe építendő funkciókat
  • Lehet y, m, n: beépített, modul, kihagyott



8. Kernel és hardver

A kernel közvetlenül kezeli a hardvert eszközmeghajtókon keresztül. Ez biztosítja:

  • CPU-k, memóriák, PCI-eszközök, USB, GPU-k felismerését
  • Kernel támogatja az ACPI, UEFI, Secure Boot szabványokat
  • Futtatható minden főbb architektúrán: x86, ARM, RISC-V, MIPS, PowerPC



9. Kernel panics és hibák

Ha a kernel súlyos hibát észlel, kernel panic léphet fel – az operációs rendszer leáll.

Diagnosztika eszközök:

  • dmesg – kernel üzenetek
  • journalctl -k – naplózott kernelüzenetek (systemd alapú rendszereken)
  • Crash dump fájlok (pl. /var/crash/)



10. Biztonság

A kernelbe épített biztonsági modulok:

  • SELinux, AppArmor – jogosultságok, profil alapú hozzáférés
  • Seccomp, Namespaces, Cgroups – konténerizáció és sandboxing
  • ASLR, SMEP/SMAP – memória-alapú támadások ellen



11. Linux kernel a gyakorlatban

  • Asztali rendszerek: Ubuntu, Fedora, Arch
  • Szerverek: Debian, CentOS, AlmaLinux
  • Beágyazott rendszerek: routerek, IoT-eszközök, Android
  • Szuperszámítógépek: több ezer CPU magon futó HPC rendszerek
  • Mobil: az Android OS kernelje is Linux-alapú, de módosított



12. Összefoglalás

A Linux kernel a világ egyik legsokoldalúbb, legrugalmasabb és szabadon fejleszthető rendszermagja. Lehetővé teszi különböző típusú számítástechnikai eszközök stabil és biztonságos működését, legyen szó asztali gépről, mobilról vagy felhőszolgáltatásról. A moduláris felépítése, testreszabhatósága és közösségi fejlesztése révén mára a nyílt forráskódú szoftverek egyik legismertebb példája.