Operációs Rendszerek II.



Hasonló dokumentumok
Operációs rendszerek 2

Operációs rendszerek II. jegyzet

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -

Operációs rendszerek. Az NT folyamatok kezelése

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

(kernel3d vizualizáció: kernel245_graph.mpg)

Operációs rendszerek. Bemutatkozás

Operációs Rendszerek II.

2. Folyamatok. Operációs rendszerek. Folyamatok. Bevezetés Folyamatkezelés multiprogramozott rendszerekben. Folyamatok modellezése

Operációs rendszerek Folyamatok 1.1

Operációs rendszerek. Folyamatok kezelése a UNIX-ban

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna

Matematikai és Informatikai Intézet. 4. Folyamatok

Operációs rendszerek. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok:

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Operációs rendszerek. 3. előadás Ütemezés

Operációs Rendszerek II.

Az operációs rendszer szerkezete, szolgáltatásai

Operációs rendszerek. Folyamatok ütemezése

Virtualizációs Technológiák Operációs rendszer szintű virtualizáció Konténerek Forrás, BME-VIK Virtualizációs technológiák

Folyamatok. 6. előadás

Informatikai Rendszerek Intézete Gábor Dénes Foiskola. Operációs rendszerek oldal LINUX

Az interrupt Benesóczky Zoltán 2004

Operációs rendszerek. Windows NT. A Windows NT

OPERÁCIÓS RENDSZEREK 1. PROCESSZKEZELÉS

Dr. Schuster György október 30.

Feladatok (task) kezelése multiprogramozott operációs rendszerekben

Operációs rendszerek

Operációs rendszerek MINB240

Ütemezés (Scheduling),

Előadás_#02. Előadás_02-1 -

Virtualizáció. egy hardveren több virtuális rendszer működik egyszerre, virtuális gépekben futó önálló vendég (guest) operációs rendszerek formájában

Operációs rendszerek MINB240

Operációs rendszerek

Előadás_#03. Előadás_03-1 -

Számítógépek felépítése

Informatikai rendszerek alapjai (Informatika I.)

OPERÁCIÓS RENDSZEREK. Elmélet

Készítette: Trosztel Mátyás Konzulens: Hajós Gergely

Utolsó módosítás:

Operációs rendszerek. A Windows NT felépítése

Operációs rendszerek II. Folyamatok ütemezése

Operációs rendszerek előadás Multiprogramozott operációs rendszerek

C# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés / 21

Bevezetés az informatikába

Számítógépes alapismeretek

Architektúra, megszakítási rendszerek

Utolsó módosítás:

Alkalmazások típusai Szoftverismeretek

Léteznek nagyon jó integrált szoftver termékek a feladatra. Ezek többnyire drágák, és az üzemeltetésük sem túl egyszerű.

Segesdi Dániel. OpenNebula. Virtualizációs technológiák és alkalmazásaik BMEVIMIAV ősz

Operációs rendszerek MINB240

Ütemezés (Scheduling),

Operációs rendszerek III.

Windows Server 2012: a felhő OS

Operációs rendszerek. A Windows NT

Bevezetés a párhuzamos programozási koncepciókba

Operációs rendszerek. Az NT memóriakezelése

Szenzorhálózatok programfejlesztési kérdései. Orosz György

Utolsó módosítás:

Operációs rendszerek. Az X Window rendszer

Hálózatok. Alapismeretek. A hálózatok célja, építőelemei, alapfogalmak

ÜDVÖZÖLJÜK A HaXSoN BEMUTATÓN!

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

Operációs Rendszerek II.

UNIX / Linux rendszeradminisztráció

Bevezetés a számítástechnikába

Az Invitel adatközponti virtualizációja IBM alapokon

Podoski Péter és Zabb László

Ismerkedjünk meg a Linuxszal!

Operációs rendszerek

Operációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter

Virtualizációs Technológiák Bevezetés Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák

Könyvtári szervervirtualizáció Oracle Virtual Machine platformon

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

hardver-szoftver integrált rendszer, amely Xwindow alapú terminálokat szervez egy hálózatba

Windows ütemezési példa

