Skip to content
Language:hu Author:Laborci Gergely
architecture

Microkernel: mag és bővítmények

Célok

A lecke végére el tudod magyarázni a microkernel (plug-in) architektúra szerkezetét, meg tudod mondani, mikor előnyös, és mi a tipikus kockázata.

Miért kell?

Néhány rendszer lényege, hogy a funkciói utólag, külön fejlesztve bővíthetők: egy fejlesztőkörnyezet, egy böngésző vagy egy szerkesztő így működik. Az eddigi stílusok az üzleti képességek mentén vágnak; a microkernel a változatlan magot és a változó kiegészítőket választja szét.

Mi ez?

A microkernel architektúra (más néven plug-in architektúra) két komponenstípusból áll: egy kis magból (core), amely a rendszer működéséhez szükséges minimumot tartalmazza, és bővítményekből (plug-in), amelyek önálló kiegészítő funkciókat adnak. A név az operációs rendszerek ismert felépítéséből ered. Mark Richards könyvének előnézete szerint a mag hagyományosan csak a futáshoz szükséges funkciót tartalmazza, és gyakran egy nyilvántartás (registry) segít megtalálni a bővítményeket.

flowchart TB
  subgraph Core["Mag"]
    R["Bővítmény-nyilvántartás"]
    M["Közös működés"]
  end
  P1["Bővítmény 1"] --> R
  P2["Bővítmény 2"] --> R
  P3["Bővítmény 3"] --> R

A bővítmények jellemzően függvénykönyvtárként töltődnek be a magba, ezért a rendszer egy telepítési egység marad; a bővítmény azonban lehet távoli szolgáltatás is.

Szempontok szerint

Szempont Microkernel
Csatolás A bővítmények a mag szerződésén át kapcsolódnak, egymásról nem tudnak
Deployolhatóság A bővítmény külön fejleszthető; a telepítés a betöltés módjától függ
Skálázás A magnak általában közös erőforrása van; ritkán a skálázás a fő szempont
Adatkezelés A mag és a bővítmények közös vagy a bővítmény saját adata — tervezendő
Hibakezelés Egy hibás bővítmény a magot is érintheti, ha nincs izolálva
Költség Alacsony, ha a bővítési pontok stabilak

Mi a kockázata?

A mag szerződése (a bővítési pont) lesz a rendszer legnehezebben változtatható része: ha módosul, minden bővítményt érint. A mag túl nagy vagy túl sok mindent ismerő része pedig szűk keresztmetszet. Egy hibás vagy rosszindulatú bővítmény kockázatot jelent, ha ugyanabban a folyamatban fut.

A microkernel nem általános alkalmazásszerkezet: ott illeszkedik, ahol a „mag + változó kiegészítők” természetes modell.

Hogyan viszonyul a többihez?

A modulit (2.4) belső modulai egymást is hívják üzleti műveletekkel; a microkernel bővítményei a magot használják, és egymást általában nem. A bővítményeknek ugyanúgy lehet hexagonális belső szerkezetük (2.3).

Gyakori tévhitek

Állítás Pontosítás
„A microkernel csak az operációs rendszerekben létezik.” Az operációs rendszerek nevezték el; alkalmazások is használják a mag–bővítmény szerkezetet.
„A bővítmény mindig külön folyamat.” Jellemzően könyvtárként töltődik; lehet távoli is.
„A bővítmények szabadon hívhatják egymást.” Ez a bővítményeket egymáshoz kötné; a szerződés a magon át megy.

Röviden

  • A microkernel egy kis magból és bővítményekből áll.
  • A bővítmények a mag szerződésén át kapcsolódnak.
  • Előnye a bővíthetőség; kockázata a mag szerződésének merevsége és az izoláció hiánya.
  • Nem általános üzleti alkalmazás-szerkezet.

Ellenőrző kérdések

  1. Mi a mag és mi a bővítmény szerepe?
  2. Miért nehezen változtatható a bővítési pont?
  3. Miben különbözik a bővítmény egy moduláris monolit moduljától?

Források

Prerequisites (1)

  • monolit

Teaches (1)

  • microkernel architektúra