Mi mag és mire van szüksége, hírek, órák, segítséget, támogatást

Linux kernel - az egyik legnagyobb nyílt forráskódú projektek, több mint 13 millió sornyi kódot, de mi ez és miért van szükség?

Tehát mi a kernel?

Core - a legalacsonyabb szint könnyen pótolható szoftver, amely kölcsönhatásba lép a hardver. Ez felelős a kommunikációs alkalmazások között futó felhasználói módban, igazi gépek és lehetővé teszi, hogy a folyamat néven ismert „szerverek” információkat kapni egymással a kommunikáció (IPC).

hordozhatóság
Alig igényel helyet a telepítéshez
Előnyük az, hogy kevés helyet foglal a memóriában
biztonság

Drivers mint absztrakciós réteget a hardver
A berendezés hosszú késések miatt a járművezetők futnak a felhasználói módban
Folyamatnak kell várni a sor, hogy információt
Folyamatok nem tud hozzáférni más folyamatok várakozás nélkül

Monolit magok ellenkező mikrokernel - azok nem csak a processzor vezérlés, a memória és az IPC, hanem eszközmeghajtók, a fájlrendszer kezelése, és a rendszer szervizelés hívásokat. Monolit magok általában nyer a munkát a gépek és többfeladatos, mert ha a programot kell tájékoztatást kapni a memória vagy más futó folyamat, nem kell várni a sorban - mivel ez egy közvetlen és egyszerű módja annak, hogy egyre szükséges. Azonban ez problémát okozhat, mivel több program szükséges körű hozzáférési jogok, annál nagyobb a veszélye, hogy „csepp” rendszer, ha egyikük nem működik megfelelően.

Közvetlen hardverhasználat alkalmazások
Folyamatok könnyebben kölcsönhatásba egymással
Ha a készülék által támogatott - akkor fog működni anélkül, hogy nagy felhajtás
Folyamatok fogékonyabbá óta nincs sorban processzor időt (valójában ez nem így van a folyamat fogékonyabbá, mivel kevesebb futó folyamatokat a felhasználói módban menet sorban létezik egy monolitikus kernel - .. az úgynevezett megelőző multitasking megelőző -. egy sáv.).

Telepítéskor foglal sok helyet
Beletelik egy csomó memóriát
Kevésbé biztonságos, mert több folyamat fut kernel módban

Hibrid magok választja, mit fognak futni felhasználói módban, és amely - kernel módban. Gyakran komponenseket, például eszközmeghajtók és az I / O fájlrendszer fut felhasználói módban, mivel IPC hívások és szolgáltató munkát kernel módban. Ez adja az előnye a két megközelítés, de gyakran több munkát igényel a részét a gyártók, mert a felelősséget a járművezetők el hozzájuk. Emellett vannak olyan rejtett hibák, melyek velejárói a mikrokernel.

A fejlesztő kiválaszthatja, hogy mely összetevőket futni felhasználói módban, és amely - kernel módban
Tart kevesebb helyet foglal, mint egy monolit kernel
Rugalmasabb, mint a többi megközelítés

Szenvedhetnek ugyanazt a késleltetést feldolgozza, hogy mikrokernel
Az eszközmeghajtók - felhasználói aggodalomra (általában)
Hol vannak a Linux kernel fájlokat?

core fájlt Ubuntu a / boot partíció neve vmlinuz-<версия>. Vmlinuz a név származik, a UNIX világ hatvanas. amelyben a magokat egyszerűen a „unix”, ami a kilencvenes évek elején, amikor a mag vált ismertté, mint „linux”.

Amikor egyszerűsítése többfeladatos került kifejlesztésre a virtuális memóriát (virtuális memória), adjunk hozzá „vm” kezdte megmutatni, hogy támogatja a fájl elején. Néhány évvel hívták vmlinux kernel, de akkor már túl sok, hogy beleférjen a rendelkezésre álló memória a rendszer indításakor, és akkor kezdett csökkenni, és az „x” a végén a neve változott „z”, azt mutatják, hogy ez a tömörített zlib. Nem mindig használja ezt a tömörítés típusát és gyakran váltja LZMA vagy BZIP2, és néha kernel nevű zImage (vagy bzImage - egy sáv ..).

Verziószám rendelkezik ABCD formátumban, ahol AB, valószínűleg 2,6 (a mag család még ábra B ábrán egy stabil családi -. 2.0, 2.2, 2.4, 2.6 - és páratlan - a változatok a fejlesztők számára - 2.1, 2.3, 2.5 kezdet. 2.6 ezzel a rendszerrel megszűnik - a sáv comment) ... C verziót, a D jelenik meg javítócsomagok és javítások.

Szintén a / boot könyvtárban van egy nagyon fontos nevű fájlt initrd.img-<версия>, system.map-<версия>, és konfigurációkkal<версия>. initrd fájlt használja, mint egy kis RAM-lemez, amely kibont és végrehajtja az aktuális kernel. system.map fájl ellenőrzésére használják a memóriát, mielőtt a kernel teljesen terhelt config file pontot a kernel, ami lehetőséget és modulokat betöltöttük a kernel a fordítási folyamat során.

Linux Kernel Architecture

Mivel a monolitikus Linux kernel a legnagyobb méretű és legnagyobb összetettsége összes sejtmagot. Ez volt a Linux tervezési jellemzője, amely körül nagy vita simmered a korábbi verziókban. és a sejtmagban is van néhány hátránya monolitikus kernel.

Ahhoz, hogy elkerüljük ezeket a hiányosságokat, a Linux-kernel fejlesztői készítettek a kernel modulok lehet be- és kirakodása működés közben, így hozzá, és távolítsa el a kernel függvények menet közben. Ez lehetővé teszi nem csak a hozzá támogatja az új hardvert a kernel modulok hozzáadásával futó szerver folyamat, mint például az alacsony szintű virtualizáció, hanem a lehetőséget helyett az egész kernel újraindítása nélkül bizonyos esetekben.

Képzeld el, hogy tudja telepíteni az új szervizcsomag a Windows, anélkül, hogy újra kell indítani.

Képzeljük el, hogy egy frissen telepített Windows már telepítve van az összes szükséges meghajtót, és csak annyit kell tennie - csak közé tartoznak azok, akiknek szükségük van? Így látja, hogy a kernel modulok Linuxon fut. Kernel modulok, más néven betölthető rendszermag modulok (betölthető kernel modul - LKM) kulcsszerepet játszanak fenntartásában működését magot az összes eszköz igénybe vétele nélkül az összes rendelkezésre álló memóriát.

Core - nem valami varázslatos, ez elengedhetetlen, hogy minden számítógép normál működését. A Linux kernel eltér Windows és OS X kernel, hogy tartalmaz eszközmeghajtók a rendszermag és támogatja a több „out of the box”. Remélhetőleg, most már tudom, hogy egy kicsit többet a közös művelet a szoftver és hardver, valamint azt, hogy milyen fájlokat van szükség, hogy a számítógép boot.