Rendszermodernizációs lehetőségek a HANA-val Poszeidon. Groma István PhD SDA DMS Zrt.

Balogh Ádám Lőrentey Károly

Operációs rendszerek (I 1204)

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem

Felhőszolgáltatások megvalósítása PureSystems eszközökön

Elosztott rendszerek

Programozási nyelvek és módszerek Java Thread-ek

Csoportos üzenetszórás optimalizálása klaszter rendszerekben


Adatbázis és alkalmazás konszolidáció Oracle SPARC T4/5 alapon

Verifikáció és validáció Általános bevezető


Párhuzamos programozási platformok

Felhő alapú hálózatok Konténerek orkesztrálása Simon Csaba. Budapesti Műszaki és Gazdaságtudományi Egyetem

UNIX ütemezése. Operációs rendszerek MINB240 UNIX, Windows NT ütemezése Holtpontkezelés. Algoritmus követelményei. UNIX ütemezés jellemzése

14. Tétel. A kezelt hardvererőforrásoknak része többek között a memória, a processzor, a merevlemez és a perifériális eszközök használata.

IBM felhő menedzsment

A Számítógépek hardver elemei

Mikor és hogyan érdemes virtualizálni?

GPU Lab. 4. fejezet. Fordítók felépítése. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

Párhuzamos programozási platformok

Átírás:

Operációs Rendszerek II. Második előadás Első verzió: 2004/2005. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter

Visszatekintés

Visszatekintés Operációs rendszer a számítógép hardver elemei és az alkalmazások közötti program, amely: biztosítja az erőforrások optimális kihasználását elfedi a hardver sajátosságokat (~virtualizáció)

Visszatekintés Operációs rendszer a számítógép hardver elemei és az alkalmazások közötti program, amely: biztosítja az erőforrások optimális kihasználását elfedi a hardver sajátosságokat (~virtualizáció) Ma szinte kizárólag multiprogramozott rendszerek kötegelt (erőforrás kihasználásra optimalizál) és időosztásos rendszerek (válaszidőkre optimalizál)

Visszatekintés Operációs rendszer a számítógép hardver elemei és az alkalmazások közötti program, amely: biztosítja az erőforrások optimális kihasználását elfedi a hardver sajátosságokat (~virtualizáció) Ma szinte kizárólag multiprogramozott rendszerek kötegelt (erőforrás kihasználásra optimalizál) és időosztásos rendszerek (válaszidőkre optimalizál) Terminológia ma kicsit más Szerverek: több, párhuzamos kérés egy időben Desktop (PC)-k: egy felhasználó, több program

Visszatekintés (folyt) Változások okai: Új hardver technológiák (SMP, RAID) Hardverek teljesítmény jellemzőinek abszolút és relatív változása Egyéb hardver sajátosságok (pl. SSD, NUMA) Felhasználási mód, funkciók Versenytársak...

Visszatekintés (folyt) Változások okai: SMP Új hardver Uniprocesszoros technológiák rendszerekben (SMP, RAID) több program Hardverek egyidejű teljesítmény futtatása látszólagos, jellemzőinek egy abszolút időpillanatban és relatív egy változása aktív program van (ez lehet oprendszer kód is). Multiprocesszoros esetben valós párhuzamosság Egyéb jelenik hardver meg, ami sajátosságok jelentősen (pl. bonyolítja SSD, a NUMA) működést. Felhasználási mód, funkciók Versenytársak...

Visszatekintés (folyt) Változások okai: Új hardver technológiák (SMP, RAID) Hardverek teljesítmény jellemzőinek abszolút és relatív változása Egyéb hardver sajátosságok (pl. SSD, NUMA) Felhasználási mód, funkciók Versenytársak...

Visszatekintés (folyt) Változások okai: Teljesítmény jellemzők Új hardver Abszolút technológiák változás (példák): (SMP, RAID) Hardverek - Hálózat teljesítmény 10Mbit/s-ről jellemzőinek 1Gbit/s-re (és abszolút tovább), és relatív - Szalagok változása (1999 DLT: 3MB/s, 2007 LTO-4: 120MB/s) Egyéb hardver sajátosságok (pl. SSD, NUMA) Felhasználási mód, funkciók Versenytársak...

