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
- Mi a mag és mi a bővítmény szerepe?
- Miért nehezen változtatható a bővítési pont?
- Miben különbözik a bővítmény egy moduláris monolit moduljától?
Források
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"] --> RA 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
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
Röviden
Ellenőrző kérdések
Források