Visszatekintés (folyt) Változások okai: Teljesítmény jellemzők Új hardver Abszolút technológiák változás (példák): (SMP, RAID) Hardverek - Hálózat teljesítmény 10Mbit/s-ről jellemzőinek 1Gbit/s-re (és abszolút tovább), és relatív - Szalagok változása (1999 DLT: 3MB/s, 2007 LTO-4: 120MB/s) Relatív változás (példa): Egyéb - Diszk hardver és memória sajátosságok teljesítmény, (pl. SSD, méret NUMA) és árviszonya Felhasználási miatt korábban mód, a kis funkciók memória és intenzív diszk Versenytársak... használat volt a jellemző. Ma azonban a telepített memória mennyiség nagy, a sebesség különbség jelentősen megnőtt - így a régi algoritmusok nem megfelőek...

Visszatekintés (folyt) Változások okai: Új hardver technológiák (SMP, RAID) Hardverek teljesítmény jellemzőinek abszolút és relatív változása Egyéb hardver sajátosságok (pl. SSD, NUMA) Felhasználási mód, funkciók Versenytársak...

Visszatekintés (folyt) Változások okai: Egyéb Új hardver NUMA: a technológiák hagyományos (SMP, memóriák RAID) elérési ideje Hardverek címfüggetlen, teljesítmény amit ki is jellemzőinek használunk a abszolút memória és kezelő relatív megoldásokban. változása A NUMA rendszerekben nem... Egyéb hardver sajátosságok (pl. SSD, NUMA) Felhasználási mód, funkciók Versenytársak...

Visszatekintés (folyt) Változások okai: Egyéb Új hardver NUMA: a technológiák hagyományos (SMP, memóriák RAID) elérési ideje Hardverek címfüggetlen, teljesítmény amit ki is jellemzőinek használunk a abszolút memória és kezelő relatív megoldásokban. változása A NUMA rendszerekben nem... SSD: a hagyományos diszkek esetén az átvitel Egyéb helyfüggő hardver (fejmozgások), sajátosságok amelyekkel (pl. SSD, a NUMA) különféle Felhasználási algoritmusok mód, számolnak. funkciók Az SSD-k esetében nincs Versenytársak... mozgó alkatrész...

Visszatekintés (folyt) Változások okai: Új hardver technológiák (SMP, RAID) Hardverek teljesítmény jellemzőinek abszolút és relatív változása Egyéb hardver sajátosságok (pl. SSD, NUMA) Felhasználási mód, funkciók Versenytársak...

A továbbiakban Programok és erőforrások dinamikus összerendelése folyamatok Tárgyalás időbeli fejlődést követ: Egy processzor, nincsenek szálak Több (szimmetrikus) processzor Több szál (több processzoron) Továbbiakban: Operációs rendszeri megvalósítási modellek Folyamatok és erőforrások összerendelése CPU, memória, I/O ütemezések Együttműködés, verseny, problémák

Folyamatok Mi a folyamat? Multiprogramozott operációs rendszerek egyik alapfogalma Először a Multics rendszer fejlesztői használták (60-as évek) Jelentése (egyik): a program végrehajtás alatt álló példánya

Program végrehajtása alatt álló A program futásához legalább az aktuálisan végrehajtandó utasításoknak és az általuk kezelt adatoknak a memóriában kell lennie A program futása során több-kevesebb I/O eszközt szeretne használni (írni, olvasni), ezeket az operációs rendszer szolgáltatja a programoknak Ahhoz, hogy a program valóban fusson, a fenti feltételeken (memória, I/O) túl a processzorhoz is hozzáférést kell kapjon

Folyamatok

Folyamatok

Folyamatok

Folyamatok

Folyamatok

Program végrehajtás alatt álló A folyamat leírható: Terület a központi memóriában (kód, adat, stack) Adatok és státuszinformációk a processzor regisztereiben Egyéb státuszinformációk (pl. erőforrásokkal kapcsolatos) Egy végrehajtási szál (most éppen melyik utasítást kell végrehajtani) Kiindulás (most): az operációs rendszerek folyamatok szintjén ütemeznek (de már nem ) Folyamat váltáskor a teljes folyamat környezetet meg kell őrizni ez biztosítja a folytathatóságot!

Program végrehajtás alatt álló A folyamat leírható: Terület a központi memóriában (kód, adat, stack) Adatok és státuszinformációk a processzor regisztereiben Egyéb státuszinformációk (pl. erőforrásokkal kapcsolatos) Egy végrehajtási szál (most éppen melyik utasítást kell végrehajtani) Kiindulás (most): az operációs rendszerek folyamatok szintjén ütemeznek (de már nem ) Folyamat váltáskor a teljes folyamat környezetet meg kell őrizni ez biztosítja a folytathatóságot!

Program végrehajtás alatt álló A folyamat leírható: Terület a központi memóriában (kód, adat, stack) Adatok és státuszinformációk a processzor regisztereiben Egyéb státuszinformációk (pl. erőforrásokkal kapcsolatos) Egy végrehajtási szál (most éppen melyik utasítást kell végrehajtani) Kiindulás (most): az operációs rendszerek folyamatok szintjén ütemeznek (de már nem ) Folyamat váltáskor a teljes folyamat környezetet meg kell őrizni ez biztosítja a folytathatóságot!

Folyamatok állapotai A folyamatok és a processzorok közötti (dinamikus) összerendelésről az ütemező gondoskodik, a kiválasztást különféle ütemezési algoritmusok végzik A hatékony ütemezés megvalósítása értekében bevezetjük a folyamatok állapotának fogalmát A legegyszerűbb modell szerint egy folyamatnak két állapota lehet: Fut, azaz éppen birtokolja a processzort Nem fut

Kétállapotú modell

Kétállapotú modell

Kétállapotú modell Kritika: Nem tudjuk, hogy az éppen nem futó folyamat tudna-e futni egyáltalán

Három állapotú modell

Három állapotú modell

Három állapotú modell Kritika: Nem tudjuk, a blokkolt folyamat milyen (melyik) erőforrásra vár!

Három állapotú modell bővítés

Három állapotú modell bővítés Kritika: a folyamat létrehozása és megszüntetése nem végtelenül rövid tevékenység!

Öt állapotú modell

Hét állapotú modell

Valós állapot modellek (Unix)

Folyamatok közötti váltás Okai Időszelet letelte (Aktív Futásra kész) Blokkolódás I/O miatt (Aktív Blokkolt) Egyéb (pl. prioritások miatt) Megvalósítás (process switch) Az éppen futó folyamat összes fontos adatának (környezetének) elmentése A futásra kiválasztott folyamat környezetének visszaállítása Vezérlés átadása az újonnan kiválasztott folyamatnak

Folyamatok közötti váltás Okai Időszelet letelte (Aktív Futásra kész) Blokkolódás I/O miatt (Aktív Blokkolt) Egyéb (pl. prioritások miatt) Megvalósítás (process switch) Az éppen futó folyamat összes fontos adatának (környezetének) elmentése A futásra kiválasztott folyamat környezetének visszaállítása Vezérlés átadása az újonnan kiválasztott folyamatnak

Folyamatok közötti váltás Okai Időszelet letelte (Aktív Futásra kész) Blokkolódás I/O miatt (Aktív Blokkolt) Egyéb (pl. prioritások miatt) Megvalósítás (process switch) Az éppen futó folyamat összes fontos adatának (környezetének) elmentése A futásra kiválasztott folyamat környezetének visszaállítása Vezérlés átadása az újonnan kiválasztott folyamatnak

Folyamatváltás háttere A környezet mentés és visszaállítás minden esetben kernel kódot igényel A váltás során általában a memória táblákat (virtuális memória kezelés) is módosítani kell A folyamat váltás meglehetősen sok utasítás végrehajtását (CPU ciklus) igényli, drága tevékenység!

Mód váltás Folyamat váltás során az érintett folyamat állapota megváltozik, másik folyamat lesz aktív (futó) Bizonyos esetekben nem más folyamat, hanem a kernel kell, hogy fusson (pl. IRQ) A folyamat folytatásához szükséges adatok ilyenkor is mentendők, de ez kevesebb, mint a teljes környezet (kevésbé drága tevékenység)! Célszerű folyamat váltásról és mód váltásról külön beszélni!

Kernel kód futtatása (mód váltás)

Kernel kód futtatása (mód váltás) Mód váltás - kernel módba vált - kernel által használt adatokat menti - címtér nem változik, de kernel címtér elérhető - folyamat tovább futhat, státusza nem változik Folyamat váltás - folyamat minden adatát menteni kell - címtér változik - a folyamat státusza változik, más folyamat fog futni

Folyamatok létrehozása (Win)

Végrehajtható fájl Végrehajtható fájl típus Windows.exe Win16.exe MS-DOS.exe,.com,.pif MS-DOS.bat,.cmd POSIX kód OS/2 1.x kód Végrehajtás módja Közvetlenül Ntvdm.exe program Ntvdm.exe program Cmd.Exe Posix.exe Os2.exe

Folyamatok létrehozása (Unix) Teljesen eltérő megoldás (eléggé fura) A program indítása két részből áll Aktuális folyamat duplikálása (szülő-gyerek) Az indítandó program betöltése a gyerek folyamat helyére Sokat kritizált, de a mai napig élő megoldás

Folyamat duplikálás fork() mypid = fork() If(mypid == 0) { // Child printf( %ld I m the parent\n, getpid()) } else { // parent printf( %ld I m the parent\n, getpid()) }

Folyamat duplikálás fork() mypid = fork() If(mypid == 0) { // Child printf( %ld I m the parent\n, getpid()) } else { // parent printf( %ld I m the parent\n, getpid()) } mypid = fork() if(mypid == 0){ // child } else { // parent }

Folyamat duplikálás fork() mypid = fork() If(mypid == 0) { // Child printf( %ld I m the parent\n, getpid()) } else { // parent printf( %ld I m the parent\n, getpid()) } mypid = fork() if(mypid == 0){ // child } else { // parent }

Folyamat duplikálás fork() mypid = fork() If(mypid == 0) { // Child printf( %ld I m the parent\n, getpid()) } else { // parent printf( %ld I m the parent\n, getpid()) } mypid = fork() if(mypid == 0){ // child } else { // parent }

Folyamat duplikálás fork() mypid = fork() If(mypid == 0) { // Child mypid = fork() printf( %ld I m the parent\n, getpid()) } else { // parent printf( %ld I m the parent\n, } else getpid()) { } if(mypid == 0){ // child } else { // parent } mypid = fork() if(mypid == 0){ // child // parent }

Folyamat duplikálás fork() mypid = fork() If(mypid == 0) { // Child mypid = fork() printf( %ld I m the parent\n, getpid()) } else { // parent printf( %ld I m the parent\n, } else getpid()) { } if(mypid == 0){ // child } else { // parent } mypid = fork() if(mypid == 0){ // child // parent }

Folyamat duplikálás fork() mypid = fork() If(mypid == 0) { // Child mypid = fork() printf( %ld I m the parent\n, getpid()) } else { // parent printf( %ld I m the parent\n, } else getpid()) { } if(mypid == 0){ // child } else { // parent } mypid = fork() if(mypid == 0){ // child // parent }

fork() tovább int a = 1; int b = 2; If(fork() == 0) { printf( Gy:\t%d, %d\n,a,b); a += 2; printf( Gy:\t%d, %d\n,a,b); } else { printf( Sz:\t%d, %d\n,a,b); sleep(1); printf( Sz:\t%d, %d\n,a,b); }

fork() tovább int a = 1; int b = 2; If(fork() == 0) { printf( Gy:\t%d, %d\n,a,b); a += 2; printf( Gy:\t%d, %d\n,a,b); } else { printf( Sz:\t%d, %d\n,a,b); sleep(1); printf( Sz:\t%d, %d\n,a,b); } Gy: 1,2 Sz: 1,2 Gy: 3,2 Sz: 1,2

fork() A fork() hatására a teljes folyamat címterét és az erőforrás adatokat is duplikáljuk A duplikálás után a címterek függetlenek, a változók külön élnek (a kezdőérték ua.) A fájlokat mindkét folyamatból el lehet érni (ha mindkettőből írunk, akkor a kimenet összekeveredve jelenik meg)

exec() A fork() érdekes, de hogyan indítunk új programot? Az exec() hívás az éppen futó folyamat helyére tölt be (és indít el) egy programot A pid nem változik és az erőforrás leírók is öröklődnek (pl. így működik a pipe a shellben)

Folyamat-leírók Erőforrás menedzsment megvalósításához az operációs rendszernek elegendő információval kell rendelkeznie a folyamatok és az erőforrások mindenkori állapotáról Ezt OS különböző táblázatok fenntartásával valósítja meg. Tipikus táblázatok: Memória tábla (fizikai és VM is) I/O tábla Fájl tábla Folyamat tábla

Folyamat-leírók Memória tábla (fizikai és VM is) memória folyamat összerendelés, védelmi információk, VM információk I/O tábla Processz információ Státusz Memória info (pl. puffer terület) Fájl tábla Adattartalma attól függ, hogy a fájlkezelés feladatai milyen módon oszlanak meg az OS és az alkalmazás között Folyamat tábla

Folyamat-leírók A táblázatok függenek egymástól, hivatkoznak egymásra (pl. fájl és I/O, folyamat és mindegyik). A táblázatokat inicializálni kell, meg kell határozni határértékeket. Ez történhet: konfiguráció alapján (statikus) dinamikusan

Operációs rendszer végrehajtása Az operációs rendszer is egy program, amelyet a CPU hajt végre A teljes rendszer működtetéséért az OS felel, önmagát teljesen nem menedzselheti (tyúk vagy tojás) Operációs rendszer végrehajtási modellek Nonprocess kernel Folyamat címterében futó kód Folyamat alapú kernel

Modellek Nonprocess kernel Folyamatok fogalma kernel szinten nincs Kernel teljesen szeparált, saját törvényei szerint fut Folyamat címterében végrehajtott kernel kód Mernel nem folyamat alapú, (user) folyamatok címterében fut Minden folyamat címterében elérhető (folyamatok nem látják) Folyamat alapú kernel Kernelt is folyamatokként valósítjuk meg Kliens-szerver modell többprocesszoros rendszeren is hatékony Kell egy folyamat váltási funkció, ami a folyamatok alatt fut

Kernel kód futtatása folyamat címterében

Folyamat alapú kernel

Mikrokernelek miért? Operációs rendszerek fejlődése Teljesen monolitikus kód (több millió sor) Struktúrált felépítésű, rétegelt kód Mikrokernelek Miért nem eléggé jó a struktúrált kód? Kernel módban a súlyos hibák végzetesek Kernel kódot nehéz írni A növekvő funkcionalitás miatt egyre több és több kód kell(ene)!

Hogyan is működnek az OS funkciók? Különféle kernel funkciók (pl. lapcsere memóriakezelés esetén) Döntés (politika): lap helyének kiválasztása Végrehajtás: a tényleges lapbetöltés A végrehajtás tipikusan hardver közeli, de a döntés nem igazán ha megfelelő adatok rendelkezésre állnak, a döntési rész akár kernelen kívül is futhat(na)

Mikrokernel: A kernel csak az alapfunkciókat tartalmazza, a kód többi részét felhasználói módban futó szolgáltatások valósítják meg. Erősségei: Egységes interfész Bővíthető Flexibilis Hordozható Megbízható Elosztott rendszerek támogatása OO támogatása

Tipikus mikrokernel (alap)funkciók Alacsonyszintű memória menedzsment IPC IRQ kiszolgálás I/O kezelés (alacsony szinten)

Mikrokernel

Mikrokernel: A kernel csak az alapfunkciókat tartalmazza, a kód többi részét felhasználói módban futó szolgáltatások valósítják meg. Gyenge pontok: Kernel és felhasználói mód közötti váltás erőforrás igényes (lassúság) kernelbe épített funkciók aránya Teljesen új koncepció, gyakorlatilag nulláról újra kell írni a rendszereket Az igazán elterjedt rendszerekben tisztán nem igazán lehet találkozni vele